Player-by-player trace from JSON pipeline. Metric-by-metric comparison without wide horizontal table dependency.
Windows shown explicitly: Team recent form = latest 10 games from enhanced analysis. Player historical helpers = 75 games; balancing rates = 162 games (as implemented in services).
Savant layers shown explicitly: hitter Statcast quality, pitcher Statcast quality, and pitch movement from embedded data/all_players_stats.csv features.
Color guide: Red = final above baseline, Blue = final below baseline, Green = no difference.
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CHW 4 - 2 CLE | CHW | 0.660 | scoring_simulation.final_score | True |
| Simulation draw | CHW 4 - 1 CLE | CHW | - | reconciled_final_score | True |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6600 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | reconciled_final_score |
| 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.275 | 4.232 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 2 | 0.6600 | 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 | fundamental_edge_target_review | 4 | 2 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 2 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 1 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6086596645161292,
"base_low_score_probability": 0.41935483870967744,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.18930482580645175,
"confidence": 0.8257096000000002,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4514192000000004
},
"prediction": "low_scoring",
"expected_total_runs": 5,
"pre_simulation_expected_total_runs": 6.7,
"low_score_model_expected_total_runs": 6.7,
"final_simulation_total_runs": 5,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 86,
"near_bucket_sample_size": 14,
"medium_bucket_sample_size": 18,
"wide_bucket_sample_size": 86,
"global_sample_size": 88,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.5349,
"bayesian_hit_rate": 0.5288,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8269,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.5615,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "CLE",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172413793103449,
"runs_scored": 345,
"runs_allowed": 353,
"run_differential": -8,
"run_differential_per_game": -0.09195402298850575,
"available": true
},
"away": {
"team": "CHW",
"games": 85,
"wins": 45,
"losses": 40,
"win_pct": 0.5294117647058824,
"runs_scored": 410,
"runs_allowed": 385,
"run_differential": 25,
"run_differential_per_game": 0.29411764705882354,
"available": true
},
"run_differential_edge_per_game": -0.3861,
"win_pct_edge": -0.0122,
"quality_edge": -0.4043,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "CHW",
"guardrail_predicted_team": "CHW",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "CHW",
"output_opponent_team": "CLE",
"final_score_winner": "CHW",
"pre_simulation_winner": "CHW",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "CHW 4 - 2 CLE",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "CHW 4 - 1 CLE",
"winner": "CHW"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -1,
"total_run_delta": -1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 3,
"winner_quality_edge": 0.4043,
"winner": "CHW",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "CLE",
"games": 87,
"wins": 45,
"losses": 42,
"win_pct": 0.5172413793103449,
"runs_scored": 345,
"runs_allowed": 353,
"run_differential": -8,
"run_differential_per_game": -0.09195402298850575,
"available": true
},
"away": {
"team": "CHW",
"games": 85,
"wins": 45,
"losses": 40,
"win_pct": 0.5294117647058824,
"runs_scored": 410,
"runs_allowed": 385,
"run_differential": 25,
"run_differential_per_game": 0.29411764705882354,
"available": true
}
}
}{
"applied": true,
"raw_margin": -4.406,
"final_margin": -1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.4043,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 3.851,
"home_runs": 2.351
}
}{
"applied": false,
"raw_confidence": 0.561477,
"final_confidence": 0.561477,
"confidence_cap": 0.66,
"score_gap": 1.5,
"calibration_sample_size": 86,
"calibration_empirical_hit_rate": 0.5349,
"calibration_bayesian_hit_rate": 0.5288,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.4043,
"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": 4,
"home_runs": 2,
"score_text": "CHW 4 - 2 CLE",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "CHW 4 - 1 CLE",
"winner": "CHW"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -1,
"total_run_delta": -1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 3,
"winner_quality_edge": 0.4043,
"winner": "CHW",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 1,
"confidence": 0.66,
"home_win_probability": 0.33999999999999997,
"away_win_probability": 0.66,
"predicted_score_text": "CHW 4 - 1 CLE",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "CHW",
"original_runs": 4,
"run_delta": 0.1994,
"adjusted_runs": 4,
"lineup": {
"players_used": 8,
"total_weight": 28.0,
"quality": 0.18047745343625418,
"contact": 0.19515167612245735,
"power": 0.18710022480705377,
"discipline": 0.1338757257879282,
"xwoba": 0.32989285714285715,
"recent_xwoba": 0.32989285714285715,
"barrel": 8.132142857142856,
"ab_hard_contact": -0.4772199936548437,
"ab_bat_speed": 69.14414175955486,
"ab_strikeout_rate": 0.22879774359982694,
"available_players": 6,
"top_players": [
{
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "DH_678246",
"weight": 4.0,
"quality": 1.3198308957076426,
"contact": 1.3269954169425298,
"power": 1.5177412973320723,
"discipline": 0.9809814814814815,
"xwoba": 0.403,
"recent_xwoba": 0.403,
"barrel": 14.5,
"ab_hard_contact": 0.5534926133081141,
"ab_bat_speed": 72.40690402704291,
"ab_strikeout_rate": 0.18518518518518517,
"available": 1.0
},
{
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "DH_805367",
"weight": 4.0,
"quality": -0.5658310369465649,
"contact": -0.5606092703794077,
"power": -0.7228920728241335,
"discipline": 0.1742948717948719,
"xwoba": 0.286,
"recent_xwoba": 0.286,
"barrel": 4.4,
"ab_hard_contact": -0.8296509802921991,
"ab_bat_speed": 64.46452457264958,
"ab_strikeout_rate": 0.23237179487179488,
"available": 1.0
},
{
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "DH_695657",
"weight": 4.0,
"quality": 0.1988273228662923,
"contact": -0.1635454767964477,
"power": 0.9715999566452396,
"discipline": -0.7483818342151676,
"xwoba": 0.328,
"recent_xwoba": 0.328,
"barrel": 14.7,
"ab_hard_contact": 0.22285627576193273,
"ab_bat_speed": 74.60428497942387,
"ab_strikeout_rate": 0.2996913580246914,
"available": 1.0
},
{
"player_id": "643217",
"player_name": "Andrew Benintendi",
"position": "DH_643217",
"weight": 3.0,
"quality": 0.2856935278776904,
"contact": 0.3801515273922651,
"power": 0.6618124029523591,
"discipline": -0.4581746031746032,
"xwoba": 0.327,
"recent_xwoba": 0.327,
"barrel": 10.3,
"ab_hard_contact": 0.4263432971424169,
"ab_bat_speed": 67.71190740740741,
"ab_strikeout_rate": 0.3055555555555555,
"available": 1.0
},
{
"player_id": "671976",
"player_name": "Tristan Peters",
"position": "DH",
"weight": 3.0,
"quality": -0.25803127000420956,
"contact": -0.2308094046513859,
"power": -0.591875007963006,
"discipline": -0.03677579365079356,
"xwoba": 0.305,
"recent_xwoba": 0.305,
"barrel": 4.4,
"ab_hard_contact": -0.7350239687839306,
"ab_bat_speed": 63.24040798611111,
"ab_strikeout_rate": 0.22951388888888888,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "677944",
"player_name": "Slade Cecconi",
"quality": -0.3181805026117633,
"contact": -0.3109155738059525,
"command": -0.38085714285714295,
"movement": -0.4270965549661516,
"xwoba": 0.325,
"whiff": 20.9,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "CLE",
"original_runs": 2,
"run_delta": -0.1942,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": -0.07774576188472952,
"contact": -0.2392311092943505,
"power": -0.26322730960168683,
"discipline": 0.1272105842461503,
"xwoba": 0.29535483870967744,
"recent_xwoba": 0.29535483870967744,
"barrel": 5.787096774193548,
"ab_hard_contact": -0.17000241323189247,
"ab_bat_speed": 69.01846728176636,
"ab_strikeout_rate": 0.2028659646529793,
"available_players": 7,
"top_players": [
{
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "CF",
"weight": 4.0,
"quality": -0.5492179462536493,
"contact": -0.4321406705035603,
"power": -1.4697215305472158,
"discipline": 1.4489733893557424,
"xwoba": 0.302,
"recent_xwoba": 0.302,
"barrel": 0.4,
"ab_hard_contact": -0.7700496585633654,
"ab_bat_speed": 61.67715258325552,
"ab_strikeout_rate": 0.10462184873949579,
"available": 1.0
},
{
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"weight": 4.0,
"quality": -0.3213356211226816,
"contact": -0.16116213429536635,
"power": -0.7788655987308135,
"discipline": 0.2752273135669364,
"xwoba": 0.306,
"recent_xwoba": 0.306,
"barrel": 2.5,
"ab_hard_contact": -0.1312167365210326,
"ab_bat_speed": 69.15457023060797,
"ab_strikeout_rate": 0.1045822102425876,
"available": 1.0
},
{
"player_id": "800050",
"player_name": "Chase DeLauter",
"position": "DH",
"weight": 4.0,
"quality": 0.5055353508249684,
"contact": 0.847594007789091,
"power": 0.14201791654247203,
"discipline": 0.791047619047619,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 5.5,
"ab_hard_contact": 0.6453107118018183,
"ab_bat_speed": 69.56625277777778,
"ab_strikeout_rate": 0.10483333333333332,
"available": 1.0
},
{
"player_id": "696135",
"player_name": "Kahlil Watson",
"position": "RF",
"weight": 3.0,
"quality": 0.0,
"contact": -0.15960000000000016,
"power": 0.9589333333333333,
"discipline": -1.1720714285714287,
"xwoba": 0.303,
"recent_xwoba": 0.303,
"barrel": 14.3,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26074450904393,
"ab_strikeout_rate": 0.221,
"available": 0.0
},
{
"player_id": "694876",
"player_name": "Cooper Ingle",
"position": "LF",
"weight": 3.0,
"quality": -0.0,
"contact": -0.9297142857142854,
"power": -0.9249999999999999,
"discipline": 1.161142857142857,
"xwoba": 0.228,
"recent_xwoba": 0.228,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26074450904393,
"ab_strikeout_rate": 0.221,
"available": 0.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "663436",
"player_name": "Davis Martin",
"quality": 0.03483629786358948,
"contact": -0.10729256740055504,
"command": 0.25042857142857133,
"movement": 0.30312544505261424,
"xwoba": 0.306,
"whiff": 26.9,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 2,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 2,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.4043,
"recent_form_edge_home_minus_away": -0.968,
"pitcher_matchup_edge_home_minus_away": -0.1392,
"composite_home_edge": -1.1306,
"existing_home_win_probability": 0.4385,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 1.1306
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"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": "CHW 4 - 2 CLE",
"confidence": 0.66,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "CHW 4 - 2 CLE",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 1,
"score_text": "CHW 4 - 1 CLE",
"winner": "CHW"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": -1,
"total_run_delta": -1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 2,
"final_margin": 3,
"winner_quality_edge": 0.4043,
"winner": "CHW",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "CHW",
"display_confidence": 0.66,
"internal_fair_probability": 0.6259,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.1019,
"moneyline_fit": "press",
"margin_fit": "volatile_margin_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 3,
"winner_quality_edge": 0.4043,
"winner_recent_form_edge": 0.968,
"winner_pitcher_matchup_edge": 0.1392,
"winner_simulation_draw_rate": 0.4375,
"blowout_draw_rate_margin_4_plus": 0.125,
"high_total_draw_rate_11_plus": 0.4375,
"low_total_draw_rate_6_or_less": 0.25,
"total_runs_spread": {
"min": 1,
"median": 10,
"max": 14,
"range": 13
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away CHW | True | 1.0225 | 1.0253 | 0.8889 | 8 | 1 |
| Home CLE | True | 0.9967 | 0.9967 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Tristan Peters | 46 | 0.9872 | -0.1712 | negative_batter_regression | 0.3050 | 0.2560 | 0.3700 | 4.40 | 29.40 | 86.70 | 15.70 | 22.20 | 18 | 6.90 | -1.0857 |
| DH_695657 | Colson Montgomery | 64 | 1.0410 | 0.5464 | neutral | 0.3280 | 0.2170 | 0.4550 | 14.70 | 44.70 | 89.80 | 22.20 | 37.70 | 32 | 8.90 | -0.3714 |
| DH_805367 | Chase Meidroth | 80 | 0.9600 | -0.5339 | negative_batter_regression | 0.2860 | 0.2280 | 0.3220 | 4.40 | 34.20 | 87.70 | 7 | 20.20 | 24.50 | 9.40 | -1.0857 |
| DH_694378 | Jacob Gonzalez | 249 | 0.9920 | -0.1063 | neutral | 0.3050 | 0.2330 | 0.3530 | 1.90 | 42.60 | 88.80 | 18.20 | 21.30 | 23.50 | 9.40 | -0.6286 |
| DH_643217 | Andrew Benintendi | 441 | 1.0370 | 0.4928 | neutral | 0.3270 | 0.2570 | 0.4400 | 10.30 | 48.60 | 89.70 | 16.40 | 29.20 | 25.50 | 7.60 | 0.2857 |
| DH_678246 | Miguel Vargas | 19 | 1.1344 | 1.7918 | positive_batter_regression | 0.4030 | 0.2790 | 0.5500 | 14.50 | 46 | 90.20 | 19.50 | 19.80 | 16.40 | 13.70 | 1.0286 |
| DH_695731 | Braden Montgomery | 265 | 1.0031 | 0.0411 | neutral | 0.3090 | 0.2480 | 0.3730 | 5.70 | 43.40 | 90 | 6.30 | 26.40 | 23.80 | 10 | -0.3429 |
| DH_803011 | Sam Antonacci | 72 | 1.0477 | 0.6355 | neutral | 0.3740 | 0.3020 | 0.4410 | 6.90 | 36.80 | 87.90 | 12 | 15.30 | 14.60 | 7.50 | 0.1714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Chase DeLauter | 174 | 1.0448 | 0.5970 | neutral | 0.3400 | 0.2810 | 0.4100 | 5.50 | 42.10 | 90.40 | 13.90 | 15.50 | 13.20 | 9.70 | 0.0571 |
| 2B | Travis Bazzana | 113 | 0.9925 | -0.1003 | neutral | 0.3060 | 0.2300 | 0.3590 | 4.50 | 36.50 | 88.40 | 13 | 26 | 20.40 | 11.50 | -0.6857 |
| RF | Kahlil Watson | 324 | 1.0140 | 0.1866 | neutral | 0.3030 | 0.2400 | 0.4540 | 14.30 | 42.90 | 92.80 | 12.50 | 33.80 | 32.60 | 2.30 | -0.4286 |
| 1B | Kyle Manzardo | 218 | 1.0122 | 0.1620 | neutral | 0.3130 | 0.2270 | 0.3910 | 11.70 | 40.90 | 88.90 | 19.10 | 30.50 | 31.60 | 10.30 | -0.1429 |
| SS | Brayan Rocchio | 42 | 0.9832 | -0.2240 | neutral | 0.3060 | 0.2550 | 0.3520 | 2.50 | 31 | 86.30 | 13 | 23.40 | 13.50 | 7.80 | -0.4857 |
| LF | Cooper Ingle | 426 | 0.9621 | -0.5050 | neutral | 0.2280 | 0.1040 | 0.1210 | 0 | 75 | 95.70 | -7.80 | 20 | 50 | 21.40 | 0.4000 |
| 3B | Gabriel Arias | 282 | 0.9885 | -0.1533 | neutral | 0.2580 | 0.2110 | 0.3630 | 10.50 | 50 | 91.60 | 7 | 45.90 | 41.40 | 4.30 | -0.1143 |
| C | Patrick Bailey | 405 | 0.9985 | -0.0202 | positive_batter_regression | 0.2780 | 0.2230 | 0.3580 | 6.10 | 37.90 | 89.90 | 11 | 27.80 | 25.60 | 7 | 1.8286 |
| CF | Steven Kwan | 155 | 0.9745 | -0.3400 | neutral | 0.3020 | 0.2480 | 0.3080 | 0.40 | 9.90 | 83.20 | 14.80 | 8.70 | 10.30 | 12.50 | 0.8000 |
{
"home": {
"applied": true,
"offense_factor": 0.9967,
"raw_average_factor": 0.9967,
"team_espn_average_rank": 237.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "800050",
"player_name": "Chase DeLauter",
"offense_factor": 1.0448,
"quality_score": 0.597,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "800050",
"espn_id": 4619649,
"player_name": "Chase DeLauter",
"team": "CLE",
"role": "batter",
"espn_rank": 174,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 174,
"gp_value": 70.0,
"gp_rank": 167,
"ab_value": 258.0,
"ab_rank": 123,
"r_value": 27.0,
"r_rank": 184,
"h_value": 71.0,
"h_rank": 91,
"avg_value": 0.2751937,
"avg_rank": 38.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 38.0,
"rbi_rank": 84,
"tb_value": 109.0,
"tb_rank": 776,
"bb_value": 28.0,
"bb_rank": 97,
"so_value": 38.0,
"so_rank": 246,
"sb_value": 3.0,
"sb_rank": 169,
"obp_value": 0.34375,
"obp_rank": "53",
"slg_value": 0.4224806,
"slg_rank": "88",
"ops_value": 0.7662306,
"ops_rank": 35.0,
"war_value": 0.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 13.2,
"bb_percent": 9.7,
"woba": 0.338,
"xwoba": 0.34,
"xba": 0.281,
"xslg": 0.41,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 13.9,
"whiff_percent": 15.5,
"swing_percent": 42.7
},
"components": {
"expected_quality": 0.7145,
"regression_edge": 0.0571,
"xwoba_edge": 1.0571,
"xba_edge": 1.2,
"xslg_edge": 0.5571,
"barrel_edge": -0.3111,
"hard_hit_edge": 0.5714,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "683953",
"player_name": "Travis Bazzana",
"offense_factor": 0.9925,
"quality_score": -0.1003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683953",
"espn_id": 5007707,
"player_name": "Travis Bazzana",
"team": "CLE",
"role": "batter",
"espn_rank": 113,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 113,
"gp_value": 55.0,
"gp_rank": 253,
"ab_value": 204.0,
"ab_rank": 188,
"r_value": 26.0,
"r_rank": 191,
"h_value": 50.0,
"h_rank": 191,
"avg_value": 0.245098,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 25.0,
"rbi_rank": 194,
"tb_value": 84.0,
"tb_rank": 953,
"bb_value": 27.0,
"bb_rank": 109,
"so_value": 48.0,
"so_rank": 184,
"sb_value": 12.0,
"sb_rank": 30,
"obp_value": 0.3361702,
"obp_rank": "-",
"slg_value": 0.4117647,
"slg_rank": "-",
"ops_value": 0.7479349,
"ops_rank": null,
"war_value": 1.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 20.4,
"bb_percent": 11.5,
"woba": 0.33,
"xwoba": 0.306,
"xba": 0.23,
"xslg": 0.359,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 36.5,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 13.0,
"whiff_percent": 26.0,
"swing_percent": 44.4
},
"components": {
"expected_quality": -0.1238,
"regression_edge": -0.6857,
"xwoba_edge": 0.0857,
"xba_edge": -0.2571,
"xslg_edge": -0.1714,
"barrel_edge": -0.5333,
"hard_hit_edge": -0.2286,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "696135",
"player_name": "Kahlil Watson",
"offense_factor": 1.014,
"quality_score": 0.1866,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696135",
"espn_id": 4872684,
"player_name": "Kahlil Watson",
"team": "CLE",
"role": "batter",
"espn_rank": 324,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 324,
"gp_value": 13.0,
"gp_rank": 487,
"ab_value": 42.0,
"ab_rank": 459,
"r_value": 3.0,
"r_rank": 468,
"h_value": 12.0,
"h_rank": 423,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 375,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 8.0,
"rbi_rank": 374,
"tb_value": 18.0,
"tb_rank": 2384,
"bb_value": 1.0,
"bb_rank": 491,
"so_value": 14.0,
"so_rank": 435,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3023255,
"obp_rank": "-",
"slg_value": 0.4285714,
"slg_rank": "-",
"ops_value": 0.7308969,
"ops_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 32.6,
"bb_percent": 2.3,
"woba": 0.318,
"xwoba": 0.303,
"xba": 0.24,
"xslg": 0.454,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 92.8,
"launch_angle_avg": 12.5,
"whiff_percent": 33.8,
"swing_percent": 48.4
},
"components": {
"expected_quality": 0.552,
"regression_edge": -0.4286,
"xwoba_edge": 0.0,
"xba_edge": 0.0286,
"xslg_edge": 1.1857,
"barrel_edge": 1.6444,
"hard_hit_edge": 0.6857,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": 1.0167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "700932",
"player_name": "Kyle Manzardo",
"offense_factor": 1.0122,
"quality_score": 0.162,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700932",
"espn_id": 4917927,
"player_name": "Kyle Manzardo",
"team": "CLE",
"role": "batter",
"espn_rank": 218,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 218,
"gp_value": 77.0,
"gp_rank": 127,
"ab_value": 238.0,
"ab_rank": 151,
"r_value": 29.0,
"r_rank": 167,
"h_value": 55.0,
"h_rank": 163,
"avg_value": 0.2310924,
"avg_rank": 129.0,
"2b_value": 7.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 10.0,
"hr_rank": 94,
"rbi_value": 29.0,
"rbi_rank": 161,
"tb_value": 94.0,
"tb_rank": 858,
"bb_value": 28.0,
"bb_rank": 97,
"so_value": 86.0,
"so_rank": 29,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3198529,
"obp_rank": "101",
"slg_value": 0.3949579,
"slg_rank": "108",
"ops_value": 0.7148108,
"ops_rank": 209.0,
"war_value": 0.51,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 165.0,
"k_percent": 31.6,
"bb_percent": 10.3,
"woba": 0.318,
"xwoba": 0.313,
"xba": 0.227,
"xslg": 0.391,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 19.1,
"whiff_percent": 30.5,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.2745,
"regression_edge": -0.1429,
"xwoba_edge": 0.2857,
"xba_edge": -0.3429,
"xslg_edge": 0.2857,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.4,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"offense_factor": 0.9832,
"quality_score": -0.224,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677587",
"espn_id": 41217,
"player_name": "Brayan Rocchio",
"team": "CLE",
"role": "batter",
"espn_rank": 42,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 42,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 282.0,
"ab_rank": 101,
"r_value": 34.0,
"r_rank": 128,
"h_value": 76.0,
"h_rank": 73,
"avg_value": 0.2695035,
"avg_rank": 49.0,
"2b_value": 13.0,
"2b_rank": 101,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 34.0,
"rbi_rank": 110,
"tb_value": 108.0,
"tb_rank": 859,
"bb_value": 25.0,
"bb_rank": 123,
"so_value": 43.0,
"so_rank": 221,
"sb_value": 14.0,
"sb_rank": 21,
"obp_value": 0.340694,
"obp_rank": "62",
"slg_value": 0.3829787,
"slg_rank": "118",
"ops_value": 0.7236727,
"ops_rank": 56.0,
"war_value": 2.44,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 13.5,
"bb_percent": 7.8,
"woba": 0.323,
"xwoba": 0.306,
"xba": 0.255,
"xslg": 0.352,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 31.0,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 13.0,
"whiff_percent": 23.4,
"swing_percent": 50.4
},
"components": {
"expected_quality": -0.2118,
"regression_edge": -0.4857,
"xwoba_edge": 0.0857,
"xba_edge": 0.4571,
"xslg_edge": -0.2714,
"barrel_edge": -0.9778,
"hard_hit_edge": -1.0143,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694876",
"player_name": "Cooper Ingle",
"offense_factor": 0.9621,
"quality_score": -0.505,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694876",
"espn_id": 4736964,
"player_name": "Cooper Ingle",
"team": "CLE",
"role": "batter",
"espn_rank": 426,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 426,
"gp_value": 4.0,
"gp_rank": 558,
"ab_value": 11.0,
"ab_rank": 547,
"r_value": 1.0,
"r_rank": 524,
"h_value": 1.0,
"h_rank": 549,
"avg_value": 0.090909,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 508,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 2.0,
"rbi_rank": 488,
"tb_value": 1.0,
"tb_rank": 2877,
"bb_value": 3.0,
"bb_rank": 439,
"so_value": 7.0,
"so_rank": 497,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2857142,
"obp_rank": "-",
"slg_value": 0.090909,
"slg_rank": "-",
"ops_value": 0.3766232,
"ops_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 50.0,
"bb_percent": 21.4,
"woba": 0.214,
"xwoba": 0.228,
"xba": 0.104,
"xslg": 0.121,
"sweet_spot_percent": 0.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 75.0,
"exit_velocity_avg": 95.7,
"launch_angle_avg": -7.8,
"whiff_percent": 20.0,
"swing_percent": 37.3
},
"components": {
"expected_quality": -1.3701,
"regression_edge": 0.4,
"xwoba_edge": -2.1429,
"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": "3B",
"player_id": "672356",
"player_name": "Gabriel Arias",
"offense_factor": 0.9885,
"quality_score": -0.1533,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672356",
"espn_id": 40344,
"player_name": "Gabriel Arias",
"team": "CLE",
"role": "batter",
"espn_rank": 282,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 282,
"gp_value": 22.0,
"gp_rank": 426,
"ab_value": 67.0,
"ab_rank": 409,
"r_value": 5.0,
"r_rank": 437,
"h_value": 14.0,
"h_rank": 404,
"avg_value": 0.2089552,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 412,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 6.0,
"rbi_rank": 414,
"tb_value": 25.0,
"tb_rank": 2057,
"bb_value": 3.0,
"bb_rank": 439,
"so_value": 29.0,
"so_rank": 306,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.2428571,
"obp_rank": "-",
"slg_value": 0.3731343,
"slg_rank": "-",
"ops_value": 0.6159914,
"ops_rank": null,
"war_value": 0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 30.0,
"k_percent": 41.4,
"bb_percent": 4.3,
"woba": 0.262,
"xwoba": 0.258,
"xba": 0.211,
"xslg": 0.363,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 7.0,
"whiff_percent": 45.9,
"swing_percent": 50.8
},
"components": {
"expected_quality": -0.3775,
"regression_edge": -0.1143,
"xwoba_edge": -1.2857,
"xba_edge": -0.8,
"xslg_edge": -0.1143,
"barrel_edge": 0.8,
"hard_hit_edge": 1.7,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": -0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "672275",
"player_name": "Patrick Bailey",
"offense_factor": 0.9985,
"quality_score": -0.0202,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "672275",
"espn_id": 4345843,
"player_name": "Patrick Bailey",
"team": "CLE",
"role": "batter",
"espn_rank": 405,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 405,
"gp_value": 58.0,
"gp_rank": 229,
"ab_value": 158.0,
"ab_rank": 260,
"r_value": 13.0,
"r_rank": 331,
"h_value": 27.0,
"h_rank": 314,
"avg_value": 0.170886,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 375,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 12.0,
"rbi_rank": 324,
"tb_value": 38.0,
"tb_rank": 1884,
"bb_value": 12.0,
"bb_rank": 278,
"so_value": 44.0,
"so_rank": 212,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.2280701,
"obp_rank": "-",
"slg_value": 0.2405063,
"slg_rank": "-",
"ops_value": 0.4685764,
"ops_rank": null,
"war_value": -0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 106.0,
"k_percent": 25.6,
"bb_percent": 7.0,
"woba": 0.214,
"xwoba": 0.278,
"xba": 0.223,
"xslg": 0.358,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 37.9,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 11.0,
"whiff_percent": 27.8,
"swing_percent": 50.6
},
"components": {
"expected_quality": -0.3464,
"regression_edge": 1.8286,
"xwoba_edge": -0.7143,
"xba_edge": -0.4571,
"xslg_edge": -0.1857,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.0286,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "680757",
"player_name": "Steven Kwan",
"offense_factor": 0.9745,
"quality_score": -0.34,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680757",
"espn_id": 41996,
"player_name": "Steven Kwan",
"team": "CLE",
"role": "batter",
"espn_rank": 155,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 155,
"gp_value": 79.0,
"gp_rank": 109,
"ab_value": 271.0,
"ab_rank": 109,
"r_value": 34.0,
"r_rank": 128,
"h_value": 58.0,
"h_rank": 145,
"avg_value": 0.2140221,
"avg_rank": 147.0,
"2b_value": 9.0,
"2b_rank": 191,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 13.0,
"rbi_rank": 312,
"tb_value": 72.0,
"tb_rank": 1672,
"bb_value": 40.0,
"bb_rank": 34,
"so_value": 33.0,
"so_rank": 286,
"sb_value": 3.0,
"sb_rank": 169,
"obp_value": 0.3196202,
"obp_rank": "101",
"slg_value": 0.2656826,
"slg_rank": "160",
"ops_value": 0.5853028,
"ops_rank": 59.0,
"war_value": 0.96,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 10.3,
"bb_percent": 12.5,
"woba": 0.274,
"xwoba": 0.302,
"xba": 0.248,
"xslg": 0.308,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 0.4,
"hard_hit_percent": 9.9,
"exit_velocity_avg": 83.2,
"launch_angle_avg": 14.8,
"whiff_percent": 8.7,
"swing_percent": 36.1
},
"components": {
"expected_quality": -0.5255,
"regression_edge": 0.8,
"xwoba_edge": -0.0286,
"xba_edge": 0.2571,
"xslg_edge": -0.9,
"barrel_edge": -1.4444,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.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.0225,
"raw_average_factor": 1.0253,
"team_espn_average_rank": 154.5,
"coverage_weight": 0.8889,
"covered_batters": 8,
"missing_batters": 1,
"players": [
{
"position": "DH",
"player_id": "671976",
"player_name": "Tristan Peters",
"offense_factor": 0.9872,
"quality_score": -0.1712,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "671976",
"espn_id": 5085893,
"player_name": "Tristan Peters",
"team": "CHW",
"role": "batter",
"espn_rank": 46,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 46,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 220.0,
"ab_rank": 168,
"r_value": 31.0,
"r_rank": 148,
"h_value": 63.0,
"h_rank": 124,
"avg_value": 0.2863636,
"avg_rank": null,
"2b_value": 17.0,
"2b_rank": 32,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 4.0,
"hr_rank": 238,
"rbi_value": 30.0,
"rbi_rank": 152,
"tb_value": 96.0,
"tb_rank": 922,
"bb_value": 17.0,
"bb_rank": 211,
"so_value": 44.0,
"so_rank": 212,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3443983,
"obp_rank": "-",
"slg_value": 0.4363636,
"slg_rank": "-",
"ops_value": 0.7807619,
"ops_rank": null,
"war_value": 2.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 18.0,
"bb_percent": 6.9,
"woba": 0.343,
"xwoba": 0.305,
"xba": 0.256,
"xslg": 0.37,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 29.4,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 15.7,
"whiff_percent": 22.2,
"swing_percent": 56.7
},
"components": {
"expected_quality": -0.1338,
"regression_edge": -1.0857,
"xwoba_edge": 0.0571,
"xba_edge": 0.4857,
"xslg_edge": -0.0143,
"barrel_edge": -0.5556,
"hard_hit_edge": -1.2429,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": 0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_695657",
"player_id": "695657",
"player_name": "Colson Montgomery",
"offense_factor": 1.041,
"quality_score": 0.5464,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695657",
"espn_id": 4872685,
"player_name": "Colson Montgomery",
"team": "CHW",
"role": "batter",
"espn_rank": 64,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 64,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 299.0,
"ab_rank": 81,
"r_value": 40.0,
"r_rank": 83,
"h_value": 66.0,
"h_rank": 113,
"avg_value": 0.2207357,
"avg_rank": 143.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 21.0,
"hr_rank": 8,
"rbi_value": 49.0,
"rbi_rank": 35,
"tb_value": 144.0,
"tb_rank": 580,
"bb_value": 30.0,
"bb_rank": 79,
"so_value": 108.0,
"so_rank": 8,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3106508,
"obp_rank": "117",
"slg_value": 0.4816053,
"slg_rank": "35",
"ops_value": 0.7922561,
"ops_rank": 82.0,
"war_value": 2.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 221.0,
"k_percent": 32.0,
"bb_percent": 8.9,
"woba": 0.341,
"xwoba": 0.328,
"xba": 0.217,
"xslg": 0.455,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 14.7,
"hard_hit_percent": 44.7,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 22.2,
"whiff_percent": 37.7,
"swing_percent": 52.7
},
"components": {
"expected_quality": 0.6958,
"regression_edge": -0.3714,
"xwoba_edge": 0.7143,
"xba_edge": -0.6286,
"xslg_edge": 1.2,
"barrel_edge": 1.7333,
"hard_hit_edge": 0.9429,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_805367",
"player_id": "805367",
"player_name": "Chase Meidroth",
"offense_factor": 0.96,
"quality_score": -0.5339,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "805367",
"espn_id": 5136929,
"player_name": "Chase Meidroth",
"team": "CHW",
"role": "batter",
"espn_rank": 80,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 80,
"gp_value": 83.0,
"gp_rank": 48,
"ab_value": 309.0,
"ab_rank": 52,
"r_value": 50.0,
"r_rank": 33,
"h_value": 84.0,
"h_rank": 38,
"avg_value": 0.2718446,
"avg_rank": 45.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 27.0,
"rbi_rank": 178,
"tb_value": 117.0,
"tb_rank": 1072,
"bb_value": 33.0,
"bb_rank": 61,
"so_value": 86.0,
"so_rank": 29,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3439306,
"obp_rank": "53",
"slg_value": 0.3786407,
"slg_rank": "119",
"ops_value": 0.7225713,
"ops_rank": 172.0,
"war_value": 1.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 24.5,
"bb_percent": 9.4,
"woba": 0.324,
"xwoba": 0.286,
"xba": 0.228,
"xslg": 0.322,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 34.2,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 7.0,
"whiff_percent": 20.2,
"swing_percent": 40.6
},
"components": {
"expected_quality": -0.4469,
"regression_edge": -1.0857,
"xwoba_edge": -0.4857,
"xba_edge": -0.3143,
"xslg_edge": -0.7,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.5571,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_694378",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"offense_factor": 0.992,
"quality_score": -0.1063,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694378",
"espn_id": 4720990,
"player_name": "Jacob Gonzalez",
"team": "CHW",
"role": "batter",
"espn_rank": 249,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 249,
"gp_value": 25.0,
"gp_rank": 412,
"ab_value": 75.0,
"ab_rank": 389,
"r_value": 11.0,
"r_rank": 354,
"h_value": 19.0,
"h_rank": 367,
"avg_value": 0.2533333,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 17.0,
"rbi_rank": 269,
"tb_value": 29.0,
"tb_rank": 2147,
"bb_value": 8.0,
"bb_rank": 351,
"so_value": 20.0,
"so_rank": 390,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3411764,
"obp_rank": "-",
"slg_value": 0.3866666,
"slg_rank": "-",
"ops_value": 0.727843,
"ops_rank": null,
"war_value": 0.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 23.5,
"bb_percent": 9.4,
"woba": 0.327,
"xwoba": 0.305,
"xba": 0.233,
"xslg": 0.353,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 1.9,
"hard_hit_percent": 42.6,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 18.2,
"whiff_percent": 21.3,
"swing_percent": 52.5
},
"components": {
"expected_quality": -0.1724,
"regression_edge": -0.6286,
"xwoba_edge": 0.0571,
"xba_edge": -0.1714,
"xslg_edge": -0.2571,
"barrel_edge": -1.1111,
"hard_hit_edge": 0.6429,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.9833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_643217",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"offense_factor": 1.037,
"quality_score": 0.4928,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643217",
"espn_id": 34986,
"player_name": "Andrew Benintendi",
"team": "CHW",
"role": "batter",
"espn_rank": 441,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 441,
"gp_value": 76.0,
"gp_rank": 130,
"ab_value": 239.0,
"ab_rank": 148,
"r_value": 33.0,
"r_rank": 134,
"h_value": 58.0,
"h_rank": 145,
"avg_value": 0.2426778,
"avg_rank": 103.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 10.0,
"hr_rank": 94,
"rbi_value": 40.0,
"rbi_rank": 72,
"tb_value": 104.0,
"tb_rank": 597,
"bb_value": 20.0,
"bb_rank": 178,
"so_value": 67.0,
"so_rank": 95,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.2977099,
"obp_rank": "140",
"slg_value": 0.4351464,
"slg_rank": "72",
"ops_value": 0.7328563,
"ops_rank": 212.0,
"war_value": -0.15,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 25.5,
"bb_percent": 7.6,
"woba": 0.317,
"xwoba": 0.327,
"xba": 0.257,
"xslg": 0.44,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 16.4,
"whiff_percent": 29.2,
"swing_percent": 51.6
},
"components": {
"expected_quality": 0.7222,
"regression_edge": 0.2857,
"xwoba_edge": 0.6857,
"xba_edge": 0.5143,
"xslg_edge": 0.9857,
"barrel_edge": 0.7556,
"hard_hit_edge": 1.5,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.5333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_678246",
"player_id": "678246",
"player_name": "Miguel Vargas",
"offense_factor": 1.1344,
"quality_score": 1.7918,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "678246",
"espn_id": 42453,
"player_name": "Miguel Vargas",
"team": "CHW",
"role": "batter",
"espn_rank": 19,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 19,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 307.0,
"ab_rank": 60,
"r_value": 56.0,
"r_rank": 11,
"h_value": 75.0,
"h_rank": 75,
"avg_value": 0.2442996,
"avg_rank": 99.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 19.0,
"hr_rank": 14,
"rbi_value": 52.0,
"rbi_rank": 27,
"tb_value": 149.0,
"tb_rank": 358,
"bb_value": 50.0,
"bb_rank": 13,
"so_value": 60.0,
"so_rank": 120,
"sb_value": 11.0,
"sb_rank": 37,
"obp_value": 0.3571428,
"obp_rank": "39",
"slg_value": 0.485342,
"slg_rank": "32",
"ops_value": 0.8424848,
"ops_rank": 7.0,
"war_value": 3.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 234.0,
"k_percent": 16.4,
"bb_percent": 13.7,
"woba": 0.367,
"xwoba": 0.403,
"xba": 0.279,
"xslg": 0.55,
"sweet_spot_percent": 41.4,
"barrel_batted_rate": 14.5,
"hard_hit_percent": 46.0,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 19.5,
"whiff_percent": 19.8,
"swing_percent": 44.4
},
"components": {
"expected_quality": 1.9161,
"regression_edge": 1.0286,
"xwoba_edge": 2.5,
"xba_edge": 1.1429,
"xslg_edge": 2.5,
"barrel_edge": 1.6889,
"hard_hit_edge": 1.1286,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 1.3667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH_695731",
"player_id": "695731",
"player_name": "Braden Montgomery",
"offense_factor": 1.0031,
"quality_score": 0.0411,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695731",
"espn_id": 4950345,
"player_name": "Braden Montgomery",
"team": "CHW",
"role": "batter",
"espn_rank": 265,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 265,
"gp_value": 20.0,
"gp_rank": 439,
"ab_value": 71.0,
"ab_rank": 400,
"r_value": 11.0,
"r_rank": 354,
"h_value": 17.0,
"h_rank": 380,
"avg_value": 0.2394366,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 8.0,
"rbi_rank": 374,
"tb_value": 30.0,
"tb_rank": 2060,
"bb_value": 8.0,
"bb_rank": 351,
"so_value": 19.0,
"so_rank": 396,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.4225352,
"slg_rank": "-",
"ops_value": 0.7350352,
"ops_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 23.8,
"bb_percent": 10.0,
"woba": 0.321,
"xwoba": 0.309,
"xba": 0.248,
"xslg": 0.373,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 43.4,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 6.3,
"whiff_percent": 26.4,
"swing_percent": 51.2
},
"components": {
"expected_quality": 0.1621,
"regression_edge": -0.3429,
"xwoba_edge": 0.1714,
"xba_edge": 0.2571,
"xslg_edge": 0.0286,
"barrel_edge": -0.2667,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH_803011",
"player_id": "803011",
"player_name": "Sam Antonacci",
"offense_factor": 1.0477,
"quality_score": 0.6355,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "803011",
"espn_id": 5207167,
"player_name": "Sam Antonacci",
"team": "CHW",
"role": "batter",
"espn_rank": 72,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 72,
"gp_value": 66.0,
"gp_rank": 185,
"ab_value": 227.0,
"ab_rank": 163,
"r_value": 44.0,
"r_rank": 57,
"h_value": 67.0,
"h_rank": 106,
"avg_value": 0.2951541,
"avg_rank": 12.0,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 23.0,
"rbi_rank": 208,
"tb_value": 97.0,
"tb_rank": 931,
"bb_value": 20.0,
"bb_rank": 178,
"so_value": 39.0,
"so_rank": 243,
"sb_value": 11.0,
"sb_rank": 37,
"obp_value": 0.3924528,
"obp_rank": "9",
"slg_value": 0.4273127,
"slg_rank": "81",
"ops_value": 0.8197655,
"ops_rank": 72.0,
"war_value": 1.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 143.0,
"k_percent": 14.6,
"bb_percent": 7.5,
"woba": 0.368,
"xwoba": 0.374,
"xba": 0.302,
"xslg": 0.441,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 36.8,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 12.0,
"whiff_percent": 15.3,
"swing_percent": 41.6
},
"components": {
"expected_quality": 1.1089,
"regression_edge": 0.1714,
"xwoba_edge": 2.0286,
"xba_edge": 1.8,
"xslg_edge": 1.0,
"barrel_edge": 0.0,
"hard_hit_edge": -0.1857,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 1.1,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | True | 8 | 0.0626 | 1 | 0.9947 | 1.0151 | 0.9440 | 1.0149 | neutral | 0.3060 | 0.2960 | 23.80 | 6.30 | 26.90 | 6.30 | 45.30 | |
| Home CLE | True | 99 | -0.2138 | 1 | 1.0182 | 0.9483 | 0.9680 | 1.0035 | neutral | 0.3250 | 0.3250 | 18.10 | 7.50 | 20.90 | 7.70 | 36.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | True | None | 91 | 90.21 | 2438 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0254 | |
| Home CLE | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0182 |
| home_runs_vs_away_pitcher | 0.9947 |
| home_pitcher_quality_edge | -0.2764 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "677944",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 252.0,
"k_percent": 18.1,
"bb_percent": 7.5,
"woba": 0.325,
"xwoba": 0.325,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 36.1,
"avg_best_speed": 76.9149,
"avg_hyper_speed": 93.77,
"whiff_percent": 20.9,
"swing_percent": 46.4
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1793,
"command_and_miss": -0.4361,
"regression_edge": 0.0,
"xwoba_edge": -0.3571,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.3143,
"whiff_edge": -0.6571,
"bb_edge": 0.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "677944",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2138,
"sample_weight": 1.0,
"run_prevention_factor": 1.0182,
"strikeout_factor": 0.9483,
"walk_factor": 0.968,
"homer_factor": 1.0035,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677944",
"espn_id": 41462,
"player_name": "Slade Cecconi",
"team": "CLE",
"role": "pitcher",
"espn_rank": 99,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 99,
"gp_value": 17.0,
"gp_rank": 252,
"gs_value": 17.0,
"gs_rank": 17,
"qs_value": 5.0,
"qs_rank": 71,
"era_value": 4.1845,
"era_rank": 50.0,
"w_value": 4.0,
"w_rank": 88,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 90.1,
"ip_rank": 51,
"h_value": 94.0,
"h_rank": 15,
"er_value": 42.0,
"er_rank": 42,
"hr_value": 12.0,
"hr_rank": 43,
"bb_value": 29.0,
"bb_rank": 60,
"k_value": 70.0,
"k_rank": 79,
"k_per_9_value": 6.9741697,
"k_per_9_rank": 41,
"whip_value": 1.3616,
"whip_rank": 53.0,
"war_value": 1.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "663436",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 250.0,
"k_percent": 23.8,
"bb_percent": 6.3,
"woba": 0.296,
"xwoba": 0.306,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 45.3,
"avg_best_speed": 78.9981,
"avg_hyper_speed": 94.7512,
"whiff_percent": 26.9,
"swing_percent": 49.2
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0243,
"command_and_miss": 0.2904,
"regression_edge": -0.2857,
"xwoba_edge": 0.1857,
"barrel_edge": 0.2444,
"hard_hit_edge": -1.0,
"whiff_edge": 0.2,
"bb_edge": 0.7,
"pitch_design_score": 0.0254
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663436",
"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": 90.21290088223036,
"release_spin_rate": 2438.2708717717205,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.21290088223036,
"release_spin_rate": 2438.2708717717205,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2129,
"release_spin_rate": 2438.2709,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0254,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1817,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0626,
"sample_weight": 1.0,
"run_prevention_factor": 0.9947,
"strikeout_factor": 1.0151,
"walk_factor": 0.944,
"homer_factor": 1.0149,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663436",
"espn_id": 42823,
"player_name": "Davis Martin",
"team": "CHW",
"role": "pitcher",
"espn_rank": 8,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 8,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 16.0,
"gs_rank": 47,
"qs_value": 10.0,
"qs_rank": 8,
"era_value": 3.0,
"era_rank": 15.0,
"w_value": 9.0,
"w_rank": 4,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 93.0,
"ip_rank": 42,
"h_value": 86.0,
"h_rank": 39,
"er_value": 31.0,
"er_rank": 105,
"hr_value": 6.0,
"hr_rank": 161,
"bb_value": 24.0,
"bb_rank": 102,
"k_value": 90.0,
"k_rank": 38,
"k_per_9_value": 8.709678,
"k_per_9_rank": 24,
"whip_value": 1.1827,
"whip_rank": 32.0,
"war_value": 3.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0182,
"home_runs_vs_away_pitcher": 0.9947,
"home_pitcher_quality_edge": -0.2764
},
"score_before": {
"away_runs": 5.0,
"home_runs": 1.0
},
"score_after": {
"away_runs": 5.091,
"home_runs": 0.9947,
"home_win_probability": 0.1468
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away CHW | 8-2 | 0.800 | 3.60 | 1.70 | 19 | average | strong | |
| Home CLE | 2-8 | 0.200 | 2.80 | 3.70 | -9 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHW | 45-40 | 0.529 | 25 | 0.294 | True |
| Home CLE | 45-42 | 0.517 | -8 | -0.092 | True |
| Signal | - | - | -0.386 | -0.404 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHW | - | - | 4 | - | - | - | - |
| Game target CLE | - | - | 2 | - | - | - | - |
| Player finalized CHW | 31 | 9 | 4 | 0 | 2 | 1 | 9 |
| Player finalized CLE | 31 | 9 | 0 | 0 | 1 | 1 | 9 |
| Player model fractional CHW | 30.59 | 6.93 | 4.46 | 1.10 | 3.86 | 2.80 | 7.89 |
| Player model fractional CLE | 31.04 | 7.23 | 3.18 | 0.82 | 3.42 | 2.95 | 8.42 |
| Simulation box CHW | 35 | 8 | 4 | 2 | 4 | 6 | 5 |
| Simulation box CLE | 33 | 6 | 1 | 0 | 1 | 5 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away CHW | Starter | Davis Martin | 6 | 0 | 4 | 4 | 4 | 4.97 | 1.39 | True |
| Away CHW | Middle Reliever | Bryan Hudson | 1 | 0 | 1 | 0 | 0 | 3.56 | 1.28 | True |
| Away CHW | Middle Reliever | Grant Taylor | 1 | 0 | 0 | 1 | 0 | 3.62 | 1.25 | True |
| Away CHW | Middle Reliever | Seranthony Domínguez | 1 | 1 | 2 | 1 | 1 | 4.93 | 1.41 | True |
| Home CLE | Starter | Slade Cecconi | 5.20 | 2 | 2 | 6 | 3 | 3.03 | 1.22 | True |
| Home CLE | Middle Reliever | Cade Smith | 1 | 0 | 0 | 0 | 0 | 4.68 | 1.55 | True |
| Home CLE | Middle Reliever | Colin Holderman | 1 | 0 | 0 | 0 | 1 | 3.04 | 1.14 | True |
| Home CLE | Middle Reliever | Erik Sabrowski | 0.20 | 0 | 1 | 1 | 1 | 7.07 | 1.84 | True |
| Home CLE | Middle Reliever | Hunter Gaddis | 0.20 | 2 | 2 | 1 | 1 | 2.99 | 1.46 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CHW | batter | DH | Tristan Peters | worse | 10 | 3 | 7 | 4 | 6 | predicted_BB | 2.7790 | boost | better |
| away | CHW | batter | 2B | Chase Meidroth | better | 9 | 6 | 3 | 6 | 3 | predicted_H | 2.0700 | boost | better |
| home | CLE | batter | LF | Cooper Ingle | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.7500 | deboost | better |
| away | CHW | batter | C | Kyle Teel | worse | 8 | 2 | 6 | 1 | 7 | predicted_AB | 1.6640 | boost | better |
| home | CLE | batter | CF | Steven Kwan | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.5790 | boost | worse |
| home | CLE | batter | 3B | Gabriel Arias | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.4740 | deboost | better |
| away | CHW | batter | 1B | Colson Montgomery | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.4700 | boost | better |
| away | CHW | batter | 3B | Jacob Gonzalez | better | 9 | 4 | 5 | 5 | 4 | predicted_H | 1.3600 | boost | better |
| home | CLE | batter | 1B | Kyle Manzardo | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.1320 | deboost | better |
| home | CLE | batter | C | Patrick Bailey | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 1.0380 | boost | better |
| away | CHW | pitcher | Starter | Davis Martin | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.0000 | deboost | worse |
| away | CHW | batter | LF | Miguel Vargas | worse | 12 | 4 | 8 | 5 | 7 | predicted_3B | 0.9870 | boost | better |
| home | CLE | batter | RF | Kahlil Watson | worse | 10 | 5 | 5 | 4 | 6 | predicted_SO | 0.9230 | boost | worse |
| home | CLE | batter | DH | Chase DeLauter | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 0.9200 | boost | better |
| home | CLE | batter | 2B | Travis Bazzana | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.9200 | deboost | worse |
| away | CHW | batter | CF | Braden Montgomery | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.9170 | deboost | better |
| away | CHW | pitcher | Middle Reliever | Seranthony Domínguez | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | CHW | batter | RF | Sam Antonacci | worse | 10 | 1 | 9 | 2 | 8 | predicted_H | -0.8700 | deboost | worse |
| home | CLE | batter | SS | Brayan Rocchio | worse | 10 | 4 | 6 | 3 | 7 | predicted_2B | 0.8430 | boost | better |
| away | CHW | batter | SS | Andrew Benintendi | worse | 11 | 3 | 8 | 2 | 9 | predicted_BB | 0.7250 | boost | better |
| home | CLE | pitcher | Starter | Slade Cecconi | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | CLE | pitcher | Middle Reliever | Erik Sabrowski | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | CLE | pitcher | Middle Reliever | Hunter Gaddis | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Davis Martin |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0626 |
| ESPN Rank | 8 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0254 |
| Avg Velo | 90.2129 |
| Avg Spin | 2438.2709 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 0 |
| Pre H | 4 |
| Pre BB | 4 |
| Pre SO | 4 |
| Season ERA | 3.3061 |
| Season WHIP | 1.1878 |
| Role Avg IP | 5.8330 |
| Recent Avg IP | 5.1330 |
| Last Start IP | 3.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"opponent": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"edges": {
"quality_edge": 0.0728,
"offense_edge": 0.0487,
"opponent_offense_edge": -0.0898,
"defense_strength": -0.0198,
"opponent_defense_weakness": -0.0875,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0059,
"run_prevention": 0.984,
"strikeout": 1.0094
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663436",
"profile": {
"available": true,
"pitcher_id": "663436",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 250.0,
"k_percent": 23.8,
"bb_percent": 6.3,
"woba": 0.296,
"xwoba": 0.306,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 45.3,
"avg_best_speed": 78.9981,
"avg_hyper_speed": 94.7512,
"whiff_percent": 26.9,
"swing_percent": 49.2
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0243,
"command_and_miss": 0.2904,
"regression_edge": -0.2857,
"xwoba_edge": 0.1857,
"barrel_edge": 0.2444,
"hard_hit_edge": -1.0,
"whiff_edge": 0.2,
"bb_edge": 0.7,
"pitch_design_score": 0.0254
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663436",
"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": 90.21290088223036,
"release_spin_rate": 2438.2708717717205,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.21290088223036,
"release_spin_rate": 2438.2708717717205,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2129,
"release_spin_rate": 2438.2709,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0254,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1817,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0626,
"sample_weight": 1.0,
"run_prevention_factor": 0.9947,
"strikeout_factor": 1.0151,
"walk_factor": 0.944,
"homer_factor": 1.0149,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663436",
"espn_id": 42823,
"player_name": "Davis Martin",
"team": "CHW",
"role": "pitcher",
"espn_rank": 8,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 8,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 16.0,
"gs_rank": 47,
"qs_value": 10.0,
"qs_rank": 8,
"era_value": 3.0,
"era_rank": 15.0,
"w_value": 9.0,
"w_rank": 4,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 93.0,
"ip_rank": 42,
"h_value": 86.0,
"h_rank": 39,
"er_value": 31.0,
"er_rank": 105,
"hr_value": 6.0,
"hr_rank": 161,
"bb_value": 24.0,
"bb_rank": 102,
"k_value": 90.0,
"k_rank": 38,
"k_per_9_value": 8.709678,
"k_per_9_rank": 24,
"whip_value": 1.1827,
"whip_rank": 32.0,
"war_value": 3.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9947,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9947,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.944,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0149,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0151,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 56.2,
"ER": 24,
"H": 58,
"BB": 14,
"SO": 64,
"HR": 4,
"ERA": 3.8117647058823527,
"WHIP": 1.2705882352941176,
"K9": 10.16470588235294,
"HR9": 0.6352941176470588,
"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-16T00:00:00"
}{
"available": true,
"pitcher_id": "663436",
"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": 90.21290088223036,
"release_spin_rate": 2438.2708717717205,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.21290088223036,
"release_spin_rate": 2438.2708717717205,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2129,
"release_spin_rate": 2438.2709,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0254,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1817,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "663436",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 7.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.2,
"ER": 20.0,
"R": 20.0,
"H": 32.0,
"BB": 10.0,
"SO": 24.0,
"HR": 3.0,
"BF": 119.0,
"Pitches": 462.0
},
"per_game": {
"IP": 5.0,
"ER": 4.0,
"R": 4.0,
"H": 6.4,
"BB": 2.0,
"SO": 4.8,
"HR": 0.6,
"BF": 23.8,
"Pitches": 92.4
},
"rates": {
"ERA": 7.013,
"WHIP": 1.6364,
"ER_per_IP": 0.77922,
"H_per_IP": 1.24675,
"BB_per_IP": 0.38961,
"SO_per_IP": 0.93506,
"HR_per_IP": 0.11688
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.2,
"ER": 24.0,
"R": 24.0,
"H": 58.0,
"BB": 14.0,
"SO": 64.0,
"HR": 4.0,
"BF": 240.0,
"Pitches": 938.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4,
"R": 2.4,
"H": 5.8,
"BB": 1.4,
"SO": 6.4,
"HR": 0.4,
"BF": 24.0,
"Pitches": 93.8
},
"rates": {
"ERA": 3.8118,
"WHIP": 1.2706,
"ER_per_IP": 0.42353,
"H_per_IP": 1.02353,
"BB_per_IP": 0.24706,
"SO_per_IP": 1.12941,
"HR_per_IP": 0.07059
}
},
"season": {
"games": 14,
"totals": {
"IP": 81.2,
"ER": 30.0,
"R": 30.0,
"H": 77.0,
"BB": 20.0,
"SO": 83.0,
"HR": 6.0,
"BF": 334.0,
"Pitches": 1286.0
},
"per_game": {
"IP": 6.0,
"ER": 2.1429,
"R": 2.1429,
"H": 5.5,
"BB": 1.4286,
"SO": 5.9286,
"HR": 0.4286,
"BF": 23.8571,
"Pitches": 91.8571
},
"rates": {
"ERA": 3.3061,
"WHIP": 1.1878,
"ER_per_IP": 0.36735,
"H_per_IP": 0.94286,
"BB_per_IP": 0.2449,
"SO_per_IP": 1.01633,
"HR_per_IP": 0.07347
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 3.231,
"predicted_H": 6.257,
"predicted_BB": 1.889,
"predicted_SO": 5.857,
"predicted_HR": 0.622,
"predicted_ERA": 4.9742,
"predicted_WHIP": 1.3934
}
}{
"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": 7.0,
"form": 6.0,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 3.231,
"final": 1.7409,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 6.257,
"final": 5.2161,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.889,
"final": 2.8626,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.857,
"final": 5.0005,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.622,
"final": 0.3351,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.9742,
"final": 4.9742,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3934,
"final": 1.3934,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Hudson |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0928 |
| ESPN Rank | 65 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0505 |
| Avg Velo | 88.8567 |
| Avg Spin | 2148.5033 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.5652 |
| Season WHIP | 1.3478 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"opponent": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"edges": {
"quality_edge": 0.0728,
"offense_edge": 0.0487,
"opponent_offense_edge": -0.0898,
"defense_strength": -0.0198,
"opponent_defense_weakness": -0.0875,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0059,
"run_prevention": 0.984,
"strikeout": 1.0094
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663542",
"profile": {
"available": true,
"pitcher_id": "663542",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 92.0,
"k_percent": 21.5,
"bb_percent": 9.8,
"woba": 0.291,
"xwoba": 0.296,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 35.2,
"avg_best_speed": 77.4772,
"avg_hyper_speed": 93.3766,
"whiff_percent": 23.1,
"swing_percent": 45.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.5042,
"command_and_miss": -0.2225,
"regression_edge": -0.1429,
"xwoba_edge": 0.4714,
"barrel_edge": 0.8222,
"hard_hit_edge": 0.4429,
"whiff_edge": -0.3429,
"bb_edge": -0.175,
"pitch_design_score": -0.0505
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663542",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.8567,
"release_spin_rate": 2148.5033,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0505,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3608,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0928,
"sample_weight": 0.45,
"run_prevention_factor": 0.9921,
"strikeout_factor": 0.9911,
"walk_factor": 1.0063,
"homer_factor": 0.9561,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663542",
"espn_id": 4991171,
"player_name": "Bryan Hudson",
"team": "CHW",
"role": "pitcher",
"espn_rank": 65,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 65,
"gp_value": 39.0,
"gp_rank": 17,
"gs_value": 5.0,
"gs_rank": 179,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.3478,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 5.0,
"hld_rank": 107,
"ip_value": 38.1,
"ip_rank": 214,
"h_value": 34.0,
"h_rank": 220,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 16.0,
"bb_rank": 214,
"k_value": 35.0,
"k_rank": 243,
"k_per_9_value": 8.217391,
"k_per_9_rank": 30,
"whip_value": 1.3043,
"whip_rank": null,
"war_value": 1.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9802,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.996,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 10,
"BB": 2,
"SO": 7,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.2,
"K9": 6.3,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-19T00:00:00"
}{
"available": true,
"pitcher_id": "663542",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 15,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 15,
"pitch_usage": 0.0,
"release_speed": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.8567,
"release_spin_rate": 2148.5033,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0505,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3608,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.559,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.477,
"prior_weight": 0.523
},
"role": "pitcher",
"player_id": "663542",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 2.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 0.4,
"HR": 0.0,
"BF": 4.4,
"Pitches": 13.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.2,
"ER_per_IP": 0.4,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 0.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 0.7,
"HR": 0.0,
"BF": 4.2,
"Pitches": 14.7
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 0.7,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 23.0,
"ER": 4.0,
"R": 5.0,
"H": 21.0,
"BB": 10.0,
"SO": 23.0,
"HR": 0.0,
"BF": 99.0,
"Pitches": 402.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.2083,
"H": 0.875,
"BB": 0.4167,
"SO": 0.9583,
"HR": 0.0,
"BF": 4.125,
"Pitches": 16.75
},
"rates": {
"ERA": 1.5652,
"WHIP": 1.3478,
"ER_per_IP": 0.17391,
"H_per_IP": 0.91304,
"BB_per_IP": 0.43478,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.396,
"predicted_H": 0.974,
"predicted_BB": 0.305,
"predicted_SO": 0.797,
"predicted_HR": 0.077,
"predicted_ERA": 3.5649,
"predicted_WHIP": 1.2784
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.571,
"form_weight": 0.429,
"form_reliability": 0.477,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.559,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.477,
"prior_weight": 0.523
},
"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.1699,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.974,
"final": 0.4179,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.305,
"final": 0.1309,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.797,
"final": 0.9129,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.077,
"final": 0.033,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5649,
"final": 3.5649,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2784,
"final": 1.2784,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Grant Taylor |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4579 |
| ESPN Rank | 112 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2737 |
| Avg Velo | 94.6463 |
| Avg Spin | 2483.6036 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.4211 |
| Season WHIP | 1.2632 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"opponent": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"edges": {
"quality_edge": 0.0728,
"offense_edge": 0.0487,
"opponent_offense_edge": -0.0898,
"defense_strength": -0.0198,
"opponent_defense_weakness": -0.0875,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0059,
"run_prevention": 0.984,
"strikeout": 1.0094
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "691799",
"profile": {
"available": true,
"pitcher_id": "691799",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 21.0,
"k_percent": 35.0,
"bb_percent": 6.8,
"woba": 0.26,
"xwoba": 0.235,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 41.7,
"avg_best_speed": 79.3944,
"avg_hyper_speed": 94.0833,
"whiff_percent": 30.9,
"swing_percent": 49.4
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.1001,
"command_and_miss": 1.1854,
"regression_edge": 0.7143,
"xwoba_edge": 2.2143,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.4857,
"whiff_edge": 0.7714,
"bb_edge": 0.575,
"pitch_design_score": 0.2737
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "691799",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.64628205128204,
"release_spin_rate": 2483.6036324786323,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.64628205128204,
"release_spin_rate": 2483.6036324786323,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.6463,
"release_spin_rate": 2483.6036,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2737,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9551,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.4579,
"sample_weight": 0.45,
"run_prevention_factor": 0.9611,
"strikeout_factor": 1.0459,
"walk_factor": 0.9793,
"homer_factor": 0.9748,
"woba_minus_xwoba": 0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691799",
"espn_id": 4927630,
"player_name": "Grant Taylor",
"team": "CHW",
"role": "pitcher",
"espn_rank": 112,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 112,
"gp_value": 32.0,
"gp_rank": 95,
"gs_value": 4.0,
"gs_rank": 188,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.7,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 5.0,
"hld_rank": 107,
"ip_value": 43.1,
"ip_rank": 174,
"h_value": 35.0,
"h_rank": 207,
"er_value": 13.0,
"er_rank": 292,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 12.0,
"bb_rank": 289,
"k_value": 62.0,
"k_rank": 106,
"k_per_9_value": 12.876923,
"k_per_9_rank": 16,
"whip_value": 1.0846,
"whip_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9825,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9825,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9907,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9887,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0207,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 6.1,
"ER": 1,
"H": 6,
"BB": 2,
"SO": 8,
"HR": 0,
"ERA": 1.4210526315789473,
"WHIP": 1.2631578947368423,
"K9": 11.368421052631579,
"HR9": 0.0,
"games_pitched": 6,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 6,
"error_prone": false
},
"games_count": 6,
"latest_game_date": "2026-04-09T00:00:00"
}{
"available": true,
"pitcher_id": "691799",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 16,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.64628205128204,
"release_spin_rate": 2483.6036324786323,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 16,
"pitch_usage": 0.0,
"release_speed": 94.64628205128204,
"release_spin_rate": 2483.6036324786323,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 94.6463,
"release_spin_rate": 2483.6036,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2737,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9551,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.8653846153846154,
"last_10": 0.1346153846153846
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.255,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2007,
"prior_weight": 0.7993
},
"role": "pitcher",
"player_id": "691799",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 6,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9375,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 6,
"totals": {
"IP": 6.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 106.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1667,
"H": 1.0,
"BB": 0.3333,
"SO": 1.3333,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.6667
},
"rates": {
"ERA": 1.4211,
"WHIP": 1.2632,
"ER_per_IP": 0.15789,
"H_per_IP": 0.94737,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.26316,
"HR_per_IP": 0.0
}
},
"season": {
"games": 6,
"totals": {
"IP": 6.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 106.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1667,
"H": 1.0,
"BB": 0.3333,
"SO": 1.3333,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.6667
},
"rates": {
"ERA": 1.4211,
"WHIP": 1.2632,
"ER_per_IP": 0.15789,
"H_per_IP": 0.94737,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.26316,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.402,
"predicted_H": 0.927,
"predicted_BB": 0.327,
"predicted_SO": 1.024,
"predicted_HR": 0.117,
"predicted_ERA": 3.6182,
"predicted_WHIP": 1.2543
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6877,
"form_weight": 0.3123,
"form_reliability": 0.2007,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.255,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2007,
"prior_weight": 0.7993
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.402,
"final": 0.1255,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.927,
"final": 0.9772,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.327,
"final": 0.1021,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.024,
"final": 0.3198,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.117,
"final": 0.0365,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6182,
"final": 3.6182,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2543,
"final": 1.2543,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Seranthony Domínguez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1452 |
| ESPN Rank | 279 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1617 |
| Avg Velo | 92.6462 |
| Avg Spin | 2184.3077 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 13.5000 |
| Season WHIP | 3 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"opponent": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"edges": {
"quality_edge": 0.0728,
"offense_edge": 0.0487,
"opponent_offense_edge": -0.0898,
"defense_strength": -0.0198,
"opponent_defense_weakness": -0.0875,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0059,
"run_prevention": 0.984,
"strikeout": 1.0094
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622554",
"profile": {
"available": true,
"pitcher_id": "622554",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 4.0,
"k_percent": 27.3,
"bb_percent": 12.5,
"woba": 0.313,
"xwoba": 0.346,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 38.7,
"avg_best_speed": 81.9802,
"avg_hyper_speed": 94.3665,
"whiff_percent": 28.9,
"swing_percent": 43.5
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.5727,
"command_and_miss": 0.3054,
"regression_edge": -0.9429,
"xwoba_edge": -0.9571,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.4857,
"bb_edge": -0.85,
"pitch_design_score": 0.1617
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622554",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 92.64615384615384,
"release_spin_rate": 2184.3076923076924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 92.64615384615384,
"release_spin_rate": 2184.3076923076924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.6462,
"release_spin_rate": 2184.3077,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1617,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.155,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1452,
"sample_weight": 0.45,
"run_prevention_factor": 1.0123,
"strikeout_factor": 1.021,
"walk_factor": 1.0306,
"homer_factor": 1.0195,
"woba_minus_xwoba": -0.033,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "622554",
"espn_id": 37793,
"player_name": "Seranthony Dominguez",
"team": "CHW",
"role": "pitcher",
"espn_rank": 279,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 279,
"gp_value": 32.0,
"gp_rank": 95,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.2954,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 12.0,
"sv_rank": 13,
"hld_value": 2.0,
"hld_rank": 172,
"ip_value": 29.1,
"ip_rank": 325,
"h_value": 23.0,
"h_rank": 337,
"er_value": 14.0,
"er_rank": 273,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 16.0,
"bb_rank": 214,
"k_value": 35.0,
"k_rank": 243,
"k_per_9_value": 10.738636,
"k_per_9_rank": 20,
"whip_value": 1.3295,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0055,
"adjusted": 2
},
"predicted_H": {
"original": 0.0,
"factor": 1.0055,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0138,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0088,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0094,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 1.1,
"ER": 2,
"H": 3,
"BB": 1,
"SO": 0,
"HR": 1,
"ERA": 13.5,
"WHIP": 3.0,
"K9": 0.0,
"HR9": 6.75,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-03-29T00:00:00"
}{
"available": true,
"pitcher_id": "622554",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 13,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 92.64615384615384,
"release_spin_rate": 2184.3076923076924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 13,
"pitch_usage": 0.0,
"release_speed": 92.64615384615384,
"release_spin_rate": 2184.3076923076924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.6462,
"release_spin_rate": 2184.3077,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1617,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.155,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.264,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0502,
"prior_weight": 0.9498
},
"role": "pitcher",
"player_id": "622554",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 1.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 0.0,
"HR": 1.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.5,
"BB": 0.5,
"SO": 0.0,
"HR": 0.5,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 13.5,
"WHIP": 3.0,
"ER_per_IP": 1.5,
"H_per_IP": 2.25,
"BB_per_IP": 0.75,
"SO_per_IP": 0.0,
"HR_per_IP": 0.75
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 1.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 0.0,
"HR": 1.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.5,
"BB": 0.5,
"SO": 0.0,
"HR": 0.5,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 13.5,
"WHIP": 3.0,
"ER_per_IP": 1.5,
"H_per_IP": 2.25,
"BB_per_IP": 0.75,
"SO_per_IP": 0.0,
"HR_per_IP": 0.75
}
},
"season": {
"games": 2,
"totals": {
"IP": 1.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 0.0,
"HR": 1.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.5,
"BB": 0.5,
"SO": 0.0,
"HR": 0.5,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 13.5,
"WHIP": 3.0,
"ER_per_IP": 1.5,
"H_per_IP": 2.25,
"BB_per_IP": 0.75,
"SO_per_IP": 0.0,
"HR_per_IP": 0.75
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.192,
"predicted_H": 0.36,
"predicted_BB": 0.132,
"predicted_SO": 0.317,
"predicted_HR": 0.062,
"predicted_ERA": 4.9315,
"predicted_WHIP": 1.4071
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7513,
"form_weight": 0.2487,
"form_reliability": 0.0502,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.264,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0502,
"prior_weight": 0.9498
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.192,
"final": 0.799,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.36,
"final": 0.8408,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.132,
"final": 0.7841,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.317,
"final": 1.5814,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0154,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.9315,
"final": 4.9315,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4071,
"final": 1.4071,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.190 | 1.000 | -0.190 | -1.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 2.853 | 2.000 | 3.000 | Hitting_AB | 2.948 | 4.000 | -0.948 | -2.000 |
| predicted_AVG | 0.254 | 0.500 | 0.333 | Hitting_AVG | 0.290 | 0.250 | 0.210 | 0.250 |
| predicted_BB | 0.221 | 3.000 | 0.000 | Hitting_BB | 0.264 | 0.000 | 2.736 | 3.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 0.300 | 1.000 | 1.000 | Hitting_H | 0.856 | 1.000 | 0.144 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.285 | 0.800 | 0.333 | Hitting_OBP | 0.354 | 0.250 | 0.446 | 0.550 |
| predicted_R | 0.353 | 1.000 | 0.000 | Hitting_R | 0.374 | 1.000 | 0.626 | 0.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.345 | 0.000 | -0.345 | 0.000 |
| predicted_SLG | 0.480 | 0.500 | 0.333 | Hitting_SLG | 0.419 | 0.500 | 0.081 | 0.000 |
| predicted_SO | 0.588 | 0.000 | 1.000 | Hitting_SO | 0.615 | 0.000 | -0.615 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.2210 -> 3.0000 (boost 2.7790, better) |
| Biggest Deboost | predicted_AB: 2.8530 -> 2.0000 (deboost -0.8530, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 0.3000 -> 0.4907 (boost 0.1907, better) | predicted_SLG: 0.4800 -> 0.4571 (deboost -0.0229, worse) | Final model input calibrated with local form: 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.4571 -> 0.3284 (deboost -0.1287, 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.4940 -> 1.0000 (boost 0.5060, better) | predicted_RBI: 0.3231 -> 0.0000 (deboost -0.3231, worse) | AB rounded to 3 (raw=2.90), rates preserved: AVG=0.170 HR/AB=0.016 |
| 5 | 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 |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1703 -> 0.3330 (boost 0.1627, better) | - | 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 -> 3.0000 (boost 3.0000, better) | predicted_AB: 3.0000 -> 2.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.1703 (deboost -0.1627, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671976",
"player_name": "Tristan Peters",
"position": "DH",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.029,
"predicted_AB": 2.853,
"predicted_AVG": 0.254,
"predicted_BB": 0.221,
"predicted_H": 0.3,
"predicted_HR": 0.04,
"predicted_OBP": 0.285,
"predicted_R": 0.353,
"predicted_RBI": 0.22,
"predicted_SLG": 0.48,
"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.2562,
"predicted_3B": 0.0319,
"predicted_AB": 2.901,
"predicted_AVG": 0.255,
"predicted_BB": 0.2206,
"predicted_H": 0.4907,
"predicted_HBP": 0.074,
"predicted_HR": 0.0462,
"predicted_OBP": 0.2987,
"predicted_R": 0.3977,
"predicted_RBI": 0.3189,
"predicted_SLG": 0.4571,
"predicted_SO": 0.6025
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2562,
"delta": 0.0062,
"percent_delta": 0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0319,
"delta": 0.0029,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.853,
"after": 2.901,
"delta": 0.048,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.255,
"delta": 0.001,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 0.2206,
"delta": -0.0004,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.4907,
"delta": 0.1907,
"percent_delta": 0.6357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0462,
"delta": 0.0062,
"percent_delta": 0.155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2987,
"delta": 0.0137,
"percent_delta": 0.0481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 0.3977,
"delta": 0.0447,
"percent_delta": 0.1266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.3189,
"delta": 0.0989,
"percent_delta": 0.4495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4571,
"delta": -0.0229,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 0.6025,
"delta": 0.0145,
"percent_delta": 0.0247,
"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": 0.3,
"after": 0.4907,
"delta": 0.1907,
"percent_delta": 0.6357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.4571,
"delta": -0.0229,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.2562,
"predicted_3B": 0.0319,
"predicted_AB": 2.901,
"predicted_AVG": 0.1703,
"predicted_BB": 0.2215,
"predicted_H": 0.494,
"predicted_HBP": 0.074,
"predicted_HR": 0.0462,
"predicted_OBP": 0.2292,
"predicted_R": 0.4029,
"predicted_RBI": 0.3231,
"predicted_SLG": 0.3284,
"predicted_SO": 0.6
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2562,
"after": 0.2562,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0319,
"after": 0.0319,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.901,
"after": 2.901,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.1703,
"delta": -0.0847,
"percent_delta": -0.3322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2206,
"after": 0.2215,
"delta": 0.0009,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4907,
"after": 0.494,
"delta": 0.0033,
"percent_delta": 0.0067,
"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.0462,
"after": 0.0462,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2987,
"after": 0.2292,
"delta": -0.0695,
"percent_delta": -0.2327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3977,
"after": 0.4029,
"delta": 0.0052,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3189,
"after": 0.3231,
"delta": 0.0042,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4571,
"after": 0.3284,
"delta": -0.1287,
"percent_delta": -0.2816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6025,
"after": 0.6,
"delta": -0.0025,
"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_SLG",
"before": 0.4571,
"after": 0.3284,
"delta": -0.1287,
"percent_delta": -0.2816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.90), rates preserved: AVG=0.170 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.2562,
"after": 0.0,
"delta": -0.2562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0319,
"after": 0.0,
"delta": -0.0319,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.901,
"after": 3.0,
"delta": 0.099,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2215,
"after": 0.0,
"delta": -0.2215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.494,
"after": 1.0,
"delta": 0.506,
"percent_delta": 1.0243,
"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.0462,
"after": 0.0,
"delta": -0.0462,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3231,
"after": 0.0,
"delta": -0.3231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"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.494,
"after": 1.0,
"delta": 0.506,
"percent_delta": 1.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3231,
"after": 0.0,
"delta": -0.3231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.1703,
"after": 0.333,
"delta": 0.1627,
"percent_delta": 0.9554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2292,
"after": 0.333,
"delta": 0.1038,
"percent_delta": 0.4529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3284,
"after": 0.333,
"delta": 0.0046,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.1703,
"after": 0.333,
"delta": 0.1627,
"percent_delta": 0.9554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 3.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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 3.0,
"delta": 3.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.1703,
"predicted_BB": 3.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2292,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3284,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1703,
"delta": -0.1627,
"percent_delta": -0.4886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2292,
"delta": -0.1038,
"percent_delta": -0.3118,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3284,
"delta": -0.0046,
"percent_delta": -0.0138,
"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.1703,
"delta": -0.1627,
"percent_delta": -0.4886,
"direction": "deboost",
"projection_effect": "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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.853,
"after": 2.0,
"delta": -0.853,
"percent_delta": -0.299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.1703,
"delta": -0.0837,
"percent_delta": -0.3295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.221,
"after": 3.0,
"delta": 2.779,
"percent_delta": 12.5747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2292,
"delta": -0.0558,
"percent_delta": -0.1958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 1.0,
"delta": 0.647,
"percent_delta": 1.8329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.3284,
"delta": -0.1516,
"percent_delta": -0.3158,
"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": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.221,
"after": 3.0,
"delta": 2.779,
"percent_delta": 12.5747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.853,
"after": 2.0,
"delta": -0.853,
"percent_delta": -0.299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.029 | - |
| predicted_AB | 2.853 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.221 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.353 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.480 | - |
| 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.256 | 0.006 |
| predicted_3B | 0.032 | 0.003 |
| predicted_AB | 2.901 | 0.048 |
| predicted_AVG | 0.255 | 0.001 |
| predicted_BB | 0.221 | -0.000 |
| predicted_H | 0.491 | 0.191 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.046 | 0.006 |
| predicted_OBP | 0.299 | 0.014 |
| predicted_R | 0.398 | 0.045 |
| predicted_RBI | 0.319 | 0.099 |
| predicted_SLG | 0.457 | -0.023 |
| predicted_SO | 0.603 | 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.256 | 0.000 |
| predicted_3B | 0.032 | 0.000 |
| predicted_AB | 2.901 | 0.000 |
| predicted_AVG | 0.170 | -0.085 |
| predicted_BB | 0.222 | 0.001 |
| predicted_H | 0.494 | 0.003 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.046 | 0.000 |
| predicted_OBP | 0.229 | -0.070 |
| predicted_R | 0.403 | 0.005 |
| predicted_RBI | 0.323 | 0.004 |
| predicted_SLG | 0.328 | -0.129 |
| predicted_SO | 0.600 | -0.003 |
AB rounded to 3 (raw=2.90), rates preserved: AVG=0.170 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.256 |
| predicted_3B | 0.000 | -0.032 |
| predicted_AB | 3.000 | 0.099 |
| predicted_AVG | 0.333 | 0.163 |
| predicted_BB | 0.000 | -0.222 |
| predicted_H | 1.000 | 0.506 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | 0.104 |
| predicted_R | 0.000 | -0.403 |
| predicted_RBI | 0.000 | -0.323 |
| predicted_SLG | 0.333 | 0.005 |
| 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 | 2.000 | -1.000 |
| BB | 3.000 | 3.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 3.000 | 0.2143 | 0.2941 | 0.3571 | 0.2143 | 0.0000 | 0.2143 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 2.000 | 1.000 | 1.000 | 6.000 | 6.000 | 2.000 | 6.000 | 0.2069 | 0.2727 | 0.4483 | 0.2069 | 0.0345 | 0.2069 | 0.0690 | 0.2069 |
| season | 0.60 | 68 | - | 194.000 | 56.000 | 17.000 | 2.000 | 3.000 | 24.000 | 24.000 | 15.000 | 40.000 | 0.2887 | 0.3443 | 0.4433 | 0.2887 | 0.0155 | 0.1237 | 0.0773 | 0.2062 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2650 |
| predicted_3B | 0.0360 |
| predicted_AB | 2.9690 |
| predicted_AVG | 0.2563 |
| predicted_BB | 0.2200 |
| predicted_H | 0.7610 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.0550 |
| predicted_OBP | 0.3182 |
| predicted_R | 0.4610 |
| predicted_RBI | 0.4590 |
| predicted_SLG | 0.4247 |
| predicted_SO | 0.6230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2650 | 0.2562 | model_form_blend |
| predicted_3B | 0.0290 | 0.0360 | 0.0319 | model_form_blend |
| predicted_AB | 2.8530 | 2.9690 | 2.9010 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2563 | 0.2550 | model_form_blend |
| predicted_BB | 0.2210 | 0.2200 | 0.2206 | model_form_blend |
| predicted_H | 0.3000 | 0.7610 | 0.4907 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.0400 | 0.0550 | 0.0462 | model_form_blend |
| predicted_OBP | 0.2850 | 0.3182 | 0.2987 | model_form_blend |
| predicted_R | 0.3530 | 0.4610 | 0.3977 | model_form_blend |
| predicted_RBI | 0.2200 | 0.4590 | 0.3189 | model_form_blend |
| predicted_SLG | 0.4800 | 0.4247 | 0.4571 | model_form_blend |
| predicted_SO | 0.5880 | 0.6230 | 0.6025 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 174 |
| Season rows before report date | 174 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| RBI | 0 |
| BB | 3 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 671976 |
| playerID | 671976 |
| playerName | Tristan Peters |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.343 |
| sl_xwoba | 0.305 |
| sl_xba | 0.256 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 29.4 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 22.2 |
| sl_swing_percent | 56.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.156 | 0.000 | 0.000 | Hitting_2B | - | - | - | - |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | - | - | - | - |
| predicted_AB | 3.336 | 5.000 | 3.000 | Hitting_AB | - | - | - | - |
| predicted_AVG | 0.244 | 0.000 | 0.333 | Hitting_AVG | - | - | - | - |
| predicted_BB | 0.329 | 0.000 | 0.000 | Hitting_BB | - | - | - | - |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | - | - | - | - |
| predicted_H | 0.813 | 0.000 | 1.000 | Hitting_H | - | - | - | - |
| predicted_HR | 0.114 | 0.000 | 0.000 | Hitting_HR | - | - | - | - |
| predicted_OBP | 0.312 | 0.000 | 0.333 | Hitting_OBP | - | - | - | - |
| predicted_R | 0.441 | 0.000 | 0.000 | Hitting_R | - | - | - | - |
| predicted_RBI | 0.427 | 0.000 | 0.000 | Hitting_RBI | - | - | - | - |
| predicted_SLG | 0.401 | 0.000 | 0.333 | Hitting_SLG | - | - | - | - |
| predicted_SO | 0.832 | 2.000 | 1.000 | Hitting_SO | - | - | - | - |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.3360 -> 5.0000 (boost 1.6640, better) |
| Biggest Deboost | predicted_H: 0.8130 -> 0.0000 (deboost -0.8130, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3360 -> 3.4092 (boost 0.0732, better) | - | Final model input calibrated with local 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 | 1 | 6 | predicted_SO: 0.8314 -> 1.0000 (boost 0.1686, worse) | predicted_RBI: 0.4418 -> 0.0000 (deboost -0.4418, worse) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.246 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4565 -> 0.0000 (deboost -0.4565, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2461 -> 0.3330 (boost 0.0869, better) | predicted_SLG: 0.4038 -> 0.3330 (deboost -0.0708, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4038 (boost 0.0708, better) | predicted_AVG: 0.3330 -> 0.2461 (deboost -0.0869, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691019",
"player_name": "Kyle Teel",
"position": "C",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.013,
"predicted_AB": 3.336,
"predicted_AVG": 0.244,
"predicted_BB": 0.329,
"predicted_H": 0.813,
"predicted_HR": 0.114,
"predicted_OBP": 0.312,
"predicted_R": 0.441,
"predicted_RBI": 0.427,
"predicted_SLG": 0.401,
"predicted_SO": 0.832
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1599,
"predicted_3B": 0.0133,
"predicted_AB": 3.4092,
"predicted_AVG": 0.2446,
"predicted_BB": 0.3194,
"predicted_H": 0.8333,
"predicted_HBP": 0.033,
"predicted_HR": 0.117,
"predicted_OBP": 0.311,
"predicted_R": 0.4506,
"predicted_RBI": 0.4361,
"predicted_SLG": 0.4022,
"predicted_SO": 0.8348
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.1599,
"delta": 0.0039,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0133,
"delta": 0.0003,
"percent_delta": 0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.336,
"after": 3.4092,
"delta": 0.0732,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2446,
"delta": 0.0006,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.3194,
"delta": -0.0096,
"percent_delta": -0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.813,
"after": 0.8333,
"delta": 0.0203,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.114,
"after": 0.117,
"delta": 0.003,
"percent_delta": 0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.311,
"delta": -0.001,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.4506,
"delta": 0.0096,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.427,
"after": 0.4361,
"delta": 0.0091,
"percent_delta": 0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4022,
"delta": 0.0012,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.832,
"after": 0.8348,
"delta": 0.0028,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_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.336,
"after": 3.4092,
"delta": 0.0732,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 0,
"last_10": 0,
"season": 0
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1599,
"predicted_3B": 0.0133,
"predicted_AB": 3.4092,
"predicted_AVG": 0.2461,
"predicted_BB": 0.3207,
"predicted_H": 0.839,
"predicted_HBP": 0.033,
"predicted_HR": 0.1171,
"predicted_OBP": 0.3109,
"predicted_R": 0.4565,
"predicted_RBI": 0.4418,
"predicted_SLG": 0.4038,
"predicted_SO": 0.8314
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1599,
"after": 0.1599,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0133,
"after": 0.0133,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4092,
"after": 3.4092,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.2461,
"delta": 0.0015,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3194,
"after": 0.3207,
"delta": 0.0013,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8333,
"after": 0.839,
"delta": 0.0057,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.033,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.117,
"after": 0.1171,
"delta": 0.0001,
"percent_delta": 0.0009,
"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.4506,
"after": 0.4565,
"delta": 0.0059,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4361,
"after": 0.4418,
"delta": 0.0057,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4022,
"after": 0.4038,
"delta": 0.0016,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8348,
"after": 0.8314,
"delta": -0.0034,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.41), rates preserved: AVG=0.246 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.1599,
"after": 0.0,
"delta": -0.1599,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0133,
"after": 0.0,
"delta": -0.0133,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4092,
"after": 3.0,
"delta": -0.4092,
"percent_delta": -0.12,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3207,
"after": 0.0,
"delta": -0.3207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.839,
"after": 1.0,
"delta": 0.161,
"percent_delta": 0.1919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1171,
"after": 0.0,
"delta": -0.1171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4418,
"after": 0.0,
"delta": -0.4418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8314,
"after": 1.0,
"delta": 0.1686,
"percent_delta": 0.2028,
"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.8314,
"after": 1.0,
"delta": 0.1686,
"percent_delta": 0.2028,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4418,
"after": 0.0,
"delta": -0.4418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4565,
"after": 0.0,
"delta": -0.4565,
"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.4565,
"after": 0.0,
"delta": -0.4565,
"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.2461,
"after": 0.333,
"delta": 0.0869,
"percent_delta": 0.3531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3109,
"after": 0.333,
"delta": 0.0221,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.4038,
"after": 0.333,
"delta": -0.0708,
"percent_delta": -0.1753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2461,
"after": 0.333,
"delta": 0.0869,
"percent_delta": 0.3531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4038,
"after": 0.333,
"delta": -0.0708,
"percent_delta": -0.1753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2461,
"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.3109,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4038,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2461,
"delta": -0.0869,
"percent_delta": -0.261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3109,
"delta": -0.0221,
"percent_delta": -0.0663,
"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.4038,
"delta": 0.0708,
"percent_delta": 0.2127,
"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.4038,
"delta": 0.0708,
"percent_delta": 0.2127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2461,
"delta": -0.0869,
"percent_delta": -0.261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.336,
"after": 5.0,
"delta": 1.664,
"percent_delta": 0.4988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2461,
"delta": 0.0021,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.813,
"after": 0.0,
"delta": -0.813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3109,
"delta": -0.0011,
"percent_delta": -0.0035,
"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.427,
"after": 0.0,
"delta": -0.427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4038,
"delta": 0.0028,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.832,
"after": 2.0,
"delta": 1.168,
"percent_delta": 1.4038,
"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.336,
"after": 5.0,
"delta": 1.664,
"percent_delta": 0.4988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.813,
"after": 0.0,
"delta": -0.813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.336 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 0.813 | - |
| predicted_HR | 0.114 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.441 | - |
| predicted_RBI | 0.427 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.832 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.004 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.409 | 0.073 |
| predicted_AVG | 0.245 | 0.001 |
| predicted_BB | 0.319 | -0.010 |
| predicted_H | 0.833 | 0.020 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.117 | 0.003 |
| predicted_OBP | 0.311 | -0.001 |
| predicted_R | 0.451 | 0.010 |
| predicted_RBI | 0.436 | 0.009 |
| predicted_SLG | 0.402 | 0.001 |
| predicted_SO | 0.835 | 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.160 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.409 | 0.000 |
| predicted_AVG | 0.246 | 0.002 |
| predicted_BB | 0.321 | 0.001 |
| predicted_H | 0.839 | 0.006 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.117 | 0.000 |
| predicted_OBP | 0.311 | -0.000 |
| predicted_R | 0.457 | 0.006 |
| predicted_RBI | 0.442 | 0.006 |
| predicted_SLG | 0.404 | 0.002 |
| predicted_SO | 0.831 | -0.003 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.246 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.160 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.409 |
| predicted_AVG | 0.333 | 0.087 |
| predicted_BB | 0.000 | -0.321 |
| predicted_H | 1.000 | 0.161 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.333 | 0.022 |
| predicted_R | 0.000 | -0.457 |
| predicted_RBI | 0.000 | -0.442 |
| predicted_SLG | 0.333 | -0.071 |
| 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 | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| last_10 | 0.20 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| season | 0.60 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| Metric | Value |
|---|---|
| predicted_2B | 0.1810 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.8010 |
| predicted_AVG | 0.2477 |
| predicted_BB | 0.2680 |
| predicted_H | 0.9420 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1330 |
| predicted_OBP | 0.3058 |
| predicted_R | 0.5020 |
| predicted_RBI | 0.4850 |
| predicted_SLG | 0.4084 |
| predicted_SO | 0.8500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.1810 | 0.1599 | model_form_blend |
| predicted_3B | 0.0130 | 0.0150 | 0.0133 | model_form_blend |
| predicted_AB | 3.3360 | 3.8010 | 3.4092 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2477 | 0.2446 | model_form_blend |
| predicted_BB | 0.3290 | 0.2680 | 0.3194 | model_form_blend |
| predicted_H | 0.8130 | 0.9420 | 0.8333 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1140 | 0.1330 | 0.1170 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3058 | 0.3110 | model_form_blend |
| predicted_R | 0.4410 | 0.5020 | 0.4506 | model_form_blend |
| predicted_RBI | 0.4270 | 0.4850 | 0.4361 | model_form_blend |
| predicted_SLG | 0.4010 | 0.4084 | 0.4022 | model_form_blend |
| predicted_SO | 0.8320 | 0.8500 | 0.8348 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 0 |
| Season rows before report date | 0 |
| Report year | 2026 |
| Profile rows used | 0 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.0 |
No historical data found for this player before report date.
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.960 | 5.000 | 4.000 | Hitting_AB | 3.743 | 4.000 | 1.257 | 1.000 |
| predicted_AVG | 0.213 | 0.200 | 0.250 | Hitting_AVG | 0.233 | 0.000 | -0.033 | 0.200 |
| predicted_BB | 0.378 | 0.000 | 0.000 | Hitting_BB | 0.378 | 0.000 | -0.378 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.840 | 1.000 | 1.000 | Hitting_H | 0.871 | 0.000 | 0.129 | 1.000 |
| predicted_HR | 0.230 | 1.000 | 0.000 | Hitting_HR | 0.257 | 0.000 | 0.743 | 1.000 |
| predicted_OBP | 0.282 | 0.200 | 0.250 | Hitting_OBP | 0.328 | 0.000 | -0.128 | 0.200 |
| predicted_R | 0.486 | 1.000 | 0.000 | Hitting_R | 0.510 | 0.000 | 0.490 | 1.000 |
| predicted_RBI | 0.530 | 2.000 | 1.000 | Hitting_RBI | 0.655 | 0.000 | 1.345 | 2.000 |
| predicted_SLG | 0.511 | 0.800 | 0.250 | Hitting_SLG | 0.491 | 0.000 | 0.309 | 0.800 |
| predicted_SO | 1.311 | 1.000 | 1.000 | Hitting_SO | 1.293 | 4.000 | -0.293 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.5300 -> 2.0000 (boost 1.4700, better) |
| Biggest Deboost | predicted_BB: 0.3780 -> 0.0000 (deboost -0.3780, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9600 -> 3.8218 (deboost -0.1382, worse) | Final model input calibrated with local 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.4860 -> 0.4408 (deboost -0.0452, 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.5412 -> 1.0000 (boost 0.4588, better) | predicted_BB: 0.3710 -> 0.0000 (deboost -0.3710, worse) | AB rounded to 4 (raw=3.96), rates preserved: AVG=0.198 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4717 -> 0.0000 (deboost -0.4717, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2056 -> 0.2500 (boost 0.0444, better) | predicted_SLG: 0.4408 -> 0.2500 (deboost -0.1908, 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: 4.0000 -> 5.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.4408 (boost 0.1908, better) | predicted_AVG: 0.2500 -> 0.2056 (deboost -0.0444, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "1B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.0,
"predicted_AB": 3.96,
"predicted_AVG": 0.213,
"predicted_BB": 0.378,
"predicted_H": 0.84,
"predicted_HR": 0.23,
"predicted_OBP": 0.282,
"predicted_R": 0.486,
"predicted_RBI": 0.53,
"predicted_SLG": 0.511,
"predicted_SO": 1.311
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1565,
"predicted_3B": 0.0004,
"predicted_AB": 3.8218,
"predicted_AVG": 0.2043,
"predicted_BB": 0.3695,
"predicted_H": 0.7806,
"predicted_HBP": 0.069,
"predicted_HR": 0.247,
"predicted_OBP": 0.28,
"predicted_R": 0.4656,
"predicted_RBI": 0.5342,
"predicted_SLG": 0.486,
"predicted_SO": 1.3555
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1565,
"delta": -0.0195,
"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": 3.96,
"after": 3.8218,
"delta": -0.1382,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2043,
"delta": -0.0087,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.3695,
"delta": -0.0085,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.7806,
"delta": -0.0594,
"percent_delta": -0.0707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.247,
"delta": 0.017,
"percent_delta": 0.0739,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.28,
"delta": -0.002,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 0.4656,
"delta": -0.0204,
"percent_delta": -0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5342,
"delta": 0.0042,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.486,
"delta": -0.025,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.311,
"after": 1.3555,
"delta": 0.0445,
"percent_delta": 0.0339,
"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.96,
"after": 3.8218,
"delta": -0.1382,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1565,
"predicted_3B": 0.0004,
"predicted_AB": 3.8218,
"predicted_AVG": 0.2056,
"predicted_BB": 0.371,
"predicted_H": 0.7859,
"predicted_HBP": 0.069,
"predicted_HR": 0.2472,
"predicted_OBP": 0.2759,
"predicted_R": 0.4717,
"predicted_RBI": 0.5412,
"predicted_SLG": 0.4408,
"predicted_SO": 1.3499
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1565,
"after": 0.1565,
"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.8218,
"after": 3.8218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2043,
"after": 0.2056,
"delta": 0.0013,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3695,
"after": 0.371,
"delta": 0.0015,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7806,
"after": 0.7859,
"delta": 0.0053,
"percent_delta": 0.0068,
"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.247,
"after": 0.2472,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2759,
"delta": -0.0041,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4656,
"after": 0.4717,
"delta": 0.0061,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5342,
"after": 0.5412,
"delta": 0.007,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4408,
"delta": -0.0452,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3555,
"after": 1.3499,
"delta": -0.0056,
"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_SLG",
"before": 0.486,
"after": 0.4408,
"delta": -0.0452,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.96), rates preserved: AVG=0.198 HR/AB=0.062",
"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.1565,
"after": 0.0,
"delta": -0.1565,
"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.8218,
"after": 4.0,
"delta": 0.1782,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.0,
"delta": -0.371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7859,
"after": 1.0,
"delta": 0.2141,
"percent_delta": 0.2724,
"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.2472,
"after": 0.0,
"delta": -0.2472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5412,
"after": 1.0,
"delta": 0.4588,
"percent_delta": 0.8477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3499,
"after": 1.0,
"delta": -0.3499,
"percent_delta": -0.2592,
"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.5412,
"after": 1.0,
"delta": 0.4588,
"percent_delta": 0.8477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.371,
"after": 0.0,
"delta": -0.371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4717,
"after": 0.0,
"delta": -0.4717,
"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.4717,
"after": 0.0,
"delta": -0.4717,
"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.2056,
"after": 0.25,
"delta": 0.0444,
"percent_delta": 0.216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2759,
"after": 0.25,
"delta": -0.0259,
"percent_delta": -0.0939,
"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.4408,
"after": 0.25,
"delta": -0.1908,
"percent_delta": -0.4328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2056,
"after": 0.25,
"delta": 0.0444,
"percent_delta": 0.216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4408,
"after": 0.25,
"delta": -0.1908,
"percent_delta": -0.4328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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": 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": 8,
"step": "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.2056,
"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.2759,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4408,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2056,
"delta": -0.0444,
"percent_delta": -0.1774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2759,
"delta": 0.0259,
"percent_delta": 0.1037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4408,
"delta": 0.1908,
"percent_delta": 0.7633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4408,
"delta": 0.1908,
"percent_delta": 0.7633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2056,
"delta": -0.0444,
"percent_delta": -0.1774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.96,
"after": 5.0,
"delta": 1.04,
"percent_delta": 0.2626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.213,
"after": 0.2056,
"delta": -0.0074,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.0,
"delta": -0.378,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.0,
"delta": 0.16,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2759,
"delta": -0.0061,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.486,
"after": 1.0,
"delta": 0.514,
"percent_delta": 1.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.4408,
"delta": -0.0702,
"percent_delta": -0.1374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.311,
"after": 1.0,
"delta": -0.311,
"percent_delta": -0.2372,
"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.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.378,
"after": 0.0,
"delta": -0.378,
"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.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.960 | - |
| predicted_AVG | 0.213 | - |
| predicted_BB | 0.378 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.486 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.511 | - |
| predicted_SO | 1.311 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | -0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.822 | -0.138 |
| predicted_AVG | 0.204 | -0.009 |
| predicted_BB | 0.369 | -0.009 |
| predicted_H | 0.781 | -0.059 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.247 | 0.017 |
| predicted_OBP | 0.280 | -0.002 |
| predicted_R | 0.466 | -0.020 |
| predicted_RBI | 0.534 | 0.004 |
| predicted_SLG | 0.486 | -0.025 |
| predicted_SO | 1.355 | 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.157 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.822 | 0.000 |
| predicted_AVG | 0.206 | 0.001 |
| predicted_BB | 0.371 | 0.002 |
| predicted_H | 0.786 | 0.005 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.247 | 0.000 |
| predicted_OBP | 0.276 | -0.004 |
| predicted_R | 0.472 | 0.006 |
| predicted_RBI | 0.541 | 0.007 |
| predicted_SLG | 0.441 | -0.045 |
| predicted_SO | 1.350 | -0.006 |
AB rounded to 4 (raw=3.96), rates preserved: AVG=0.198 HR/AB=0.062
| 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.157 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.178 |
| predicted_AVG | 0.250 | 0.044 |
| predicted_BB | 0.000 | -0.371 |
| predicted_H | 1.000 | 0.214 |
| predicted_HR | 0.000 | -0.247 |
| predicted_OBP | 0.250 | -0.026 |
| predicted_R | 0.000 | -0.472 |
| predicted_RBI | 1.000 | 0.459 |
| predicted_SLG | 0.250 | -0.191 |
| predicted_SO | 1.000 | -0.350 |
Attached 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 | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 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 | 1.000 | 1.000 | 1.000 | 2.000 | 10.000 | 0.1111 | 0.2000 | 0.2778 | 0.1111 | 0.0556 | 0.0556 | 0.1111 | 0.5556 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 1.000 | 0.000 | 4.000 | 7.000 | 5.000 | 3.000 | 14.000 | 0.1714 | 0.2368 | 0.5429 | 0.1714 | 0.1143 | 0.2000 | 0.0857 | 0.4000 |
| season | 0.60 | 74 | - | 271.000 | 59.000 | 13.000 | 0.000 | 20.000 | 45.000 | 36.000 | 28.000 | 97.000 | 0.2177 | 0.3117 | 0.4871 | 0.2177 | 0.0738 | 0.1661 | 0.1033 | 0.3579 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1300 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6340 |
| predicted_AVG | 0.1925 |
| predicted_BB | 0.3580 |
| predicted_H | 0.7000 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.2700 |
| predicted_OBP | 0.2772 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.5400 |
| predicted_SLG | 0.4521 |
| predicted_SO | 1.4160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1300 | 0.1565 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9600 | 3.6340 | 3.8218 | model_form_blend |
| predicted_AVG | 0.2130 | 0.1925 | 0.2043 | model_form_blend |
| predicted_BB | 0.3780 | 0.3580 | 0.3695 | model_form_blend |
| predicted_H | 0.8400 | 0.7000 | 0.7806 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.2300 | 0.2700 | 0.2470 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2772 | 0.2800 | model_form_blend |
| predicted_R | 0.4860 | 0.4380 | 0.4656 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5400 | 0.5342 | model_form_blend |
| predicted_SLG | 0.5110 | 0.4521 | 0.4860 | model_form_blend |
| predicted_SO | 1.3110 | 1.4160 | 1.3555 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 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 | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 695657 |
| playerID | 695657 |
| playerName | Colson Montgomery |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| sl_k_percent | 32.0 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.341 |
| sl_xwoba | 0.328 |
| sl_xba | 0.217 |
| sl_xslg | 0.455 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 14.7 |
| sl_hard_hit_percent | 44.7 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 22.2 |
| sl_whiff_percent | 37.7 |
| sl_swing_percent | 52.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.189 | 0.000 | 0.000 | Hitting_2B | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.980 | 5.000 | 4.000 | Hitting_AB | 3.829 | 4.000 | 1.171 | 1.000 |
| predicted_AVG | 0.233 | 0.600 | 0.250 | Hitting_AVG | 0.264 | 0.250 | 0.336 | 0.350 |
| predicted_BB | 0.351 | 0.000 | 0.000 | Hitting_BB | 0.426 | 0.000 | -0.426 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.930 | 3.000 | 1.000 | Hitting_H | 1.012 | 1.000 | 1.988 | 2.000 |
| predicted_HR | 0.090 | 1.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | 0.900 | 1.000 |
| predicted_OBP | 0.293 | 0.600 | 0.250 | Hitting_OBP | 0.336 | 0.250 | 0.264 | 0.350 |
| predicted_R | 0.595 | 1.000 | 1.000 | Hitting_R | 0.649 | 1.000 | 0.351 | 0.000 |
| predicted_RBI | 0.350 | 2.000 | 0.000 | Hitting_RBI | 0.371 | 0.000 | 1.629 | 2.000 |
| predicted_SLG | 0.431 | 1.200 | 0.250 | Hitting_SLG | 0.387 | 0.250 | 0.813 | 0.950 |
| predicted_SO | 1.041 | 1.000 | 1.000 | Hitting_SO | 0.984 | 1.000 | 0.016 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9300 -> 3.0000 (boost 2.0700, better) |
| Biggest Deboost | predicted_BB: 0.3510 -> 0.0000 (deboost -0.3510, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 2 | 4 | 1 | 5 | predicted_SO: 1.0410 -> 1.1399 (boost 0.0989, worse) | predicted_AB: 3.9800 -> 3.8722 (deboost -0.1078, worse) | Final model input calibrated with local 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.3935 -> 0.3480 (deboost -0.0455, 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.8722 -> 4.0000 (boost 0.1278, better) | predicted_RBI: 0.3327 -> 0.0000 (deboost -0.3327, worse) | AB rounded to 4 (raw=3.98), rates preserved: AVG=0.234 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5516 -> 1.0000 (boost 0.4484, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2403 -> 0.2500 (boost 0.0097, better) | predicted_SLG: 0.3480 -> 0.2500 (deboost -0.0980, 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_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.3480 (boost 0.0980, better) | predicted_AVG: 0.2500 -> 0.2403 (deboost -0.0097, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.189,
"predicted_3B": 0.0,
"predicted_AB": 3.98,
"predicted_AVG": 0.233,
"predicted_BB": 0.351,
"predicted_H": 0.93,
"predicted_HR": 0.09,
"predicted_OBP": 0.293,
"predicted_R": 0.595,
"predicted_RBI": 0.35,
"predicted_SLG": 0.431,
"predicted_SO": 1.041
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1665,
"predicted_3B": 0.0004,
"predicted_AB": 3.8722,
"predicted_AVG": 0.2384,
"predicted_BB": 0.3001,
"predicted_H": 0.9241,
"predicted_HBP": 0.036,
"predicted_HR": 0.0832,
"predicted_OBP": 0.293,
"predicted_R": 0.5445,
"predicted_RBI": 0.3284,
"predicted_SLG": 0.3935,
"predicted_SO": 1.1399
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.1665,
"delta": -0.0225,
"percent_delta": -0.119,
"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.98,
"after": 3.8722,
"delta": -0.1078,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2384,
"delta": 0.0054,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.3001,
"delta": -0.0509,
"percent_delta": -0.145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9241,
"delta": -0.0059,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0832,
"delta": -0.0068,
"percent_delta": -0.0756,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.293,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.5445,
"delta": -0.0505,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3284,
"delta": -0.0216,
"percent_delta": -0.0617,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.3935,
"delta": -0.0375,
"percent_delta": -0.087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.041,
"after": 1.1399,
"delta": 0.0989,
"percent_delta": 0.095,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.041,
"after": 1.1399,
"delta": 0.0989,
"percent_delta": 0.095,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.98,
"after": 3.8722,
"delta": -0.1078,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1665,
"predicted_3B": 0.0004,
"predicted_AB": 3.8722,
"predicted_AVG": 0.2403,
"predicted_BB": 0.3013,
"predicted_H": 0.9304,
"predicted_HBP": 0.036,
"predicted_HR": 0.0833,
"predicted_OBP": 0.2951,
"predicted_R": 0.5516,
"predicted_RBI": 0.3327,
"predicted_SLG": 0.348,
"predicted_SO": 1.1352
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1665,
"after": 0.1665,
"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.8722,
"after": 3.8722,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2384,
"after": 0.2403,
"delta": 0.0019,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3001,
"after": 0.3013,
"delta": 0.0012,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9241,
"after": 0.9304,
"delta": 0.0063,
"percent_delta": 0.0068,
"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.0832,
"after": 0.0833,
"delta": 0.0001,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2951,
"delta": 0.0021,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5445,
"after": 0.5516,
"delta": 0.0071,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3284,
"after": 0.3327,
"delta": 0.0043,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3935,
"after": 0.348,
"delta": -0.0455,
"percent_delta": -0.1156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1399,
"after": 1.1352,
"delta": -0.0047,
"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_SLG",
"before": 0.3935,
"after": 0.348,
"delta": -0.0455,
"percent_delta": -0.1156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.98), rates preserved: AVG=0.234 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.1665,
"after": 0.0,
"delta": -0.1665,
"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.8722,
"after": 4.0,
"delta": 0.1278,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3013,
"after": 0.0,
"delta": -0.3013,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9304,
"after": 1.0,
"delta": 0.0696,
"percent_delta": 0.0748,
"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.0833,
"after": 0.0,
"delta": -0.0833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3327,
"after": 0.0,
"delta": -0.3327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1352,
"after": 1.0,
"delta": -0.1352,
"percent_delta": -0.1191,
"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.8722,
"after": 4.0,
"delta": 0.1278,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3327,
"after": 0.0,
"delta": -0.3327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5516,
"after": 1.0,
"delta": 0.4484,
"percent_delta": 0.8129,
"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.5516,
"after": 1.0,
"delta": 0.4484,
"percent_delta": 0.8129,
"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.2403,
"after": 0.25,
"delta": 0.0097,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2951,
"after": 0.25,
"delta": -0.0451,
"percent_delta": -0.1528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.348,
"after": 0.25,
"delta": -0.098,
"percent_delta": -0.2816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2403,
"after": 0.25,
"delta": 0.0097,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.25,
"delta": -0.098,
"percent_delta": -0.2816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2403,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2951,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.348,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2403,
"delta": -0.0097,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.2951,
"delta": 0.0451,
"percent_delta": 0.1805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.348,
"delta": 0.098,
"percent_delta": 0.3919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.348,
"delta": 0.098,
"percent_delta": 0.3919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2403,
"delta": -0.0097,
"percent_delta": -0.0389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.98,
"after": 5.0,
"delta": 1.02,
"percent_delta": 0.2563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2403,
"delta": 0.0073,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.0,
"delta": -0.351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 3.0,
"delta": 2.07,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2951,
"delta": 0.0021,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"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.431,
"after": 0.348,
"delta": -0.083,
"percent_delta": -0.1926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.041,
"after": 1.0,
"delta": -0.041,
"percent_delta": -0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.93,
"after": 3.0,
"delta": 2.07,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.351,
"after": 0.0,
"delta": -0.351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.980 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.351 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 1.041 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.022 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.872 | -0.108 |
| predicted_AVG | 0.238 | 0.005 |
| predicted_BB | 0.300 | -0.051 |
| predicted_H | 0.924 | -0.006 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.083 | -0.007 |
| predicted_OBP | 0.293 | 0.000 |
| predicted_R | 0.544 | -0.050 |
| predicted_RBI | 0.328 | -0.022 |
| predicted_SLG | 0.394 | -0.037 |
| predicted_SO | 1.140 | 0.099 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 3.872 | 0.000 |
| predicted_AVG | 0.240 | 0.002 |
| predicted_BB | 0.301 | 0.001 |
| predicted_H | 0.930 | 0.006 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.083 | 0.000 |
| predicted_OBP | 0.295 | 0.002 |
| predicted_R | 0.552 | 0.007 |
| predicted_RBI | 0.333 | 0.004 |
| predicted_SLG | 0.348 | -0.046 |
| predicted_SO | 1.135 | -0.005 |
AB rounded to 4 (raw=3.98), rates preserved: AVG=0.234 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 | 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.167 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.128 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.000 | -0.301 |
| predicted_H | 1.000 | 0.070 |
| predicted_HR | 0.000 | -0.083 |
| predicted_OBP | 0.250 | -0.045 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 0.000 | -0.333 |
| predicted_SLG | 0.250 | -0.098 |
| predicted_SO | 1.000 | -0.135 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 9.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.0000 | 0.5000 |
| last_10 | 0.20 | 10 | - | 36.000 | 9.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 16.000 | 0.2500 | 0.2895 | 0.3611 | 0.2500 | 0.0278 | 0.1111 | 0.0278 | 0.4444 |
| season | 0.60 | 74 | - | 281.000 | 76.000 | 14.000 | 0.000 | 6.000 | 25.000 | 44.000 | 26.000 | 77.000 | 0.2705 | 0.3344 | 0.3843 | 0.2705 | 0.0214 | 0.0890 | 0.0925 | 0.2740 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7260 |
| predicted_AVG | 0.2458 |
| predicted_BB | 0.2310 |
| predicted_H | 0.9160 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.2931 |
| predicted_R | 0.4760 |
| predicted_RBI | 0.2990 |
| predicted_SLG | 0.3425 |
| predicted_SO | 1.2740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1890 | 0.1360 | 0.1665 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9800 | 3.7260 | 3.8722 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2458 | 0.2384 | model_form_blend |
| predicted_BB | 0.3510 | 0.2310 | 0.3001 | model_form_blend |
| predicted_H | 0.9300 | 0.9160 | 0.9241 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.0900 | 0.0740 | 0.0832 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2931 | 0.2930 | model_form_blend |
| predicted_R | 0.5950 | 0.4760 | 0.5445 | model_form_blend |
| predicted_RBI | 0.3500 | 0.2990 | 0.3284 | model_form_blend |
| predicted_SLG | 0.4310 | 0.3425 | 0.3935 | model_form_blend |
| predicted_SO | 1.0410 | 1.2740 | 1.1399 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 251 |
| Season rows before report date | 251 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 805367 |
| playerID | 805367 |
| playerName | Chase Meidroth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.324 |
| sl_xwoba | 0.286 |
| sl_xba | 0.228 |
| sl_xslg | 0.322 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 34.2 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 7.0 |
| sl_whiff_percent | 20.2 |
| sl_swing_percent | 40.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.980 | 4.000 | 3.000 | Hitting_AB | 2.824 | 4.000 | 1.176 | 0.000 |
| predicted_AVG | 0.216 | 0.500 | 0.333 | Hitting_AVG | 0.167 | 0.000 | 0.333 | 0.500 |
| predicted_BB | 0.294 | 1.000 | 0.000 | Hitting_BB | 0.294 | 0.000 | 0.706 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.640 | 2.000 | 1.000 | Hitting_H | 0.471 | 0.000 | 1.529 | 2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.261 | 0.600 | 0.333 | Hitting_OBP | 0.273 | 0.000 | 0.327 | 0.600 |
| predicted_R | 0.294 | 1.000 | 0.000 | Hitting_R | 0.294 | 1.000 | 0.706 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_SLG | 0.367 | 0.500 | 0.333 | Hitting_SLG | 0.229 | 0.000 | 0.271 | 0.500 |
| predicted_SO | 0.882 | 0.000 | 1.000 | Hitting_SO | 0.882 | 0.000 | -0.882 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.6400 -> 2.0000 (boost 1.3600, better) |
| Biggest Deboost | predicted_SO: 0.8820 -> 0.0000 (deboost -0.8820, 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.3670 -> 0.3238 (deboost -0.0432, worse) | Final model input calibrated with local 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.2565 -> 0.2637 (boost 0.0072, better) | predicted_SLG: 0.3238 -> 0.2779 (deboost -0.0459, 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.5961 -> 1.0000 (boost 0.4039, better) | predicted_RBI: 0.3101 -> 0.0000 (deboost -0.3101, worse) | AB rounded to 3 (raw=3.03), rates preserved: AVG=0.197 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3284 -> 0.0000 (deboost -0.3284, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1971 -> 0.3330 (boost 0.1359, better) | - | 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 -> 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.1971 (deboost -0.1359, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694378",
"player_name": "Jacob Gonzalez",
"position": "3B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.98,
"predicted_AVG": 0.216,
"predicted_BB": 0.294,
"predicted_H": 0.64,
"predicted_HR": 0.08,
"predicted_OBP": 0.261,
"predicted_R": 0.294,
"predicted_RBI": 0.32,
"predicted_SLG": 0.367,
"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.018,
"predicted_3B": 0.0014,
"predicted_AB": 3.0251,
"predicted_AVG": 0.1971,
"predicted_BB": 0.2725,
"predicted_H": 0.5921,
"predicted_HBP": 0.122,
"predicted_HR": 0.0745,
"predicted_OBP": 0.2565,
"predicted_R": 0.3242,
"predicted_RBI": 0.3061,
"predicted_SLG": 0.3238,
"predicted_SO": 0.8553
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.018,
"delta": 0.018,
"percent_delta": null,
"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.98,
"after": 3.0251,
"delta": 0.0451,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.1971,
"delta": -0.0189,
"percent_delta": -0.0875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.2725,
"delta": -0.0215,
"percent_delta": -0.0731,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.5921,
"delta": -0.0479,
"percent_delta": -0.0748,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0745,
"delta": -0.0055,
"percent_delta": -0.0688,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2565,
"delta": -0.0045,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.3242,
"delta": 0.0302,
"percent_delta": 0.1027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3061,
"delta": -0.0139,
"percent_delta": -0.0434,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3238,
"delta": -0.0432,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 0.8553,
"delta": -0.0267,
"percent_delta": -0.0303,
"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.367,
"after": 0.3238,
"delta": -0.0432,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.018,
"predicted_3B": 0.0014,
"predicted_AB": 3.0251,
"predicted_AVG": 0.1971,
"predicted_BB": 0.2736,
"predicted_H": 0.5961,
"predicted_HBP": 0.122,
"predicted_HR": 0.0746,
"predicted_OBP": 0.2637,
"predicted_R": 0.3284,
"predicted_RBI": 0.3101,
"predicted_SLG": 0.2779,
"predicted_SO": 0.8518
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.018,
"after": 0.018,
"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.0251,
"after": 3.0251,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1971,
"after": 0.1971,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2725,
"after": 0.2736,
"delta": 0.0011,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5921,
"after": 0.5961,
"delta": 0.004,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.122,
"after": 0.122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0745,
"after": 0.0746,
"delta": 0.0001,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2565,
"after": 0.2637,
"delta": 0.0072,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3242,
"after": 0.3284,
"delta": 0.0042,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3061,
"after": 0.3101,
"delta": 0.004,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3238,
"after": 0.2779,
"delta": -0.0459,
"percent_delta": -0.1418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8553,
"after": 0.8518,
"delta": -0.0035,
"percent_delta": -0.0041,
"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.2565,
"after": 0.2637,
"delta": 0.0072,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3238,
"after": 0.2779,
"delta": -0.0459,
"percent_delta": -0.1418,
"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.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.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0251,
"after": 3.0,
"delta": -0.0251,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2736,
"after": 0.0,
"delta": -0.2736,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5961,
"after": 1.0,
"delta": 0.4039,
"percent_delta": 0.6776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0746,
"after": 0.0,
"delta": -0.0746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3101,
"after": 0.0,
"delta": -0.3101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8518,
"after": 1.0,
"delta": 0.1482,
"percent_delta": 0.174,
"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.5961,
"after": 1.0,
"delta": 0.4039,
"percent_delta": 0.6776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3101,
"after": 0.0,
"delta": -0.3101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3284,
"after": 0.0,
"delta": -0.3284,
"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.3284,
"after": 0.0,
"delta": -0.3284,
"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.1971,
"after": 0.333,
"delta": 0.1359,
"percent_delta": 0.6895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2779,
"after": 0.333,
"delta": 0.0551,
"percent_delta": 0.1983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1971,
"after": 0.333,
"delta": 0.1359,
"percent_delta": 0.6895,
"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": 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": 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": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"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": {
"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.1971,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2637,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2779,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1971,
"delta": -0.1359,
"percent_delta": -0.4082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2637,
"delta": -0.0693,
"percent_delta": -0.2082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.2779,
"delta": -0.0551,
"percent_delta": -0.1656,
"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.1971,
"delta": -0.1359,
"percent_delta": -0.4082,
"direction": "deboost",
"projection_effect": "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.98,
"after": 4.0,
"delta": 1.02,
"percent_delta": 0.3423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.1971,
"delta": -0.0189,
"percent_delta": -0.0875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 1.0,
"delta": 0.706,
"percent_delta": 2.4014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2637,
"delta": 0.0027,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 1.0,
"delta": 0.706,
"percent_delta": 2.4014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.2779,
"delta": -0.0891,
"percent_delta": -0.2428,
"direction": "deboost",
"projection_effect": "worse",
"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": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.882,
"after": 0.0,
"delta": -0.882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.980 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.294 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.294 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.367 | - |
| 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.018 | 0.018 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.025 | 0.045 |
| predicted_AVG | 0.197 | -0.019 |
| predicted_BB | 0.273 | -0.021 |
| predicted_H | 0.592 | -0.048 |
| predicted_HBP | 0.122 | - |
| predicted_HR | 0.074 | -0.006 |
| predicted_OBP | 0.257 | -0.005 |
| predicted_R | 0.324 | 0.030 |
| predicted_RBI | 0.306 | -0.014 |
| predicted_SLG | 0.324 | -0.043 |
| predicted_SO | 0.855 | -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.018 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.025 | 0.000 |
| predicted_AVG | 0.197 | 0.000 |
| predicted_BB | 0.274 | 0.001 |
| predicted_H | 0.596 | 0.004 |
| predicted_HBP | 0.122 | 0.000 |
| predicted_HR | 0.075 | 0.000 |
| predicted_OBP | 0.264 | 0.007 |
| predicted_R | 0.328 | 0.004 |
| predicted_RBI | 0.310 | 0.004 |
| predicted_SLG | 0.278 | -0.046 |
| predicted_SO | 0.852 | -0.003 |
AB rounded to 3 (raw=3.03), 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.018 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.025 |
| predicted_AVG | 0.333 | 0.136 |
| predicted_BB | 0.000 | -0.274 |
| predicted_H | 1.000 | 0.404 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.333 | 0.069 |
| predicted_R | 0.000 | -0.328 |
| predicted_RBI | 0.000 | -0.310 |
| predicted_SLG | 0.333 | 0.055 |
| predicted_SO | 1.000 | 0.148 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.0000 | 0.0769 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 10 | - | 28.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 8.000 | 0.0714 | 0.1875 | 0.0714 | 0.0714 | 0.0000 | 0.0357 | 0.0714 | 0.2857 |
| season | 0.60 | 17 | - | 48.000 | 8.000 | 0.000 | 0.000 | 1.000 | 5.000 | 5.000 | 5.000 | 15.000 | 0.1667 | 0.2727 | 0.2292 | 0.1667 | 0.0208 | 0.1042 | 0.1042 | 0.3125 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0520 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.1100 |
| predicted_AVG | 0.1614 |
| predicted_BB | 0.2320 |
| predicted_H | 0.5020 |
| predicted_HBP | 0.1220 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.2480 |
| predicted_R | 0.3810 |
| predicted_RBI | 0.2800 |
| predicted_SLG | 0.2424 |
| predicted_SO | 0.8050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0520 | 0.0180 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.9800 | 3.1100 | 3.0251 | model_form_blend |
| predicted_AVG | 0.2160 | 0.1614 | 0.1971 | model_form_blend |
| predicted_BB | 0.2940 | 0.2320 | 0.2725 | model_form_blend |
| predicted_H | 0.6400 | 0.5020 | 0.5921 | model_form_blend |
| predicted_HBP | - | 0.1220 | 0.1220 | form_only |
| predicted_HR | 0.0800 | 0.0640 | 0.0745 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2480 | 0.2565 | model_form_blend |
| predicted_R | 0.2940 | 0.3810 | 0.3242 | model_form_blend |
| predicted_RBI | 0.3200 | 0.2800 | 0.3061 | model_form_blend |
| predicted_SLG | 0.3670 | 0.2424 | 0.3238 | model_form_blend |
| predicted_SO | 0.8820 | 0.8050 | 0.8553 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.167 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260621_CHW@DET |
| game_type | full |
| mlbID | 694378 |
| playerID | 694378 |
| playerName | Jacob Gonzalez |
| pos | SS |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-21 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.327 |
| sl_xwoba | 0.305 |
| sl_xba | 0.233 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 1.9 |
| sl_hard_hit_percent | 42.6 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 52.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.145 | 0.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_AB | 3.101 | 3.000 | 3.000 | Hitting_AB | 3.618 | 3.000 | -0.618 | 0.000 |
| predicted_AVG | 0.241 | 0.000 | 0.333 | Hitting_AVG | 0.249 | 0.000 | -0.249 | 0.000 |
| predicted_BB | 0.275 | 1.000 | 0.000 | Hitting_BB | 0.246 | 0.000 | 0.754 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 0.000 | 1.000 | Hitting_H | 0.901 | 0.000 | -0.901 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.269 | 0.250 | 0.333 | Hitting_OBP | 0.292 | 0.000 | -0.042 | 0.250 |
| predicted_R | 0.435 | 0.000 | 0.000 | Hitting_R | 0.461 | 0.000 | -0.461 | 0.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.592 | 0.000 | -0.592 | 0.000 |
| predicted_SLG | 0.514 | 0.000 | 0.333 | Hitting_SLG | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_SO | 0.899 | 1.000 | 1.000 | Hitting_SO | 1.042 | 0.000 | -0.042 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.2750 -> 1.0000 (boost 0.7250, better) |
| Biggest Deboost | predicted_H: 0.6900 -> 0.0000 (deboost -0.6900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 3.1010 -> 2.9784 (deboost -0.1226, worse) | Final model input calibrated with local form: 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.2650 -> 0.2784 (boost 0.0134, better) | predicted_SLG: 0.4944 -> 0.4597 (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 | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.6383 -> 1.0000 (boost 0.3617, better) | predicted_BB: 0.2439 -> 0.0000 (deboost -0.2439, worse) | AB rounded to 3 (raw=3.10), rates preserved: AVG=0.211 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4230 -> 0.0000 (deboost -0.4230, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2193 -> 0.3330 (boost 0.1137, better) | predicted_SLG: 0.4597 -> 0.3330 (deboost -0.1267, 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_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.4597 (boost 0.1267, better) | predicted_AVG: 0.3330 -> 0.2193 (deboost -0.1137, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643217",
"player_name": "Andrew Benintendi",
"position": "SS",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.029,
"predicted_AB": 3.101,
"predicted_AVG": 0.241,
"predicted_BB": 0.275,
"predicted_H": 0.69,
"predicted_HR": 0.17,
"predicted_OBP": 0.269,
"predicted_R": 0.435,
"predicted_RBI": 0.6,
"predicted_SLG": 0.514,
"predicted_SO": 0.899
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1292,
"predicted_3B": 0.0232,
"predicted_AB": 2.9784,
"predicted_AVG": 0.2283,
"predicted_BB": 0.2429,
"predicted_H": 0.6487,
"predicted_HBP": 0.003,
"predicted_HR": 0.18,
"predicted_OBP": 0.265,
"predicted_R": 0.4175,
"predicted_RBI": 0.63,
"predicted_SLG": 0.4944,
"predicted_SO": 0.7935
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1292,
"delta": -0.0158,
"percent_delta": -0.109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0232,
"delta": -0.0058,
"percent_delta": -0.2,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.101,
"after": 2.9784,
"delta": -0.1226,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2283,
"delta": -0.0127,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.2429,
"delta": -0.0321,
"percent_delta": -0.1167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.6487,
"delta": -0.0413,
"percent_delta": -0.0599,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.18,
"delta": 0.01,
"percent_delta": 0.0588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.265,
"delta": -0.004,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.4175,
"delta": -0.0175,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.63,
"delta": 0.03,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.514,
"after": 0.4944,
"delta": -0.0196,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 0.7935,
"delta": -0.1055,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.101,
"after": 2.9784,
"delta": -0.1226,
"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": 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.1292,
"predicted_3B": 0.0232,
"predicted_AB": 2.9784,
"predicted_AVG": 0.2193,
"predicted_BB": 0.2439,
"predicted_H": 0.6531,
"predicted_HBP": 0.003,
"predicted_HR": 0.1801,
"predicted_OBP": 0.2784,
"predicted_R": 0.423,
"predicted_RBI": 0.6383,
"predicted_SLG": 0.4597,
"predicted_SO": 0.7902
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1292,
"after": 0.1292,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9784,
"after": 2.9784,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2283,
"after": 0.2193,
"delta": -0.009,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2429,
"after": 0.2439,
"delta": 0.001,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6487,
"after": 0.6531,
"delta": 0.0044,
"percent_delta": 0.0068,
"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.18,
"after": 0.1801,
"delta": 0.0001,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.265,
"after": 0.2784,
"delta": 0.0134,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4175,
"after": 0.423,
"delta": 0.0055,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.6383,
"delta": 0.0083,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4944,
"after": 0.4597,
"delta": -0.0347,
"percent_delta": -0.0702,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7935,
"after": 0.7902,
"delta": -0.0033,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_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.265,
"after": 0.2784,
"delta": 0.0134,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4944,
"after": 0.4597,
"delta": -0.0347,
"percent_delta": -0.0702,
"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.211 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1292,
"after": 0.0,
"delta": -0.1292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0,
"delta": -0.0232,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9784,
"after": 3.0,
"delta": 0.0216,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2439,
"after": 0.0,
"delta": -0.2439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6531,
"after": 1.0,
"delta": 0.3469,
"percent_delta": 0.5312,
"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.1801,
"after": 0.0,
"delta": -0.1801,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6383,
"after": 1.0,
"delta": 0.3617,
"percent_delta": 0.5667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7902,
"after": 1.0,
"delta": 0.2098,
"percent_delta": 0.2655,
"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.6383,
"after": 1.0,
"delta": 0.3617,
"percent_delta": 0.5667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2439,
"after": 0.0,
"delta": -0.2439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.423,
"after": 0.0,
"delta": -0.423,
"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.423,
"after": 0.0,
"delta": -0.423,
"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.2193,
"after": 0.333,
"delta": 0.1137,
"percent_delta": 0.5185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2784,
"after": 0.333,
"delta": 0.0546,
"percent_delta": 0.1961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4597,
"after": 0.333,
"delta": -0.1267,
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2193,
"after": 0.333,
"delta": 0.1137,
"percent_delta": 0.5185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4597,
"after": 0.333,
"delta": -0.1267,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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_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.2193,
"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.2784,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4597,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2193,
"delta": -0.1137,
"percent_delta": -0.3415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2784,
"delta": -0.0546,
"percent_delta": -0.164,
"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.4597,
"delta": 0.1267,
"percent_delta": 0.3804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4597,
"delta": 0.1267,
"percent_delta": 0.3804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2193,
"delta": -0.1137,
"percent_delta": -0.3415,
"direction": "deboost",
"projection_effect": "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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.101,
"after": 3.0,
"delta": -0.101,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2193,
"delta": -0.0217,
"percent_delta": -0.09,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 1.0,
"delta": 0.725,
"percent_delta": 2.6364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"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.269,
"after": 0.2784,
"delta": 0.0094,
"percent_delta": 0.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.0,
"delta": -0.435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.514,
"after": 0.4597,
"delta": -0.0543,
"percent_delta": -0.1056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.899,
"after": 1.0,
"delta": 0.101,
"percent_delta": 0.1123,
"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.275,
"after": 1.0,
"delta": 0.725,
"percent_delta": 2.6364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.101 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.275 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.269 | - |
| predicted_R | 0.435 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.514 | - |
| predicted_SO | 0.899 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | -0.016 |
| predicted_3B | 0.023 | -0.006 |
| predicted_AB | 2.978 | -0.123 |
| predicted_AVG | 0.228 | -0.013 |
| predicted_BB | 0.243 | -0.032 |
| predicted_H | 0.649 | -0.041 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.180 | 0.010 |
| predicted_OBP | 0.265 | -0.004 |
| predicted_R | 0.417 | -0.018 |
| predicted_RBI | 0.630 | 0.030 |
| predicted_SLG | 0.494 | -0.020 |
| predicted_SO | 0.793 | -0.106 |
Step 3: 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.023 | 0.000 |
| predicted_AB | 2.978 | 0.000 |
| predicted_AVG | 0.219 | -0.009 |
| predicted_BB | 0.244 | 0.001 |
| predicted_H | 0.653 | 0.004 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.180 | 0.000 |
| predicted_OBP | 0.278 | 0.013 |
| predicted_R | 0.423 | 0.006 |
| predicted_RBI | 0.638 | 0.008 |
| predicted_SLG | 0.460 | -0.035 |
| predicted_SO | 0.790 | -0.003 |
AB rounded to 3 (raw=3.10), rates preserved: AVG=0.211 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 | 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.129 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | 0.022 |
| predicted_AVG | 0.333 | 0.114 |
| predicted_BB | 0.000 | -0.244 |
| predicted_H | 1.000 | 0.347 |
| predicted_HR | 0.000 | -0.180 |
| predicted_OBP | 0.333 | 0.055 |
| predicted_R | 0.000 | -0.423 |
| predicted_RBI | 1.000 | 0.362 |
| predicted_SLG | 0.333 | -0.127 |
| predicted_SO | 1.000 | 0.210 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -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 | - | 9.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 1.000 | 0.1111 | 0.1111 | 0.4444 | 0.1111 | 0.1111 | 0.4444 | 0.0000 | 0.1111 |
| last_10 | 0.20 | 10 | - | 23.000 | 5.000 | 1.000 | 0.000 | 3.000 | 7.000 | 4.000 | 2.000 | 4.000 | 0.2174 | 0.2800 | 0.6522 | 0.2174 | 0.1304 | 0.3044 | 0.0870 | 0.1739 |
| season | 0.60 | 69 | - | 214.000 | 50.000 | 10.000 | 2.000 | 9.000 | 37.000 | 30.000 | 19.000 | 62.000 | 0.2336 | 0.2924 | 0.4252 | 0.2336 | 0.0421 | 0.1729 | 0.0888 | 0.2897 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.8070 |
| predicted_AVG | 0.2106 |
| predicted_BB | 0.1980 |
| predicted_H | 0.5910 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1940 |
| predicted_OBP | 0.2595 |
| predicted_R | 0.3930 |
| predicted_RBI | 0.6720 |
| predicted_SLG | 0.4670 |
| predicted_SO | 0.6460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.1070 | 0.1292 | model_form_blend |
| predicted_3B | 0.0290 | 0.0150 | 0.0232 | model_form_blend |
| predicted_AB | 3.1010 | 2.8070 | 2.9784 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2106 | 0.2283 | model_form_blend |
| predicted_BB | 0.2750 | 0.1980 | 0.2429 | model_form_blend |
| predicted_H | 0.6900 | 0.5910 | 0.6487 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1700 | 0.1940 | 0.1800 | model_form_blend |
| predicted_OBP | 0.2690 | 0.2595 | 0.2650 | model_form_blend |
| predicted_R | 0.4350 | 0.3930 | 0.4175 | model_form_blend |
| predicted_RBI | 0.6000 | 0.6720 | 0.6300 | model_form_blend |
| predicted_SLG | 0.5140 | 0.4670 | 0.4944 | model_form_blend |
| predicted_SO | 0.8990 | 0.6460 | 0.7935 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 191 |
| Season rows before report date | 191 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | DH |
| gameID | 20260621_CHW@DET |
| game_type | full |
| mlbID | 643217 |
| playerID | 643217 |
| playerName | Andrew Benintendi |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-21 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.317 |
| sl_xwoba | 0.327 |
| sl_xba | 0.257 |
| sl_xslg | 0.44 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 29.2 |
| 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.160 | 0.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_3B | 0.013 | 1.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | 0.985 | 1.000 |
| predicted_AB | 3.667 | 3.000 | 4.000 | Hitting_AB | 3.678 | 4.000 | -0.678 | -1.000 |
| predicted_AVG | 0.229 | 0.333 | 0.250 | Hitting_AVG | 0.231 | 0.250 | 0.102 | 0.083 |
| predicted_BB | 0.587 | 1.000 | 1.000 | Hitting_BB | 0.674 | 0.000 | 0.326 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.840 | 1.000 | 1.000 | Hitting_H | 0.851 | 1.000 | 0.149 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_OBP | 0.284 | 0.500 | 0.400 | Hitting_OBP | 0.360 | 0.250 | 0.140 | 0.250 |
| predicted_R | 0.680 | 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.590 | 0.000 | -0.590 | 0.000 |
| predicted_SLG | 0.472 | 1.000 | 0.250 | Hitting_SLG | 0.464 | 0.250 | 0.536 | 0.750 |
| predicted_SO | 0.760 | 0.000 | 1.000 | Hitting_SO | 0.762 | 2.000 | -0.762 | -2.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 | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_3B: 0.0130 -> 1.0000 (boost 0.9870, better) |
| Biggest Deboost | predicted_SO: 0.7600 -> 0.0000 (deboost -0.7600, 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 | 0 | 4 | 0 | 4 | - | predicted_R: 0.6800 -> 0.5805 (deboost -0.0995, worse) | Final model input calibrated with local 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.2819 -> 0.3141 (boost 0.0322, better) | predicted_SLG: 0.4224 -> 0.3841 (deboost -0.0383, 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.4916 -> 1.0000 (boost 0.5084, better) | predicted_RBI: 0.4003 -> 0.0000 (deboost -0.4003, worse) | AB rounded to 4 (raw=3.67), rates preserved: AVG=0.220 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5881 -> 1.0000 (boost 0.4119, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3141 -> 0.4000 (boost 0.0859, better) | predicted_SLG: 0.3841 -> 0.2500 (deboost -0.1341, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 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.3841 (boost 0.1341, better) | predicted_OBP: 0.4000 -> 0.3141 (deboost -0.0859, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "LF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.013,
"predicted_AB": 3.667,
"predicted_AVG": 0.229,
"predicted_BB": 0.587,
"predicted_H": 0.84,
"predicted_HR": 0.15,
"predicted_OBP": 0.284,
"predicted_R": 0.68,
"predicted_RBI": 0.41,
"predicted_SLG": 0.472,
"predicted_SO": 0.76
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0109,
"predicted_AB": 3.6457,
"predicted_AVG": 0.22,
"predicted_BB": 0.4896,
"predicted_H": 0.8026,
"predicted_HBP": 0.039,
"predicted_HR": 0.1398,
"predicted_OBP": 0.2819,
"predicted_R": 0.5805,
"predicted_RBI": 0.3951,
"predicted_SLG": 0.4224,
"predicted_SO": 0.803
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1506,
"delta": -0.0094,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.667,
"after": 3.6457,
"delta": -0.0213,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.22,
"delta": -0.009,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.587,
"after": 0.4896,
"delta": -0.0974,
"percent_delta": -0.1659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8026,
"delta": -0.0374,
"percent_delta": -0.0445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1398,
"delta": -0.0102,
"percent_delta": -0.068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.2819,
"delta": -0.0021,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.68,
"after": 0.5805,
"delta": -0.0995,
"percent_delta": -0.1463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3951,
"delta": -0.0149,
"percent_delta": -0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4224,
"delta": -0.0496,
"percent_delta": -0.1051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.76,
"after": 0.803,
"delta": 0.043,
"percent_delta": 0.0566,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.68,
"after": 0.5805,
"delta": -0.0995,
"percent_delta": -0.1463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 75
}
},
{
"index": 3,
"step": "team_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.0109,
"predicted_AB": 3.6457,
"predicted_AVG": 0.2216,
"predicted_BB": 0.4916,
"predicted_H": 0.8081,
"predicted_HBP": 0.039,
"predicted_HR": 0.1399,
"predicted_OBP": 0.3141,
"predicted_R": 0.5881,
"predicted_RBI": 0.4003,
"predicted_SLG": 0.3841,
"predicted_SO": 0.7997
},
"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.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6457,
"after": 3.6457,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2216,
"delta": 0.0016,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4896,
"after": 0.4916,
"delta": 0.002,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8026,
"after": 0.8081,
"delta": 0.0055,
"percent_delta": 0.0069,
"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.1398,
"after": 0.1399,
"delta": 0.0001,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2819,
"after": 0.3141,
"delta": 0.0322,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5805,
"after": 0.5881,
"delta": 0.0076,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3951,
"after": 0.4003,
"delta": 0.0052,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4224,
"after": 0.3841,
"delta": -0.0383,
"percent_delta": -0.0907,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.803,
"after": 0.7997,
"delta": -0.0033,
"percent_delta": -0.0041,
"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.2819,
"after": 0.3141,
"delta": 0.0322,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4224,
"after": 0.3841,
"delta": -0.0383,
"percent_delta": -0.0907,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.67), rates preserved: AVG=0.220 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": 0.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.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6457,
"after": 4.0,
"delta": 0.3543,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4916,
"after": 1.0,
"delta": 0.5084,
"percent_delta": 1.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8081,
"after": 1.0,
"delta": 0.1919,
"percent_delta": 0.2375,
"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.1399,
"after": 0.0,
"delta": -0.1399,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4003,
"after": 0.0,
"delta": -0.4003,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7997,
"after": 1.0,
"delta": 0.2003,
"percent_delta": 0.2505,
"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.4916,
"after": 1.0,
"delta": 0.5084,
"percent_delta": 1.0342,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4003,
"after": 0.0,
"delta": -0.4003,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5881,
"after": 1.0,
"delta": 0.4119,
"percent_delta": 0.7004,
"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.5881,
"after": 1.0,
"delta": 0.4119,
"percent_delta": 0.7004,
"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.2216,
"after": 0.25,
"delta": 0.0284,
"percent_delta": 0.1282,
"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.3141,
"after": 0.4,
"delta": 0.0859,
"percent_delta": 0.2735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3841,
"after": 0.25,
"delta": -0.1341,
"percent_delta": -0.3491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3141,
"after": 0.4,
"delta": 0.0859,
"percent_delta": 0.2735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3841,
"after": 0.25,
"delta": -0.1341,
"percent_delta": -0.3491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"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_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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": 1.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2216,
"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.3141,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3841,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"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": 3.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.2216,
"delta": -0.0284,
"percent_delta": -0.1134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3141,
"delta": -0.0859,
"percent_delta": -0.2147,
"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.3841,
"delta": 0.1341,
"percent_delta": 0.5362,
"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.3841,
"delta": 0.1341,
"percent_delta": 0.5362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3141,
"delta": -0.0859,
"percent_delta": -0.2147,
"direction": "deboost",
"projection_effect": "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.013,
"after": 1.0,
"delta": 0.987,
"percent_delta": 75.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.667,
"after": 3.0,
"delta": -0.667,
"percent_delta": -0.1819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2216,
"delta": -0.0074,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.587,
"after": 1.0,
"delta": 0.413,
"percent_delta": 0.7036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.0,
"delta": 0.16,
"percent_delta": 0.1905,
"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.284,
"after": 0.3141,
"delta": 0.0301,
"percent_delta": 0.106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.3841,
"delta": -0.0879,
"percent_delta": -0.1862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 4,
"deboosted_metrics": 8,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.013,
"after": 1.0,
"delta": 0.987,
"percent_delta": 75.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.76,
"after": 0.0,
"delta": -0.76,
"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.013 | - |
| predicted_AB | 3.667 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.587 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.284 | - |
| predicted_R | 0.680 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.472 | - |
| predicted_SO | 0.760 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.009 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.646 | -0.021 |
| predicted_AVG | 0.220 | -0.009 |
| predicted_BB | 0.490 | -0.097 |
| predicted_H | 0.803 | -0.037 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.140 | -0.010 |
| predicted_OBP | 0.282 | -0.002 |
| predicted_R | 0.581 | -0.100 |
| predicted_RBI | 0.395 | -0.015 |
| predicted_SLG | 0.422 | -0.050 |
| predicted_SO | 0.803 | 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.151 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.646 | 0.000 |
| predicted_AVG | 0.222 | 0.002 |
| predicted_BB | 0.492 | 0.002 |
| predicted_H | 0.808 | 0.006 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.140 | 0.000 |
| predicted_OBP | 0.314 | 0.032 |
| predicted_R | 0.588 | 0.008 |
| predicted_RBI | 0.400 | 0.005 |
| predicted_SLG | 0.384 | -0.038 |
| predicted_SO | 0.800 | -0.003 |
AB rounded to 4 (raw=3.67), rates preserved: AVG=0.220 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 | 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.151 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.354 |
| predicted_AVG | 0.250 | 0.028 |
| predicted_BB | 1.000 | 0.508 |
| predicted_H | 1.000 | 0.192 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.400 | 0.086 |
| predicted_R | 1.000 | 0.412 |
| predicted_RBI | 0.000 | -0.400 |
| predicted_SLG | 0.250 | -0.134 |
| predicted_SO | 1.000 | 0.200 |
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 | 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 | 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 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.1176 | 0.1176 | 0.1176 | 0.1177 | 0.0000 | 0.0000 | 0.0000 | 0.3529 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.1944 | 0.2162 | 0.2500 | 0.1944 | 0.0000 | 0.0278 | 0.0278 | 0.2222 |
| season | 0.60 | 75 | - | 275.000 | 65.000 | 12.000 | 1.000 | 16.000 | 44.000 | 51.000 | 44.000 | 57.000 | 0.2364 | 0.3497 | 0.4618 | 0.2364 | 0.0582 | 0.1600 | 0.1600 | 0.2073 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6170 |
| predicted_AVG | 0.2079 |
| predicted_BB | 0.3580 |
| predicted_H | 0.7520 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1260 |
| predicted_OBP | 0.2790 |
| predicted_R | 0.4460 |
| predicted_RBI | 0.3750 |
| predicted_SLG | 0.3555 |
| predicted_SO | 0.8610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1380 | 0.1506 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 3.6670 | 3.6170 | 3.6457 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2079 | 0.2200 | model_form_blend |
| predicted_BB | 0.5870 | 0.3580 | 0.4896 | model_form_blend |
| predicted_H | 0.8400 | 0.7520 | 0.8026 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1500 | 0.1260 | 0.1398 | model_form_blend |
| predicted_OBP | 0.2840 | 0.2790 | 0.2819 | model_form_blend |
| predicted_R | 0.6800 | 0.4460 | 0.5805 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3750 | 0.3951 | model_form_blend |
| predicted_SLG | 0.4720 | 0.3555 | 0.4224 | model_form_blend |
| predicted_SO | 0.7600 | 0.8610 | 0.8030 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 678246 |
| playerID | 678246 |
| playerName | Miguel Vargas |
| pos | 3B |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.367 |
| sl_xwoba | 0.403 |
| sl_xba | 0.279 |
| sl_xslg | 0.55 |
| sl_sweet_spot_percent | 41.4 |
| sl_barrel_batted_rate | 14.5 |
| sl_hard_hit_percent | 46.0 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 19.5 |
| sl_whiff_percent | 19.8 |
| 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.417 | 0.000 | 0.000 | Hitting_2B | 0.385 | 2.000 | -0.385 | -2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.500 | 4.000 | 4.000 | Hitting_AB | 3.231 | 3.000 | 0.769 | 1.000 |
| predicted_AVG | 0.254 | 0.000 | 0.250 | Hitting_AVG | 0.262 | 0.667 | -0.262 | -0.667 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.231 | 1.000 | -0.231 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 0.000 | 1.000 | Hitting_H | 0.846 | 2.000 | -0.846 | -2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.310 | 0.000 | 0.250 | Hitting_OBP | 0.311 | 0.750 | -0.311 | -0.750 |
| predicted_R | 0.583 | 0.000 | 1.000 | Hitting_R | 0.538 | 2.000 | -0.538 | -2.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.385 | 1.000 | -0.385 | -1.000 |
| predicted_SLG | 0.490 | 0.000 | 0.250 | Hitting_SLG | 0.452 | 1.333 | -0.452 | -1.333 |
| predicted_SO | 0.917 | 0.000 | 1.000 | Hitting_SO | 0.846 | 1.000 | -0.846 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.5000 -> 4.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_SO: 0.9170 -> 0.0000 (deboost -0.9170, 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_SLG: 0.4900 -> 0.4689 (deboost -0.0211, worse) | Final model input calibrated with local form: 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.4689 -> 0.4291 (deboost -0.0398, 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.5120 -> 4.0000 (boost 0.4880, better) | predicted_2B: 0.3920 -> 0.0000 (deboost -0.3920, worse) | AB rounded to 4 (raw=3.51), rates preserved: AVG=0.242 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5788 -> 1.0000 (boost 0.4212, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2422 -> 0.2500 (boost 0.0078, better) | predicted_SLG: 0.4291 -> 0.2500 (deboost -0.1791, 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_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.4291 (boost 0.1791, better) | predicted_AVG: 0.2500 -> 0.2422 (deboost -0.0078, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695731",
"player_name": "Braden Montgomery",
"position": "CF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.417,
"predicted_3B": 0.0,
"predicted_AB": 3.5,
"predicted_AVG": 0.254,
"predicted_BB": 0.25,
"predicted_H": 0.81,
"predicted_HR": 0.09,
"predicted_OBP": 0.31,
"predicted_R": 0.583,
"predicted_RBI": 0.37,
"predicted_SLG": 0.49,
"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.392,
"predicted_3B": 0.002,
"predicted_AB": 3.512,
"predicted_AVG": 0.2556,
"predicted_BB": 0.262,
"predicted_H": 0.845,
"predicted_HBP": 0.012,
"predicted_HR": 0.0867,
"predicted_OBP": 0.3124,
"predicted_R": 0.5713,
"predicted_RBI": 0.3753,
"predicted_SLG": 0.4689,
"predicted_SO": 0.895
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.417,
"after": 0.392,
"delta": -0.025,
"percent_delta": -0.06,
"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.5,
"after": 3.512,
"delta": 0.012,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2556,
"delta": 0.0016,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.262,
"delta": 0.012,
"percent_delta": 0.048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.845,
"delta": 0.035,
"percent_delta": 0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0867,
"delta": -0.0033,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3124,
"delta": 0.0024,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.5713,
"delta": -0.0117,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3753,
"delta": 0.0053,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4689,
"delta": -0.0211,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 0.895,
"delta": -0.022,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.49,
"after": 0.4689,
"delta": -0.0211,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.392,
"predicted_3B": 0.002,
"predicted_AB": 3.512,
"predicted_AVG": 0.2422,
"predicted_BB": 0.2631,
"predicted_H": 0.8507,
"predicted_HBP": 0.012,
"predicted_HR": 0.0868,
"predicted_OBP": 0.295,
"predicted_R": 0.5788,
"predicted_RBI": 0.3802,
"predicted_SLG": 0.4291,
"predicted_SO": 0.8913
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.392,
"after": 0.392,
"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.512,
"after": 3.512,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2556,
"after": 0.2422,
"delta": -0.0134,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.262,
"after": 0.2631,
"delta": 0.0011,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.845,
"after": 0.8507,
"delta": 0.0057,
"percent_delta": 0.0067,
"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.0867,
"after": 0.0868,
"delta": 0.0001,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3124,
"after": 0.295,
"delta": -0.0174,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5713,
"after": 0.5788,
"delta": 0.0075,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3753,
"after": 0.3802,
"delta": 0.0049,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4689,
"after": 0.4291,
"delta": -0.0398,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 0.8913,
"delta": -0.0037,
"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_SLG",
"before": 0.4689,
"after": 0.4291,
"delta": -0.0398,
"percent_delta": -0.0849,
"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.242 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.392,
"after": 0.0,
"delta": -0.392,
"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.512,
"after": 4.0,
"delta": 0.488,
"percent_delta": 0.139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2631,
"after": 0.0,
"delta": -0.2631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8507,
"after": 1.0,
"delta": 0.1493,
"percent_delta": 0.1755,
"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.0868,
"after": 0.0,
"delta": -0.0868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3802,
"after": 0.0,
"delta": -0.3802,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8913,
"after": 1.0,
"delta": 0.1087,
"percent_delta": 0.122,
"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.512,
"after": 4.0,
"delta": 0.488,
"percent_delta": 0.139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.392,
"after": 0.0,
"delta": -0.392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5788,
"after": 1.0,
"delta": 0.4212,
"percent_delta": 0.7277,
"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.5788,
"after": 1.0,
"delta": 0.4212,
"percent_delta": 0.7277,
"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.2422,
"after": 0.25,
"delta": 0.0078,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.25,
"delta": -0.045,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4291,
"after": 0.25,
"delta": -0.1791,
"percent_delta": -0.4174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2422,
"after": 0.25,
"delta": 0.0078,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4291,
"after": 0.25,
"delta": -0.1791,
"percent_delta": -0.4174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2422,
"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.295,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4291,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2422,
"delta": -0.0078,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.295,
"delta": 0.045,
"percent_delta": 0.1802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4291,
"delta": 0.1791,
"percent_delta": 0.7164,
"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.4291,
"delta": 0.1791,
"percent_delta": 0.7164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2422,
"delta": -0.0078,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.417,
"after": 0.0,
"delta": -0.417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2422,
"delta": -0.0118,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.81,
"after": 0.0,
"delta": -0.81,
"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.31,
"after": 0.295,
"delta": -0.015,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4291,
"delta": -0.0609,
"percent_delta": -0.1243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 0.0,
"delta": -0.917,
"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.5,
"after": 4.0,
"delta": 0.5,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.917,
"after": 0.0,
"delta": -0.917,
"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.417 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.583 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.490 | - |
| 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.392 | -0.025 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.512 | 0.012 |
| predicted_AVG | 0.256 | 0.002 |
| predicted_BB | 0.262 | 0.012 |
| predicted_H | 0.845 | 0.035 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.087 | -0.003 |
| predicted_OBP | 0.312 | 0.002 |
| predicted_R | 0.571 | -0.012 |
| predicted_RBI | 0.375 | 0.005 |
| predicted_SLG | 0.469 | -0.021 |
| predicted_SO | 0.895 | -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.392 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.512 | 0.000 |
| predicted_AVG | 0.242 | -0.013 |
| predicted_BB | 0.263 | 0.001 |
| predicted_H | 0.851 | 0.006 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.087 | 0.000 |
| predicted_OBP | 0.295 | -0.017 |
| predicted_R | 0.579 | 0.007 |
| predicted_RBI | 0.380 | 0.005 |
| predicted_SLG | 0.429 | -0.040 |
| predicted_SO | 0.891 | -0.004 |
AB rounded to 4 (raw=3.51), rates preserved: AVG=0.242 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 | 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.392 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.488 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 0.000 | -0.263 |
| predicted_H | 1.000 | 0.149 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.250 | -0.045 |
| predicted_R | 1.000 | 0.421 |
| predicted_RBI | 0.000 | -0.380 |
| predicted_SLG | 0.250 | -0.179 |
| predicted_SO | 1.000 | 0.109 |
Attached 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 | - | 15.000 | 5.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 0.3333 | 0.4118 | 0.5333 | 0.3333 | 0.0000 | 0.0667 | 0.1333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 3.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 9.000 | 0.2121 | 0.2778 | 0.3030 | 0.2121 | 0.0000 | 0.0606 | 0.0909 | 0.2727 |
| season | 0.60 | 12 | - | 42.000 | 11.000 | 5.000 | 0.000 | 1.000 | 5.000 | 7.000 | 3.000 | 11.000 | 0.2619 | 0.3111 | 0.4524 | 0.2619 | 0.0238 | 0.1191 | 0.0714 | 0.2619 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3420 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.5360 |
| predicted_AVG | 0.2588 |
| predicted_BB | 0.2860 |
| predicted_H | 0.9150 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.3171 |
| predicted_R | 0.5480 |
| predicted_RBI | 0.3860 |
| predicted_SLG | 0.4266 |
| predicted_SO | 0.8510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.4170 | 0.3420 | 0.3920 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0020 | model_form_blend |
| predicted_AB | 3.5000 | 3.5360 | 3.5120 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2588 | 0.2556 | model_form_blend |
| predicted_BB | 0.2500 | 0.2860 | 0.2620 | model_form_blend |
| predicted_H | 0.8100 | 0.9150 | 0.8450 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0900 | 0.0800 | 0.0867 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3171 | 0.3124 | model_form_blend |
| predicted_R | 0.5830 | 0.5480 | 0.5713 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3860 | 0.3753 | model_form_blend |
| predicted_SLG | 0.4900 | 0.4266 | 0.4689 | model_form_blend |
| predicted_SO | 0.9170 | 0.8510 | 0.8950 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 12 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.262 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | RF |
| gameID | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 695731 |
| playerID | 695731 |
| playerName | Braden Montgomery |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.321 |
| sl_xwoba | 0.309 |
| sl_xba | 0.248 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 43.4 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 6.3 |
| sl_whiff_percent | 26.4 |
| 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.172 | 0.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 3.431 | 4.000 | 3.000 | Hitting_AB | 3.494 | 4.000 | 0.506 | 0.000 |
| predicted_AVG | 0.279 | 0.000 | 0.333 | Hitting_AVG | 0.266 | 0.500 | -0.266 | -0.500 |
| predicted_BB | 0.293 | 0.000 | 0.000 | Hitting_BB | 0.300 | 1.000 | -0.300 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 0.870 | 0.000 | 1.000 | Hitting_H | 0.929 | 2.000 | -0.929 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_OBP | 0.374 | 0.000 | 0.333 | Hitting_OBP | 0.377 | 0.600 | -0.377 | -0.600 |
| predicted_R | 0.638 | 0.000 | 1.000 | Hitting_R | 0.653 | 1.000 | -0.653 | -1.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.400 | 3.000 | -0.400 | -3.000 |
| predicted_SLG | 0.545 | 0.000 | 0.333 | Hitting_SLG | 0.375 | 0.500 | -0.375 | -0.500 |
| predicted_SO | 0.638 | 0.000 | 1.000 | Hitting_SO | 0.653 | 1.000 | -0.653 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.4310 -> 4.0000 (boost 0.5690, better) |
| Biggest Deboost | predicted_H: 0.8700 -> 0.0000 (deboost -0.8700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.8700 -> 0.9617 (boost 0.0917, better) | predicted_SLG: 0.5450 -> 0.5340 (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 | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5340 -> 0.4681 (deboost -0.0659, 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.6383 -> 1.0000 (boost 0.3617, worse) | predicted_RBI: 0.4947 -> 0.0000 (deboost -0.4947, worse) | AB rounded to 3 (raw=3.43), rates preserved: AVG=0.282 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6586 -> 1.0000 (boost 0.3414, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2823 -> 0.3330 (boost 0.0507, better) | predicted_SLG: 0.4681 -> 0.3330 (deboost -0.1351, 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: 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4681 (boost 0.1351, better) | predicted_AVG: 0.3330 -> 0.2823 (deboost -0.0507, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "803011",
"player_name": "Sam Antonacci",
"position": "RF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.034,
"predicted_AB": 3.431,
"predicted_AVG": 0.279,
"predicted_BB": 0.293,
"predicted_H": 0.87,
"predicted_HR": 0.12,
"predicted_OBP": 0.374,
"predicted_R": 0.638,
"predicted_RBI": 0.46,
"predicted_SLG": 0.545,
"predicted_SO": 0.638
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1928,
"predicted_3B": 0.0282,
"predicted_AB": 3.4293,
"predicted_AVG": 0.2952,
"predicted_BB": 0.3088,
"predicted_H": 0.9617,
"predicted_HBP": 0.206,
"predicted_HR": 0.1292,
"predicted_OBP": 0.3884,
"predicted_R": 0.6501,
"predicted_RBI": 0.4883,
"predicted_SLG": 0.534,
"predicted_SO": 0.6409
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1928,
"delta": 0.0208,
"percent_delta": 0.1209,
"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.431,
"after": 3.4293,
"delta": -0.0017,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2952,
"delta": 0.0162,
"percent_delta": 0.0581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.293,
"after": 0.3088,
"delta": 0.0158,
"percent_delta": 0.0539,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.9617,
"delta": 0.0917,
"percent_delta": 0.1054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1292,
"delta": 0.0092,
"percent_delta": 0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3884,
"delta": 0.0144,
"percent_delta": 0.0385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.638,
"after": 0.6501,
"delta": 0.0121,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4883,
"delta": 0.0283,
"percent_delta": 0.0615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.545,
"after": 0.534,
"delta": -0.011,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.638,
"after": 0.6409,
"delta": 0.0029,
"percent_delta": 0.0045,
"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": 0.87,
"after": 0.9617,
"delta": 0.0917,
"percent_delta": 0.1054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.545,
"after": 0.534,
"delta": -0.011,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1928,
"predicted_3B": 0.0282,
"predicted_AB": 3.4293,
"predicted_AVG": 0.2823,
"predicted_BB": 0.3101,
"predicted_H": 0.9682,
"predicted_HBP": 0.206,
"predicted_HR": 0.1293,
"predicted_OBP": 0.3419,
"predicted_R": 0.6586,
"predicted_RBI": 0.4947,
"predicted_SLG": 0.4681,
"predicted_SO": 0.6383
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1928,
"after": 0.1928,
"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.4293,
"after": 3.4293,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2952,
"after": 0.2823,
"delta": -0.0129,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3088,
"after": 0.3101,
"delta": 0.0013,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9617,
"after": 0.9682,
"delta": 0.0065,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.206,
"after": 0.206,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1292,
"after": 0.1293,
"delta": 0.0001,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3884,
"after": 0.3419,
"delta": -0.0465,
"percent_delta": -0.1197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6501,
"after": 0.6586,
"delta": 0.0085,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4883,
"after": 0.4947,
"delta": 0.0064,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.534,
"after": 0.4681,
"delta": -0.0659,
"percent_delta": -0.1234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6409,
"after": 0.6383,
"delta": -0.0026,
"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_SLG",
"before": 0.534,
"after": 0.4681,
"delta": -0.0659,
"percent_delta": -0.1234,
"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.282 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1928,
"after": 0.0,
"delta": -0.1928,
"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.4293,
"after": 3.0,
"delta": -0.4293,
"percent_delta": -0.1252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3101,
"after": 0.0,
"delta": -0.3101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9682,
"after": 1.0,
"delta": 0.0318,
"percent_delta": 0.0328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.206,
"after": 0.0,
"delta": -0.206,
"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.4947,
"after": 0.0,
"delta": -0.4947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6383,
"after": 1.0,
"delta": 0.3617,
"percent_delta": 0.5667,
"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.6383,
"after": 1.0,
"delta": 0.3617,
"percent_delta": 0.5667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4947,
"after": 0.0,
"delta": -0.4947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6586,
"after": 1.0,
"delta": 0.3414,
"percent_delta": 0.5184,
"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.6586,
"after": 1.0,
"delta": 0.3414,
"percent_delta": 0.5184,
"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.2823,
"after": 0.333,
"delta": 0.0507,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3419,
"after": 0.333,
"delta": -0.0089,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4681,
"after": 0.333,
"delta": -0.1351,
"percent_delta": -0.2886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2823,
"after": 0.333,
"delta": 0.0507,
"percent_delta": 0.1796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4681,
"after": 0.333,
"delta": -0.1351,
"percent_delta": -0.2886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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_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.2823,
"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.3419,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4681,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2823,
"delta": -0.0507,
"percent_delta": -0.1521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3419,
"delta": 0.0089,
"percent_delta": 0.0266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4681,
"delta": 0.1351,
"percent_delta": 0.4058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4681,
"delta": 0.1351,
"percent_delta": 0.4058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2823,
"delta": -0.0507,
"percent_delta": -0.1521,
"direction": "deboost",
"projection_effect": "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.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.431,
"after": 4.0,
"delta": 0.569,
"percent_delta": 0.1658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2823,
"delta": 0.0033,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.293,
"after": 0.0,
"delta": -0.293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3419,
"delta": -0.0321,
"percent_delta": -0.0858,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.638,
"after": 0.0,
"delta": -0.638,
"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.545,
"after": 0.4681,
"delta": -0.0769,
"percent_delta": -0.1411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.638,
"after": 0.0,
"delta": -0.638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.431,
"after": 4.0,
"delta": 0.569,
"percent_delta": 0.1658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 3.431 | - |
| predicted_AVG | 0.279 | - |
| predicted_BB | 0.293 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.374 | - |
| predicted_R | 0.638 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.545 | - |
| predicted_SO | 0.638 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.021 |
| predicted_3B | 0.028 | -0.006 |
| predicted_AB | 3.429 | -0.002 |
| predicted_AVG | 0.295 | 0.016 |
| predicted_BB | 0.309 | 0.016 |
| predicted_H | 0.962 | 0.092 |
| predicted_HBP | 0.206 | - |
| predicted_HR | 0.129 | 0.009 |
| predicted_OBP | 0.388 | 0.014 |
| predicted_R | 0.650 | 0.012 |
| predicted_RBI | 0.488 | 0.028 |
| predicted_SLG | 0.534 | -0.011 |
| predicted_SO | 0.641 | 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.193 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 3.429 | 0.000 |
| predicted_AVG | 0.282 | -0.013 |
| predicted_BB | 0.310 | 0.001 |
| predicted_H | 0.968 | 0.006 |
| predicted_HBP | 0.206 | 0.000 |
| predicted_HR | 0.129 | 0.000 |
| predicted_OBP | 0.342 | -0.047 |
| predicted_R | 0.659 | 0.008 |
| predicted_RBI | 0.495 | 0.006 |
| predicted_SLG | 0.468 | -0.066 |
| predicted_SO | 0.638 | -0.003 |
AB rounded to 3 (raw=3.43), rates preserved: AVG=0.282 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 | 1.000 | - |
Enforced H<=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.193 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 3.000 | -0.429 |
| predicted_AVG | 0.333 | 0.051 |
| predicted_BB | 0.000 | -0.310 |
| predicted_H | 1.000 | 0.032 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.333 | -0.009 |
| predicted_R | 1.000 | 0.341 |
| predicted_RBI | 0.000 | -0.495 |
| predicted_SLG | 0.333 | -0.135 |
| predicted_SO | 1.000 | 0.362 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 2.000 | 0.4375 | 0.5263 | 0.7500 | 0.4375 | 0.0625 | 0.2500 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 2.000 | 0.000 | 3.000 | 7.000 | 7.000 | 4.000 | 8.000 | 0.3235 | 0.4103 | 0.6471 | 0.3235 | 0.0882 | 0.2059 | 0.1177 | 0.2353 |
| season | 0.60 | 58 | - | 199.000 | 58.000 | 10.000 | 2.000 | 4.000 | 22.000 | 37.000 | 17.000 | 37.000 | 0.2915 | 0.3906 | 0.4221 | 0.2915 | 0.0201 | 0.1105 | 0.0854 | 0.1859 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2220 |
| predicted_3B | 0.0200 |
| predicted_AB | 3.4270 |
| predicted_AVG | 0.3180 |
| predicted_BB | 0.3310 |
| predicted_H | 1.0900 |
| predicted_HBP | 0.2060 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.4085 |
| predicted_R | 0.6670 |
| predicted_RBI | 0.5280 |
| predicted_SLG | 0.5185 |
| predicted_SO | 0.6450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.2220 | 0.1928 | model_form_blend |
| predicted_3B | 0.0340 | 0.0200 | 0.0282 | model_form_blend |
| predicted_AB | 3.4310 | 3.4270 | 3.4293 | model_form_blend |
| predicted_AVG | 0.2790 | 0.3180 | 0.2952 | model_form_blend |
| predicted_BB | 0.2930 | 0.3310 | 0.3088 | model_form_blend |
| predicted_H | 0.8700 | 1.0900 | 0.9617 | model_form_blend |
| predicted_HBP | - | 0.2060 | 0.2060 | form_only |
| predicted_HR | 0.1200 | 0.1420 | 0.1292 | model_form_blend |
| predicted_OBP | 0.3740 | 0.4085 | 0.3884 | model_form_blend |
| predicted_R | 0.6380 | 0.6670 | 0.6501 | model_form_blend |
| predicted_RBI | 0.4600 | 0.5280 | 0.4883 | model_form_blend |
| predicted_SLG | 0.5450 | 0.5185 | 0.5340 | model_form_blend |
| predicted_SO | 0.6380 | 0.6450 | 0.6409 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 170 |
| Season rows before report date | 170 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.291 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| 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 | LF |
| gameID | 20260622_CLE@CHW |
| game_type | full |
| mlbID | 803011 |
| playerID | 803011 |
| playerName | Sam Antonacci |
| pos | SS |
| started | True |
| startingPosition | LF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-22 |
| sl_k_percent | 14.6 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.368 |
| sl_xwoba | 0.374 |
| sl_xba | 0.302 |
| sl_xslg | 0.441 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 36.8 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 15.3 |
| sl_swing_percent | 41.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.429 | 3.000 | 2.571 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.143 | 9.000 | -2.143 | -9.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 5.500 | 8.000 | -1.500 | -4.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.700 | 3.100 | 0.300 | 2.900 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.929 | 4.000 | -1.929 | 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: 7.0000 -> 6.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: 7.0000 -> 6.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": "663436",
"player_name": "Davis Martin",
"position": "Starter",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 7.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": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": 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": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"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": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.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": 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": 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": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"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": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 7.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 | 0.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.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 | 5 | 25.200 | 20.000 | 32.000 | 10.000 | 24.000 | 3.000 | 7.0130 | 1.6364 | 0.7792 | 1.2468 | 0.3896 | 0.9351 | 0.1169 |
| last_10 | 0.35 | 10 | 56.200 | 24.000 | 58.000 | 14.000 | 64.000 | 4.000 | 3.8118 | 1.2706 | 0.4235 | 1.0235 | 0.2471 | 1.1294 | 0.0706 |
| season | 0.20 | 14 | 81.200 | 30.000 | 77.000 | 20.000 | 83.000 | 6.000 | 3.3061 | 1.1878 | 0.3674 | 0.9429 | 0.2449 | 1.0163 | 0.0735 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8890 |
| predicted_ER | 3.2310 |
| predicted_ERA | 4.9742 |
| predicted_H | 6.2570 |
| predicted_HR | 0.6220 |
| predicted_IP | 6.0000 |
| predicted_SO | 5.8570 |
| predicted_WHIP | 1.3934 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.8890 | 2.8626 | model_form_blend |
| predicted_ER | 0.0000 | 3.2310 | 1.7409 | model_form_blend |
| predicted_ERA | - | 4.9742 | 4.9742 | form_only |
| predicted_H | 4.0000 | 6.2570 | 5.2161 | model_form_blend |
| predicted_HR | 0.0000 | 0.6220 | 0.3351 | model_form_blend |
| predicted_IP | 7.0000 | 6.0000 | 6.1000 | model_form_blend |
| predicted_SO | 4.0000 | 5.8570 | 5.0005 | model_form_blend |
| predicted_WHIP | - | 1.3934 | 1.3934 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 6.0 |
| H | 4 |
| R | 0 |
| ER | 0 |
| BB | 4 |
| SO | 4 |
| HR | 0 |
| 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 | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 21 |
| Pitching_ER | 9 |
| Pitching_ERA | 3.31 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 1 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.1 |
| Pitching_Pitches | 88 |
| Pitching_R | 9 |
| Pitching_SO | 4 |
| Pitching_Strikes | 51 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260616_CHW@NYY |
| game_type | full |
| mlbID | 663436 |
| playerID | 663436 |
| playerName | Davis Martin |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-06-16 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.296 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 45.3 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 49.2 |
| sl_avg_best_speed | 78.998073968 |
| sl_avg_hyper_speed | 94.751160757 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.417 | 0.000 | -0.417 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.875 | 0.000 | -0.875 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.871 | 1.000 | 0.129 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.958 | 1.000 | 0.042 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663542",
"player_name": "Bryan Hudson",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 5.000 | 1.000 | 2.000 | 0.000 | 3.6000 | 1.2000 | 0.4000 | 1.0000 | 0.2000 | 0.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 10.000 | 2.000 | 7.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 1.0000 | 0.2000 | 0.7000 | 0.0000 |
| season | 0.20 | 24 | 23.000 | 4.000 | 21.000 | 10.000 | 23.000 | 0.000 | 1.5652 | 1.3478 | 0.1739 | 0.9130 | 0.4348 | 1.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3050 |
| predicted_ER | 0.3960 |
| predicted_ERA | 3.5649 |
| predicted_H | 0.9740 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7970 |
| predicted_WHIP | 1.2784 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3050 | 0.1309 | model_form_blend |
| predicted_ER | 0.0000 | 0.3960 | 0.1699 | model_form_blend |
| predicted_ERA | - | 3.5649 | 3.5649 | form_only |
| predicted_H | 0.0000 | 0.9740 | 0.4179 | model_form_blend |
| predicted_HR | 0.0000 | 0.0770 | 0.0330 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7970 | 0.9129 | model_form_blend |
| predicted_WHIP | - | 1.2784 | 1.2784 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.57 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260519_CHW@SEA |
| game_type | full |
| mlbID | 663542 |
| playerID | 663542 |
| playerName | Bryan Hudson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-19 |
| game_pk | 823136.0 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.291 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 35.2 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 45.0 |
| sv_pitch_count | 11.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 89.7090909090909 |
| sv_release_spin_rate | 2132.5454545454545 |
| sv_effective_speed | 91.4090909090909 |
| sv_launch_speed | 87.175 |
| sv_launch_angle | 6.75 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.774 |
| sv_delta_home_win_exp | -0.032 |
| sl_avg_best_speed | 77.477217885 |
| sl_avg_hyper_speed | 93.376620097 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.017 | 1.100 | -0.017 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.333 | 1.000 | -1.333 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "691799",
"player_name": "Grant Taylor",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 5.100 | 0.000 | 4.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.7500 | 0.1875 | 1.3125 | 0.0000 |
| last_10 | 0.35 | 6 | 6.100 | 1.000 | 6.000 | 2.000 | 8.000 | 0.000 | 1.4211 | 1.2632 | 0.1579 | 0.9474 | 0.3158 | 1.2632 | 0.0000 |
| season | 0.20 | 6 | 6.100 | 1.000 | 6.000 | 2.000 | 8.000 | 0.000 | 1.4211 | 1.2632 | 0.1579 | 0.9474 | 0.3158 | 1.2632 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3270 |
| predicted_ER | 0.4020 |
| predicted_ERA | 3.6182 |
| predicted_H | 0.9270 |
| predicted_HR | 0.1170 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0240 |
| predicted_WHIP | 1.2543 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3270 | 0.1021 | model_form_blend |
| predicted_ER | 0.0000 | 0.4020 | 0.1255 | model_form_blend |
| predicted_ERA | - | 3.6182 | 3.6182 | form_only |
| predicted_H | 1.0000 | 0.9270 | 0.9772 | model_form_blend |
| predicted_HR | 0.0000 | 0.1170 | 0.0365 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0240 | 0.3198 | model_form_blend |
| predicted_WHIP | - | 1.2543 | 1.2543 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.42 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260409_CHW@KC |
| game_type | full |
| mlbID | 691799 |
| playerID | 691799 |
| playerName | Grant Taylor |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-04-09 |
| game_pk | 824130.0 |
| sl_k_percent | 35.0 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.26 |
| sl_xwoba | 0.235 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 41.7 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 49.4 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 94.2909090909091 |
| sv_release_spin_rate | 2537.5454545454545 |
| sv_effective_speed | 95.62272727272726 |
| sv_launch_speed | 84.075 |
| sv_launch_angle | 12.625 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | -0.404 |
| sv_delta_home_win_exp | -0.161 |
| sl_avg_best_speed | 79.39440098 |
| sl_avg_hyper_speed | 94.083273039 |
| 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.500 | 1.000 | 0.500 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.500 | 2.000 | -0.500 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.550 | 0.100 | 0.450 | 0.900 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.000 | 0.000 | 2.000 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.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": "622554",
"player_name": "Seranthony Domínguez",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 2 | 1.100 | 2.000 | 3.000 | 1.000 | 0.000 | 1.000 | 13.5000 | 3.0000 | 1.5000 | 2.2500 | 0.7500 | 0.0000 | 0.7500 |
| last_10 | 0.35 | 2 | 1.100 | 2.000 | 3.000 | 1.000 | 0.000 | 1.000 | 13.5000 | 3.0000 | 1.5000 | 2.2500 | 0.7500 | 0.0000 | 0.7500 |
| season | 0.20 | 2 | 1.100 | 2.000 | 3.000 | 1.000 | 0.000 | 1.000 | 13.5000 | 3.0000 | 1.5000 | 2.2500 | 0.7500 | 0.0000 | 0.7500 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1320 |
| predicted_ER | 0.1920 |
| predicted_ERA | 4.9315 |
| predicted_H | 0.3600 |
| predicted_HR | 0.0620 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3170 |
| predicted_WHIP | 1.4071 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1320 | 0.7841 | model_form_blend |
| predicted_ER | 1.0000 | 0.1920 | 0.7990 | model_form_blend |
| predicted_ERA | - | 4.9315 | 4.9315 | form_only |
| predicted_H | 1.0000 | 0.3600 | 0.8408 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0154 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.3170 | 1.5814 | model_form_blend |
| predicted_WHIP | - | 1.4071 | 1.4071 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 13.50 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 3 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 19 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260329_CHW@MIL |
| game_type | full |
| mlbID | 622554 |
| playerID | 622554 |
| playerName | Seranthony Domínguez |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-03-29 |
| game_pk | 823810.0 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.313 |
| sl_xwoba | 0.346 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 38.7 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 43.5 |
| sv_pitch_count | 19.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 92.93157894736842 |
| sv_release_spin_rate | 2148.157894736842 |
| sv_effective_speed | 92.93157894736842 |
| sv_launch_speed | 82.55 |
| sv_launch_angle | 24.166666666666668 |
| sv_woba_value | 3.6 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 2.256 |
| sv_delta_home_win_exp | 0.681 |
| sl_avg_best_speed | 81.980224324 |
| sl_avg_hyper_speed | 94.366510811 |
| Field | Value |
|---|---|
| Pitcher | Slade Cecconi |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2138 |
| ESPN Rank | 99 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5.2000 |
| Pre ER | 2 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 2 |
| Season ERA | 4.1845 |
| Season WHIP | 1.3616 |
| Role Avg IP | 5.3140 |
| Recent Avg IP | 5.7330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"opponent": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"edges": {
"quality_edge": -0.0728,
"offense_edge": -0.0898,
"opponent_offense_edge": 0.0487,
"defense_strength": 0.0875,
"opponent_defense_weakness": 0.0198,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9978,
"run_prevention": 1.0027,
"strikeout": 0.9939
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "677944",
"profile": {
"available": true,
"pitcher_id": "677944",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 252.0,
"k_percent": 18.1,
"bb_percent": 7.5,
"woba": 0.325,
"xwoba": 0.325,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 36.1,
"avg_best_speed": 76.9149,
"avg_hyper_speed": 93.77,
"whiff_percent": 20.9,
"swing_percent": 46.4
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1793,
"command_and_miss": -0.4361,
"regression_edge": 0.0,
"xwoba_edge": -0.3571,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.3143,
"whiff_edge": -0.6571,
"bb_edge": 0.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "677944",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2138,
"sample_weight": 1.0,
"run_prevention_factor": 1.0182,
"strikeout_factor": 0.9483,
"walk_factor": 0.968,
"homer_factor": 1.0035,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677944",
"espn_id": 41462,
"player_name": "Slade Cecconi",
"team": "CLE",
"role": "pitcher",
"espn_rank": 99,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 99,
"gp_value": 17.0,
"gp_rank": 252,
"gs_value": 17.0,
"gs_rank": 17,
"qs_value": 5.0,
"qs_rank": 71,
"era_value": 4.1845,
"era_rank": 50.0,
"w_value": 4.0,
"w_rank": 88,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 90.1,
"ip_rank": 51,
"h_value": 94.0,
"h_rank": 15,
"er_value": 42.0,
"er_rank": 42,
"hr_value": 12.0,
"hr_rank": 43,
"bb_value": 29.0,
"bb_rank": 60,
"k_value": 70.0,
"k_rank": 79,
"k_per_9_value": 6.9741697,
"k_per_9_rank": 41,
"whip_value": 1.3616,
"whip_rank": 53.0,
"war_value": 1.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0182,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0182,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.968,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0035,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9483,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 54.2,
"ER": 16,
"H": 51,
"BB": 16,
"SO": 42,
"HR": 4,
"ERA": 2.6341463414634148,
"WHIP": 1.225609756097561,
"K9": 6.914634146341464,
"HR9": 0.6585365853658537,
"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-27T00:00:00"
}{
"available": false,
"pitcher_id": "677944",
"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": 17.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7727,
"prior_weight": 0.2273
},
"role": "pitcher",
"player_id": "677944",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 6.0,
"R": 6.0,
"H": 22.0,
"BB": 9.0,
"SO": 20.0,
"HR": 3.0,
"BF": 115.0,
"Pitches": 417.0
},
"per_game": {
"IP": 5.2,
"ER": 1.2,
"R": 1.2,
"H": 4.4,
"BB": 1.8,
"SO": 4.0,
"HR": 0.6,
"BF": 23.0,
"Pitches": 83.4
},
"rates": {
"ERA": 1.8837,
"WHIP": 1.0814,
"ER_per_IP": 0.2093,
"H_per_IP": 0.76744,
"BB_per_IP": 0.31395,
"SO_per_IP": 0.69767,
"HR_per_IP": 0.10465
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.2,
"ER": 16.0,
"R": 16.0,
"H": 51.0,
"BB": 16.0,
"SO": 42.0,
"HR": 4.0,
"BF": 223.0,
"Pitches": 839.0
},
"per_game": {
"IP": 5.1,
"ER": 1.6,
"R": 1.6,
"H": 5.1,
"BB": 1.6,
"SO": 4.2,
"HR": 0.4,
"BF": 22.3,
"Pitches": 83.9
},
"rates": {
"ERA": 2.6341,
"WHIP": 1.2256,
"ER_per_IP": 0.29268,
"H_per_IP": 0.93293,
"BB_per_IP": 0.29268,
"SO_per_IP": 0.76829,
"HR_per_IP": 0.07317
}
},
"season": {
"games": 17,
"totals": {
"IP": 90.1,
"ER": 42.0,
"R": 44.0,
"H": 94.0,
"BB": 29.0,
"SO": 70.0,
"HR": 12.0,
"BF": 387.0,
"Pitches": 1442.0
},
"per_game": {
"IP": 5.1,
"ER": 2.4706,
"R": 2.5882,
"H": 5.5294,
"BB": 1.7059,
"SO": 4.1176,
"HR": 0.7059,
"BF": 22.7647,
"Pitches": 84.8235
},
"rates": {
"ERA": 4.1845,
"WHIP": 1.3616,
"ER_per_IP": 0.46494,
"H_per_IP": 1.04059,
"BB_per_IP": 0.32103,
"SO_per_IP": 0.77491,
"HR_per_IP": 0.13284
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.861,
"predicted_H": 4.969,
"predicted_BB": 1.764,
"predicted_SO": 4.347,
"predicted_HR": 0.608,
"predicted_ERA": 3.032,
"predicted_WHIP": 1.2186
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.446,
"form_weight": 0.554,
"form_reliability": 0.7727,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7727,
"prior_weight": 0.2273
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.861,
"final": 1.923,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.969,
"final": 5.4289,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.764,
"final": 2.3153,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.347,
"final": 3.3002,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.608,
"final": 0.7828,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.032,
"final": 3.032,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2186,
"final": 1.2186,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Cade Smith |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1298 |
| ESPN Rank | 186 |
| 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.0522 |
| Season WHIP | 1.2000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"opponent": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"edges": {
"quality_edge": -0.0728,
"offense_edge": -0.0898,
"opponent_offense_edge": 0.0487,
"defense_strength": 0.0875,
"opponent_defense_weakness": 0.0198,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9978,
"run_prevention": 1.0027,
"strikeout": 0.9939
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "671922",
"profile": {
"available": true,
"pitcher_id": "671922",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 35.6,
"bb_percent": 6.3,
"woba": 0.289,
"xwoba": 0.291,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 48.9,
"avg_best_speed": 83.0034,
"avg_hyper_speed": 95.7584,
"whiff_percent": 35.3,
"swing_percent": 49.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1569,
"command_and_miss": 1.4689,
"regression_edge": -0.0571,
"xwoba_edge": 0.6143,
"barrel_edge": -0.8222,
"hard_hit_edge": -1.5143,
"whiff_edge": 1.4,
"bb_edge": 0.7,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "671922",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1298,
"sample_weight": 0.45,
"run_prevention_factor": 0.989,
"strikeout_factor": 1.0588,
"walk_factor": 0.9748,
"homer_factor": 1.0486,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671922",
"espn_id": 4987924,
"player_name": "Cade Smith",
"team": "CLE",
"role": "pitcher",
"espn_rank": 186,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 186,
"gp_value": 36.0,
"gp_rank": 44,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.0521,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 26.0,
"sv_rank": 1,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 38.1,
"ip_rank": 214,
"h_value": 36.0,
"h_rank": 194,
"er_value": 13.0,
"er_rank": 292,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 10.0,
"bb_rank": 346,
"k_value": 57.0,
"k_rank": 123,
"k_per_9_value": 13.382608,
"k_per_9_rank": 15,
"whip_value": 1.2,
"whip_rank": null,
"war_value": 0.58,
"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.9887,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0219,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0265,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 5,
"H": 12,
"BB": 5,
"SO": 18,
"HR": 2,
"ERA": 3.8571428571428568,
"WHIP": 1.457142857142857,
"K9": 13.885714285714284,
"HR9": 1.5428571428571427,
"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-28T00:00:00"
}{
"available": false,
"pitcher_id": "671922",
"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.599,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6031,
"prior_weight": 0.3969
},
"role": "pitcher",
"player_id": "671922",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 4.0,
"R": 5.0,
"H": 8.0,
"BB": 4.0,
"SO": 8.0,
"HR": 2.0,
"BF": 31.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 1.0,
"H": 1.6,
"BB": 0.8,
"SO": 1.6,
"HR": 0.4,
"BF": 6.2,
"Pitches": 22.6
},
"rates": {
"ERA": 6.3529,
"WHIP": 2.1176,
"ER_per_IP": 0.70588,
"H_per_IP": 1.41176,
"BB_per_IP": 0.70588,
"SO_per_IP": 1.41176,
"HR_per_IP": 0.35294
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 5.0,
"R": 6.0,
"H": 12.0,
"BB": 5.0,
"SO": 18.0,
"HR": 2.0,
"BF": 53.0,
"Pitches": 203.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5,
"R": 0.6,
"H": 1.2,
"BB": 0.5,
"SO": 1.8,
"HR": 0.2,
"BF": 5.3,
"Pitches": 20.3
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.4571,
"ER_per_IP": 0.42857,
"H_per_IP": 1.02857,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.54286,
"HR_per_IP": 0.17143
}
},
"season": {
"games": 36,
"totals": {
"IP": 38.1,
"ER": 13.0,
"R": 16.0,
"H": 36.0,
"BB": 10.0,
"SO": 57.0,
"HR": 3.0,
"BF": 160.0,
"Pitches": 670.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3611,
"R": 0.4444,
"H": 1.0,
"BB": 0.2778,
"SO": 1.5833,
"HR": 0.0833,
"BF": 4.4444,
"Pitches": 18.6111
},
"rates": {
"ERA": 3.0522,
"WHIP": 1.2,
"ER_per_IP": 0.33913,
"H_per_IP": 0.93913,
"BB_per_IP": 0.26087,
"SO_per_IP": 1.48696,
"HR_per_IP": 0.07826
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.557,
"predicted_H": 1.174,
"predicted_BB": 0.488,
"predicted_SO": 1.356,
"predicted_HR": 0.214,
"predicted_ERA": 4.6841,
"predicted_WHIP": 1.5521
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5177,
"form_weight": 0.4823,
"form_reliability": 0.6031,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.599,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6031,
"prior_weight": 0.3969
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.557,
"final": 0.2686,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.174,
"final": 0.5662,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.488,
"final": 0.2354,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.356,
"final": 0.654,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.214,
"final": 0.1032,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6841,
"final": 4.6841,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5521,
"final": 1.5521,
"source": "form_only"
}
}
}{
"available": false,
"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 | Colin Holderman |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2446 |
| ESPN Rank | 101 |
| 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 | 0 |
| Season ERA | 1.7234 |
| Season WHIP | 0.8298 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"opponent": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"edges": {
"quality_edge": -0.0728,
"offense_edge": -0.0898,
"opponent_offense_edge": 0.0487,
"defense_strength": 0.0875,
"opponent_defense_weakness": 0.0198,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9978,
"run_prevention": 1.0027,
"strikeout": 0.9939
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670059",
"profile": {
"available": true,
"pitcher_id": "670059",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 71.0,
"k_percent": 30.3,
"bb_percent": 8.2,
"woba": 0.211,
"xwoba": 0.267,
"sweet_spot_percent": 23.6,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 47.2,
"avg_best_speed": 75.3486,
"avg_hyper_speed": 94.5937,
"whiff_percent": 29.4,
"swing_percent": 43.5
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.9135,
"command_and_miss": 0.7382,
"regression_edge": -1.6,
"xwoba_edge": 1.3,
"barrel_edge": -0.5556,
"hard_hit_edge": -1.2714,
"whiff_edge": 0.5571,
"bb_edge": 0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670059",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2446,
"sample_weight": 0.45,
"run_prevention_factor": 0.9792,
"strikeout_factor": 1.03,
"walk_factor": 0.9919,
"homer_factor": 1.0253,
"woba_minus_xwoba": -0.056,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "670059",
"espn_id": 4917897,
"player_name": "Colin Holderman",
"team": "CLE",
"role": "pitcher",
"espn_rank": 101,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 101,
"gp_value": 30.0,
"gp_rank": 121,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 1.7234,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 7.0,
"hld_rank": 67,
"ip_value": 31.1,
"ip_rank": 300,
"h_value": 16.0,
"h_rank": 436,
"er_value": 6.0,
"er_rank": 496,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 10.0,
"bb_rank": 346,
"k_value": 37.0,
"k_rank": 221,
"k_per_9_value": 10.62766,
"k_per_9_rank": 19,
"whip_value": 0.8297,
"whip_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9906,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9906,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0114,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0135,
"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": 1,
"H": 4,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 1.2272727272727273,
"WHIP": 0.9545454545454546,
"K9": 11.045454545454547,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "670059",
"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.211,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.554,
"prior_weight": 0.446
},
"role": "pitcher",
"player_id": "670059",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 55.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.0,
"Pitches": 11.0
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.0909,
"ER_per_IP": 0.27273,
"H_per_IP": 0.81818,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.63636,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 32.0,
"Pitches": 115.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.5
},
"rates": {
"ERA": 1.2273,
"WHIP": 0.9545,
"ER_per_IP": 0.13636,
"H_per_IP": 0.54545,
"BB_per_IP": 0.40909,
"SO_per_IP": 1.22727,
"HR_per_IP": 0.0
}
},
"season": {
"games": 30,
"totals": {
"IP": 31.1,
"ER": 6.0,
"R": 7.0,
"H": 16.0,
"BB": 10.0,
"SO": 37.0,
"HR": 1.0,
"BF": 122.0,
"Pitches": 485.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2333,
"H": 0.5333,
"BB": 0.3333,
"SO": 1.2333,
"HR": 0.0333,
"BF": 4.0667,
"Pitches": 16.1667
},
"rates": {
"ERA": 1.7234,
"WHIP": 0.8298,
"ER_per_IP": 0.19149,
"H_per_IP": 0.51064,
"BB_per_IP": 0.31915,
"SO_per_IP": 1.18085,
"HR_per_IP": 0.03191
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.288,
"predicted_H": 0.679,
"predicted_BB": 0.292,
"predicted_SO": 1.024,
"predicted_HR": 0.059,
"predicted_ERA": 3.0383,
"predicted_WHIP": 1.139
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5384,
"form_weight": 0.4616,
"form_reliability": 0.554,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.211,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.554,
"prior_weight": 0.446
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.288,
"final": 0.1329,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.679,
"final": 0.3134,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.292,
"final": 0.6732,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.024,
"final": 0.4726,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.059,
"final": 0.0272,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0383,
"final": 3.0383,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.139,
"final": 1.139,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Erik Sabrowski |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1681 |
| ESPN Rank | 250 |
| 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 | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 3.3750 |
| Season WHIP | 1.2083 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"opponent": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"edges": {
"quality_edge": -0.0728,
"offense_edge": -0.0898,
"opponent_offense_edge": 0.0487,
"defense_strength": 0.0875,
"opponent_defense_weakness": 0.0198,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9978,
"run_prevention": 1.0027,
"strikeout": 0.9939
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681870",
"profile": {
"available": true,
"pitcher_id": "681870",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 45.0,
"bb_percent": 15.0,
"woba": 0.271,
"xwoba": 0.269,
"sweet_spot_percent": 55.0,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 45.0,
"avg_best_speed": 87.6598,
"avg_hyper_speed": 95.6306,
"whiff_percent": 34.3,
"swing_percent": 47.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0672,
"command_and_miss": 1.27,
"regression_edge": 0.0571,
"xwoba_edge": 1.2429,
"barrel_edge": -1.2,
"hard_hit_edge": -0.9571,
"whiff_edge": 1.2571,
"bb_edge": -1.475,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681870",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1681,
"sample_weight": 0.45,
"run_prevention_factor": 0.9857,
"strikeout_factor": 1.0676,
"walk_factor": 1.0531,
"homer_factor": 1.0436,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681870",
"espn_id": 5194333,
"player_name": "Erik Sabrowski",
"team": "CLE",
"role": "pitcher",
"espn_rank": 250,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 250,
"gp_value": 30.0,
"gp_rank": 121,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.375,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 19.0,
"hld_rank": 1,
"ip_value": 24.0,
"ip_rank": 374,
"h_value": 14.0,
"h_rank": 463,
"er_value": 9.0,
"er_rank": 407,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 15.0,
"bb_rank": 228,
"k_value": 45.0,
"k_rank": 169,
"k_per_9_value": 16.875,
"k_per_9_rank": 12,
"whip_value": 1.2083,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9936,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9936,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0239,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0196,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0304,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 6.2,
"ER": 5,
"H": 7,
"BB": 8,
"SO": 16,
"HR": 1,
"ERA": 6.750000000000001,
"WHIP": 2.25,
"K9": 21.6,
"HR9": 1.35,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "681870",
"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.758,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4876,
"prior_weight": 0.5124
},
"role": "pitcher",
"player_id": "681870",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.0,
"ER": 5.0,
"R": 6.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 1.0,
"BF": 17.0,
"Pitches": 77.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.2,
"H": 1.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.2,
"BF": 3.4,
"Pitches": 15.4
},
"rates": {
"ERA": 15.0,
"WHIP": 3.0,
"ER_per_IP": 1.66667,
"H_per_IP": 2.33333,
"BB_per_IP": 0.66667,
"SO_per_IP": 2.0,
"HR_per_IP": 0.33333
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 6.2,
"ER": 5.0,
"R": 6.0,
"H": 7.0,
"BB": 8.0,
"SO": 16.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 155.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5,
"R": 0.6,
"H": 0.7,
"BB": 0.8,
"SO": 1.6,
"HR": 0.1,
"BF": 3.4,
"Pitches": 15.5
},
"rates": {
"ERA": 6.75,
"WHIP": 2.25,
"ER_per_IP": 0.75,
"H_per_IP": 1.05,
"BB_per_IP": 1.2,
"SO_per_IP": 2.4,
"HR_per_IP": 0.15
}
},
"season": {
"games": 30,
"totals": {
"IP": 24.0,
"ER": 9.0,
"R": 10.0,
"H": 14.0,
"BB": 15.0,
"SO": 45.0,
"HR": 2.0,
"BF": 100.0,
"Pitches": 440.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3333,
"H": 0.4667,
"BB": 0.5,
"SO": 1.5,
"HR": 0.0667,
"BF": 3.3333,
"Pitches": 14.6667
},
"rates": {
"ERA": 3.375,
"WHIP": 1.2083,
"ER_per_IP": 0.375,
"H_per_IP": 0.58333,
"BB_per_IP": 0.625,
"SO_per_IP": 1.875,
"HR_per_IP": 0.08333
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.523,
"predicted_H": 0.828,
"predicted_BB": 0.397,
"predicted_SO": 1.013,
"predicted_HR": 0.121,
"predicted_ERA": 7.0672,
"predicted_WHIP": 1.8379
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5665,
"form_weight": 0.4335,
"form_reliability": 0.4876,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.758,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4876,
"prior_weight": 0.5124
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.523,
"final": 0.2267,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.828,
"final": 0.9254,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.397,
"final": 0.7386,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.013,
"final": 1.0056,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.121,
"final": 0.0525,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.0672,
"final": 7.0672,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.8379,
"final": 1.8379,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Hunter Gaddis |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0111 |
| ESPN Rank | 224 |
| 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 | 1 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 3 |
| Season WHIP | 1.3750 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 95,
"wins": 49,
"losses": 46,
"win_pct": 0.5158,
"runs_scored": 391.0,
"runs_allowed": 395.0,
"run_differential": -4.0,
"run_differential_per_game": -0.0421,
"avg_runs_scored": 4.1158,
"avg_runs_allowed": 4.1579,
"offense_index": 0.9102,
"defense_index": 1.0875,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.8,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0267
},
"opponent": {
"team": "CHW",
"games": 93,
"wins": 46,
"losses": 47,
"win_pct": 0.4946,
"runs_scored": 441.0,
"runs_allowed": 429.0,
"run_differential": 12.0,
"run_differential_per_game": 0.129,
"avg_runs_scored": 4.7419,
"avg_runs_allowed": 4.6129,
"offense_index": 1.0487,
"defense_index": 0.9802,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 3.3,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.0461
},
"edges": {
"quality_edge": -0.0728,
"offense_edge": -0.0898,
"opponent_offense_edge": 0.0487,
"defense_strength": 0.0875,
"opponent_defense_weakness": 0.0198,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9978,
"run_prevention": 1.0027,
"strikeout": 0.9939
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683769",
"profile": {
"available": true,
"pitcher_id": "683769",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 61.0,
"k_percent": 19.1,
"bb_percent": 8.2,
"woba": 0.322,
"xwoba": 0.327,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 29.1,
"avg_best_speed": 75.7162,
"avg_hyper_speed": 92.3164,
"whiff_percent": 28.9,
"swing_percent": 50.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0726,
"command_and_miss": -0.0068,
"regression_edge": -0.1429,
"xwoba_edge": -0.4143,
"barrel_edge": 0.2444,
"hard_hit_edge": 1.3143,
"whiff_edge": 0.4857,
"bb_edge": 0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683769",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0111,
"sample_weight": 0.45,
"run_prevention_factor": 0.9991,
"strikeout_factor": 0.9999,
"walk_factor": 0.9919,
"homer_factor": 0.9731,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683769",
"espn_id": 4187661,
"player_name": "Hunter Gaddis",
"team": "CLE",
"role": "pitcher",
"espn_rank": 224,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 224,
"gp_value": 29.0,
"gp_rank": 130,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.375,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 15.0,
"hld_rank": 8,
"ip_value": 24.0,
"ip_rank": 374,
"h_value": 28.0,
"h_rank": 277,
"er_value": 9.0,
"er_rank": 407,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 9.0,
"bb_rank": 379,
"k_value": 21.0,
"k_rank": 376,
"k_per_9_value": 7.875,
"k_per_9_rank": 27,
"whip_value": 1.5416,
"whip_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9879,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 7.2,
"ER": 2,
"H": 10,
"BB": 3,
"SO": 7,
"HR": 1,
"ERA": 2.347826086956522,
"WHIP": 1.6956521739130437,
"K9": 8.217391304347826,
"HR9": 1.173913043478261,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "683769",
"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.758,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4876,
"prior_weight": 0.5124
},
"role": "pitcher",
"player_id": "683769",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 1.0,
"SO": 5.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 64.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.2,
"SO": 1.0,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.6364,
"ER_per_IP": 0.0,
"H_per_IP": 1.36364,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.2,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 151.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.3,
"SO": 0.7,
"HR": 0.1,
"BF": 3.6,
"Pitches": 15.1
},
"rates": {
"ERA": 2.3478,
"WHIP": 1.6957,
"ER_per_IP": 0.26087,
"H_per_IP": 1.30435,
"BB_per_IP": 0.3913,
"SO_per_IP": 0.91304,
"HR_per_IP": 0.13043
}
},
"season": {
"games": 28,
"totals": {
"IP": 24.0,
"ER": 8.0,
"R": 8.0,
"H": 26.0,
"BB": 7.0,
"SO": 21.0,
"HR": 3.0,
"BF": 106.0,
"Pitches": 414.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2857,
"R": 0.2857,
"H": 0.9286,
"BB": 0.25,
"SO": 0.75,
"HR": 0.1071,
"BF": 3.7857,
"Pitches": 14.7857
},
"rates": {
"ERA": 3.0,
"WHIP": 1.375,
"ER_per_IP": 0.33333,
"H_per_IP": 1.08333,
"BB_per_IP": 0.29167,
"SO_per_IP": 0.875,
"HR_per_IP": 0.125
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.232,
"predicted_H": 0.784,
"predicted_BB": 0.237,
"predicted_SO": 0.719,
"predicted_HR": 0.077,
"predicted_ERA": 2.9881,
"predicted_WHIP": 1.4604
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5665,
"form_weight": 0.4335,
"form_reliability": 0.4876,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.758,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4876,
"prior_weight": 0.5124
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.232,
"final": 1.2336,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.784,
"final": 0.9064,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.237,
"final": 0.6692,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.719,
"final": 1.4447,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.077,
"final": 0.5999,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9881,
"final": 2.9881,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4604,
"final": 1.4604,
"source": "form_only"
}
}
}{
"available": false,
"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.221 | 0.000 | 0.000 | Hitting_2B | 0.233 | 1.000 | -0.233 | -1.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 4.080 | 5.000 | 4.000 | Hitting_AB | 3.862 | 5.000 | 1.138 | 0.000 |
| predicted_AVG | 0.268 | 0.400 | 0.250 | Hitting_AVG | 0.261 | 0.600 | 0.139 | -0.200 |
| predicted_BB | 0.382 | 0.000 | 0.000 | Hitting_BB | 0.457 | 0.000 | -0.457 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 1.090 | 2.000 | 1.000 | Hitting_H | 1.009 | 3.000 | 0.991 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_OBP | 0.353 | 0.400 | 0.250 | Hitting_OBP | 0.335 | 0.600 | 0.065 | -0.200 |
| predicted_R | 0.397 | 0.000 | 0.000 | Hitting_R | 0.461 | 1.000 | -0.461 | -1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.664 | 1.000 | -0.664 | -1.000 |
| predicted_SLG | 0.517 | 0.400 | 0.250 | Hitting_SLG | 0.440 | 0.800 | -0.040 | -0.400 |
| predicted_SO | 0.559 | 0.000 | 1.000 | Hitting_SO | 0.517 | 0.000 | -0.517 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 4.0800 -> 5.0000 (boost 0.9200, 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 | 5 | 3 | 2 | 3 | 2 | predicted_H: 1.0900 -> 1.1651 (boost 0.0751, better) | predicted_AB: 4.0800 -> 3.9656 (deboost -0.1144, worse) | Final model input calibrated with local form: 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.4996 -> 0.4264 (deboost -0.0732, 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.5677 -> 1.0000 (boost 0.4323, better) | predicted_BB: 0.3333 -> 0.0000 (deboost -0.3333, worse) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.281 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4126 -> 0.0000 (deboost -0.4126, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4264 -> 0.2500 (deboost -0.1764, 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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4264 (boost 0.1764, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "800050",
"player_name": "Chase DeLauter",
"position": "DH",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.221,
"predicted_3B": 0.015,
"predicted_AB": 4.08,
"predicted_AVG": 0.268,
"predicted_BB": 0.382,
"predicted_H": 1.09,
"predicted_HR": 0.1,
"predicted_OBP": 0.353,
"predicted_R": 0.397,
"predicted_RBI": 0.57,
"predicted_SLG": 0.517,
"predicted_SO": 0.559
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2615,
"predicted_3B": 0.0129,
"predicted_AB": 3.9656,
"predicted_AVG": 0.2953,
"predicted_BB": 0.3352,
"predicted_H": 1.1651,
"predicted_HBP": 0.003,
"predicted_HR": 0.0869,
"predicted_OBP": 0.3637,
"predicted_R": 0.4244,
"predicted_RBI": 0.5839,
"predicted_SLG": 0.4996,
"predicted_SO": 0.5763
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.2615,
"delta": 0.0405,
"percent_delta": 0.1833,
"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.08,
"after": 3.9656,
"delta": -0.1144,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2953,
"delta": 0.0273,
"percent_delta": 0.1019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.3352,
"delta": -0.0468,
"percent_delta": -0.1225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.1651,
"delta": 0.0751,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"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.353,
"after": 0.3637,
"delta": 0.0107,
"percent_delta": 0.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.4244,
"delta": 0.0274,
"percent_delta": 0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5839,
"delta": 0.0139,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.517,
"after": 0.4996,
"delta": -0.0174,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.559,
"after": 0.5763,
"delta": 0.0173,
"percent_delta": 0.0309,
"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_H",
"before": 1.09,
"after": 1.1651,
"delta": 0.0751,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 3.9656,
"delta": -0.1144,
"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": 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.2615,
"predicted_3B": 0.0129,
"predicted_AB": 3.9656,
"predicted_AVG": 0.289,
"predicted_BB": 0.3333,
"predicted_H": 1.1461,
"predicted_HBP": 0.003,
"predicted_HR": 0.0858,
"predicted_OBP": 0.3441,
"predicted_R": 0.4126,
"predicted_RBI": 0.5677,
"predicted_SLG": 0.4264,
"predicted_SO": 0.5796
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2615,
"after": 0.2615,
"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.9656,
"after": 3.9656,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2953,
"after": 0.289,
"delta": -0.0063,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3352,
"after": 0.3333,
"delta": -0.0019,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1651,
"after": 1.1461,
"delta": -0.019,
"percent_delta": -0.0163,
"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.0858,
"delta": -0.0011,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3637,
"after": 0.3441,
"delta": -0.0196,
"percent_delta": -0.0539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4244,
"after": 0.4126,
"delta": -0.0118,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5839,
"after": 0.5677,
"delta": -0.0162,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4996,
"after": 0.4264,
"delta": -0.0732,
"percent_delta": -0.1465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5763,
"after": 0.5796,
"delta": 0.0033,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4996,
"after": 0.4264,
"delta": -0.0732,
"percent_delta": -0.1465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.281 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.2615,
"after": 0.0,
"delta": -0.2615,
"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.9656,
"after": 4.0,
"delta": 0.0344,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3333,
"after": 0.0,
"delta": -0.3333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1461,
"after": 1.0,
"delta": -0.1461,
"percent_delta": -0.1275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0858,
"after": 0.0,
"delta": -0.0858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5677,
"after": 1.0,
"delta": 0.4323,
"percent_delta": 0.7615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5796,
"after": 1.0,
"delta": 0.4204,
"percent_delta": 0.7253,
"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.5677,
"after": 1.0,
"delta": 0.4323,
"percent_delta": 0.7615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3333,
"after": 0.0,
"delta": -0.3333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4126,
"after": 0.0,
"delta": -0.4126,
"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.4126,
"after": 0.0,
"delta": -0.4126,
"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.289,
"after": 0.25,
"delta": -0.039,
"percent_delta": -0.1349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3441,
"after": 0.25,
"delta": -0.0941,
"percent_delta": -0.2735,
"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.4264,
"after": 0.25,
"delta": -0.1764,
"percent_delta": -0.4137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4264,
"after": 0.25,
"delta": -0.1764,
"percent_delta": -0.4137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 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_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": 5.0,
"predicted_AVG": 0.289,
"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.3441,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4264,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.289,
"delta": 0.039,
"percent_delta": 0.1561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3441,
"delta": 0.0941,
"percent_delta": 0.3765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4264,
"delta": 0.1764,
"percent_delta": 0.7055,
"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.4264,
"delta": 0.1764,
"percent_delta": 0.7055,
"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.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 5.0,
"delta": 0.92,
"percent_delta": 0.2255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.289,
"delta": 0.021,
"percent_delta": 0.0784,
"direction": "boost",
"projection_effect": "better",
"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": 1.09,
"after": 2.0,
"delta": 0.91,
"percent_delta": 0.8349,
"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.353,
"after": 0.3441,
"delta": -0.0089,
"percent_delta": -0.0252,
"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.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.517,
"after": 0.4264,
"delta": -0.0906,
"percent_delta": -0.1752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.559,
"after": 0.0,
"delta": -0.559,
"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": 4.08,
"after": 5.0,
"delta": 0.92,
"percent_delta": 0.2255,
"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.221 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.382 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.353 | - |
| predicted_R | 0.397 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.517 | - |
| predicted_SO | 0.559 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.041 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.966 | -0.114 |
| predicted_AVG | 0.295 | 0.027 |
| predicted_BB | 0.335 | -0.047 |
| predicted_H | 1.165 | 0.075 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.087 | -0.013 |
| predicted_OBP | 0.364 | 0.011 |
| predicted_R | 0.424 | 0.027 |
| predicted_RBI | 0.584 | 0.014 |
| predicted_SLG | 0.500 | -0.017 |
| predicted_SO | 0.576 | 0.017 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.262 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.966 | 0.000 |
| predicted_AVG | 0.289 | -0.006 |
| predicted_BB | 0.333 | -0.002 |
| predicted_H | 1.146 | -0.019 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.086 | -0.001 |
| predicted_OBP | 0.344 | -0.020 |
| predicted_R | 0.413 | -0.012 |
| predicted_RBI | 0.568 | -0.016 |
| predicted_SLG | 0.426 | -0.073 |
| predicted_SO | 0.580 | 0.003 |
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.281 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.262 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.034 |
| predicted_AVG | 0.250 | -0.039 |
| predicted_BB | 0.000 | -0.333 |
| predicted_H | 1.000 | -0.146 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.250 | -0.094 |
| predicted_R | 0.000 | -0.413 |
| predicted_RBI | 1.000 | 0.432 |
| predicted_SLG | 0.250 | -0.176 |
| predicted_SO | 1.000 | 0.420 |
Attached 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 | 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 | - | 19.000 | 9.000 | 3.000 | 0.000 | 0.000 | 4.000 | 3.000 | 0.000 | 2.000 | 0.4737 | 0.4737 | 0.6316 | 0.4737 | 0.0000 | 0.2105 | 0.0000 | 0.1053 |
| last_10 | 0.20 | 10 | - | 40.000 | 16.000 | 4.000 | 0.000 | 0.000 | 6.000 | 5.000 | 2.000 | 8.000 | 0.4000 | 0.4286 | 0.5000 | 0.4000 | 0.0000 | 0.1500 | 0.0500 | 0.2000 |
| season | 0.60 | 68 | - | 255.000 | 71.000 | 15.000 | 1.000 | 7.000 | 38.000 | 27.000 | 26.000 | 38.000 | 0.2784 | 0.3428 | 0.4275 | 0.2784 | 0.0274 | 0.1490 | 0.1020 | 0.1490 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3170 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8090 |
| predicted_AVG | 0.3328 |
| predicted_BB | 0.2710 |
| predicted_H | 1.2680 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0690 |
| predicted_OBP | 0.3784 |
| predicted_R | 0.4620 |
| predicted_RBI | 0.6030 |
| predicted_SLG | 0.4757 |
| predicted_SO | 0.6000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.3170 | 0.2615 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 4.0800 | 3.8090 | 3.9656 | model_form_blend |
| predicted_AVG | 0.2680 | 0.3328 | 0.2953 | model_form_blend |
| predicted_BB | 0.3820 | 0.2710 | 0.3352 | model_form_blend |
| predicted_H | 1.0900 | 1.2680 | 1.1651 | 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.3530 | 0.3784 | 0.3637 | model_form_blend |
| predicted_R | 0.3970 | 0.4620 | 0.4244 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6030 | 0.5839 | model_form_blend |
| predicted_SLG | 0.5170 | 0.4757 | 0.4996 | model_form_blend |
| predicted_SO | 0.5590 | 0.6000 | 0.5763 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.278 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| 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 | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 800050 |
| playerID | 800050 |
| playerName | Chase DeLauter |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 13.2 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.338 |
| sl_xwoba | 0.34 |
| sl_xba | 0.281 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 15.5 |
| 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.200 | 0.000 | 0.000 | Hitting_2B | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 4.200 | 4.000 | 4.000 | Hitting_AB | 3.671 | 4.000 | 0.329 | 0.000 |
| predicted_AVG | 0.219 | 0.000 | 0.250 | Hitting_AVG | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_BB | 0.491 | 1.000 | 0.000 | Hitting_BB | 0.579 | 0.000 | 0.421 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_H | 0.920 | 0.000 | 1.000 | Hitting_H | 1.021 | 0.000 | -1.021 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.285 | 0.200 | 0.250 | Hitting_OBP | 0.386 | 0.000 | -0.186 | 0.200 |
| predicted_R | 0.473 | 0.000 | 0.000 | Hitting_R | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.264 | 0.000 | -0.264 | 0.000 |
| predicted_SLG | 0.437 | 0.000 | 0.250 | Hitting_SLG | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_SO | 0.873 | 1.000 | 1.000 | Hitting_SO | 0.793 | 1.000 | 0.207 | 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.4910 -> 1.0000 (boost 0.5090, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.2000 -> 4.0428 (deboost -0.1572, worse) | Final model input calibrated with local 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.2837 -> 0.2905 (boost 0.0068, better) | predicted_SLG: 0.3987 -> 0.3544 (deboost -0.0443, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.8595 -> 1.0000 (boost 0.1405, better) | predicted_RBI: 0.4517 -> 0.0000 (deboost -0.4517, worse) | AB rounded to 4 (raw=4.20), rates preserved: AVG=0.205 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4720 -> 0.0000 (deboost -0.4720, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2126 -> 0.2500 (boost 0.0374, better) | predicted_SLG: 0.3544 -> 0.2500 (deboost -0.1044, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_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.3544 (boost 0.1044, better) | predicted_AVG: 0.2500 -> 0.2126 (deboost -0.0374, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683953",
"player_name": "Travis Bazzana",
"position": "2B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.018,
"predicted_AB": 4.2,
"predicted_AVG": 0.219,
"predicted_BB": 0.491,
"predicted_H": 0.92,
"predicted_HR": 0.13,
"predicted_OBP": 0.285,
"predicted_R": 0.473,
"predicted_RBI": 0.47,
"predicted_SLG": 0.437,
"predicted_SO": 0.873
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1708,
"predicted_3B": 0.0155,
"predicted_AB": 4.0428,
"predicted_AVG": 0.216,
"predicted_BB": 0.4464,
"predicted_H": 0.8737,
"predicted_HBP": 0.024,
"predicted_HR": 0.1254,
"predicted_OBP": 0.2837,
"predicted_R": 0.4855,
"predicted_RBI": 0.4646,
"predicted_SLG": 0.3987,
"predicted_SO": 0.9043
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1708,
"delta": -0.0292,
"percent_delta": -0.146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0155,
"delta": -0.0025,
"percent_delta": -0.1389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 4.0428,
"delta": -0.1572,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.216,
"delta": -0.003,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.491,
"after": 0.4464,
"delta": -0.0446,
"percent_delta": -0.0908,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.8737,
"delta": -0.0463,
"percent_delta": -0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1254,
"delta": -0.0046,
"percent_delta": -0.0354,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2837,
"delta": -0.0013,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.473,
"after": 0.4855,
"delta": 0.0125,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4646,
"delta": -0.0054,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.3987,
"delta": -0.0383,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.873,
"after": 0.9043,
"delta": 0.0313,
"percent_delta": 0.0359,
"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.2,
"after": 4.0428,
"delta": -0.1572,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1708,
"predicted_3B": 0.0155,
"predicted_AB": 4.0428,
"predicted_AVG": 0.2126,
"predicted_BB": 0.4438,
"predicted_H": 0.8595,
"predicted_HBP": 0.024,
"predicted_HR": 0.1238,
"predicted_OBP": 0.2905,
"predicted_R": 0.472,
"predicted_RBI": 0.4517,
"predicted_SLG": 0.3544,
"predicted_SO": 0.9095
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1708,
"after": 0.1708,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0155,
"after": 0.0155,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0428,
"after": 4.0428,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2126,
"delta": -0.0034,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4464,
"after": 0.4438,
"delta": -0.0026,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8737,
"after": 0.8595,
"delta": -0.0142,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1254,
"after": 0.1238,
"delta": -0.0016,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2837,
"after": 0.2905,
"delta": 0.0068,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4855,
"after": 0.472,
"delta": -0.0135,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4646,
"after": 0.4517,
"delta": -0.0129,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3987,
"after": 0.3544,
"delta": -0.0443,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9043,
"after": 0.9095,
"delta": 0.0052,
"percent_delta": 0.0058,
"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.2837,
"after": 0.2905,
"delta": 0.0068,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3987,
"after": 0.3544,
"delta": -0.0443,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.20), rates preserved: AVG=0.205 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.1708,
"after": 0.0,
"delta": -0.1708,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0155,
"after": 0.0,
"delta": -0.0155,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0428,
"after": 4.0,
"delta": -0.0428,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4438,
"after": 0.0,
"delta": -0.4438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8595,
"after": 1.0,
"delta": 0.1405,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1238,
"after": 0.0,
"delta": -0.1238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4517,
"after": 0.0,
"delta": -0.4517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9095,
"after": 1.0,
"delta": 0.0905,
"percent_delta": 0.0995,
"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.8595,
"after": 1.0,
"delta": 0.1405,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4517,
"after": 0.0,
"delta": -0.4517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.472,
"after": 0.0,
"delta": -0.472,
"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.472,
"after": 0.0,
"delta": -0.472,
"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.2126,
"after": 0.25,
"delta": 0.0374,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3544,
"after": 0.25,
"delta": -0.1044,
"percent_delta": -0.2946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2126,
"after": 0.25,
"delta": 0.0374,
"percent_delta": 0.1759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3544,
"after": 0.25,
"delta": -0.1044,
"percent_delta": -0.2946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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": 4.0,
"predicted_AVG": 0.2126,
"predicted_BB": 1.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.3544,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2126,
"delta": -0.0374,
"percent_delta": -0.1496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3544,
"delta": 0.1044,
"percent_delta": 0.4176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3544,
"delta": 0.1044,
"percent_delta": 0.4176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2126,
"delta": -0.0374,
"percent_delta": -0.1496,
"direction": "deboost",
"projection_effect": "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.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 4.0,
"delta": -0.2,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2126,
"delta": -0.0064,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.491,
"after": 1.0,
"delta": 0.509,
"percent_delta": 1.0367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2905,
"delta": 0.0055,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.473,
"after": 0.0,
"delta": -0.473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.3544,
"delta": -0.0826,
"percent_delta": -0.189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.873,
"after": 1.0,
"delta": 0.127,
"percent_delta": 0.1455,
"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.491,
"after": 1.0,
"delta": 0.509,
"percent_delta": 1.0367,
"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.200 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.491 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.473 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.437 | - |
| predicted_SO | 0.873 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | -0.029 |
| predicted_3B | 0.015 | -0.002 |
| predicted_AB | 4.043 | -0.157 |
| predicted_AVG | 0.216 | -0.003 |
| predicted_BB | 0.446 | -0.045 |
| predicted_H | 0.874 | -0.046 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.125 | -0.005 |
| predicted_OBP | 0.284 | -0.001 |
| predicted_R | 0.485 | 0.013 |
| predicted_RBI | 0.465 | -0.005 |
| predicted_SLG | 0.399 | -0.038 |
| predicted_SO | 0.904 | 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.171 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 4.043 | 0.000 |
| predicted_AVG | 0.213 | -0.003 |
| predicted_BB | 0.444 | -0.003 |
| predicted_H | 0.860 | -0.014 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.124 | -0.002 |
| predicted_OBP | 0.290 | 0.007 |
| predicted_R | 0.472 | -0.014 |
| predicted_RBI | 0.452 | -0.013 |
| predicted_SLG | 0.354 | -0.044 |
| predicted_SO | 0.909 | 0.005 |
AB rounded to 4 (raw=4.20), rates preserved: AVG=0.205 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 | 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.171 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | -0.043 |
| predicted_AVG | 0.250 | 0.037 |
| predicted_BB | 0.000 | -0.444 |
| predicted_H | 1.000 | 0.140 |
| predicted_HR | 0.000 | -0.124 |
| predicted_OBP | 0.250 | -0.040 |
| predicted_R | 0.000 | -0.472 |
| predicted_RBI | 0.000 | -0.452 |
| predicted_SLG | 0.250 | -0.104 |
| predicted_SO | 1.000 | 0.091 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 5.000 | 0.1000 | 0.1364 | 0.1000 | 0.1000 | 0.0000 | 0.0500 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 40.000 | 8.000 | 0.000 | 0.000 | 2.000 | 7.000 | 7.000 | 3.000 | 12.000 | 0.2000 | 0.2500 | 0.3500 | 0.2000 | 0.0500 | 0.1750 | 0.0750 | 0.3000 |
| season | 0.60 | 55 | - | 204.000 | 50.000 | 11.000 | 1.000 | 7.000 | 25.000 | 26.000 | 27.000 | 48.000 | 0.2451 | 0.3362 | 0.4118 | 0.2451 | 0.0343 | 0.1226 | 0.1323 | 0.2353 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1300 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.8230 |
| predicted_AVG | 0.2117 |
| predicted_BB | 0.3840 |
| predicted_H | 0.8090 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.1190 |
| predicted_OBP | 0.2820 |
| predicted_R | 0.5030 |
| predicted_RBI | 0.4570 |
| predicted_SLG | 0.3452 |
| predicted_SO | 0.9480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1300 | 0.1708 | model_form_blend |
| predicted_3B | 0.0180 | 0.0120 | 0.0155 | model_form_blend |
| predicted_AB | 4.2000 | 3.8230 | 4.0428 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2117 | 0.2160 | model_form_blend |
| predicted_BB | 0.4910 | 0.3840 | 0.4464 | model_form_blend |
| predicted_H | 0.9200 | 0.8090 | 0.8737 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1300 | 0.1190 | 0.1254 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2820 | 0.2837 | model_form_blend |
| predicted_R | 0.4730 | 0.5030 | 0.4855 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4570 | 0.4646 | model_form_blend |
| predicted_SLG | 0.4370 | 0.3452 | 0.3987 | model_form_blend |
| predicted_SO | 0.8730 | 0.9480 | 0.9043 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 140 |
| Season rows before report date | 140 |
| Report year | 2026 |
| Profile rows used | 55 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| 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.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 2B |
| gameID | 20260630_TEX@CLE |
| game_type | full |
| mlbID | 683953 |
| playerID | 683953 |
| playerName | Travis Bazzana |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-30 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.33 |
| sl_xwoba | 0.306 |
| sl_xba | 0.23 |
| sl_xslg | 0.359 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 36.5 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 0.000 | 0.000 | Hitting_2B | 0.231 | 1.000 | -0.231 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.400 | 4.000 | 3.000 | Hitting_AB | 3.231 | 4.000 | 0.769 | 0.000 |
| predicted_AVG | 0.262 | 0.250 | 0.333 | Hitting_AVG | 0.286 | 0.500 | -0.036 | -0.250 |
| predicted_BB | 0.077 | 0.000 | 0.000 | Hitting_BB | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_H | 0.890 | 1.000 | 1.000 | Hitting_H | 0.923 | 2.000 | 0.077 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.312 | 0.250 | 0.333 | Hitting_OBP | 0.302 | 0.500 | -0.052 | -0.250 |
| predicted_R | 0.231 | 1.000 | 0.000 | Hitting_R | 0.231 | 1.000 | 0.769 | 0.000 |
| predicted_RBI | 0.490 | 1.000 | 0.000 | Hitting_RBI | 0.615 | 0.000 | 0.385 | 1.000 |
| predicted_SLG | 0.503 | 0.250 | 0.333 | Hitting_SLG | 0.429 | 0.750 | -0.179 | -0.500 |
| predicted_SO | 1.077 | 2.000 | 1.000 | Hitting_SO | 1.077 | 1.000 | 0.923 | 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.0770 -> 2.0000 (boost 0.9230, worse) |
| Biggest Deboost | predicted_2B: 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 | 3 | 1 | 2 | 2 | 1 | predicted_AVG: 0.2620 -> 0.2707 (boost 0.0087, better) | predicted_SO: 1.0770 -> 1.0239 (deboost -0.0531, better) | Final model input calibrated with local 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.4826 -> 0.4260 (deboost -0.0566, 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.9125 -> 1.0000 (boost 0.0875, better) | predicted_RBI: 0.4937 -> 0.0000 (deboost -0.4937, worse) | AB rounded to 3 (raw=3.43), rates preserved: AVG=0.266 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2673 -> 0.0000 (deboost -0.2673, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2663 -> 0.3330 (boost 0.0667, better) | predicted_SLG: 0.4260 -> 0.3330 (deboost -0.0930, 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_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.4260 (boost 0.0930, better) | predicted_AVG: 0.3330 -> 0.2663 (deboost -0.0667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696135",
"player_name": "Kahlil Watson",
"position": "RF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.0,
"predicted_AB": 3.4,
"predicted_AVG": 0.262,
"predicted_BB": 0.077,
"predicted_H": 0.89,
"predicted_HR": 0.11,
"predicted_OBP": 0.312,
"predicted_R": 0.231,
"predicted_RBI": 0.49,
"predicted_SLG": 0.503,
"predicted_SO": 1.077
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.002,
"predicted_AB": 3.4267,
"predicted_AVG": 0.2707,
"predicted_BB": 0.0988,
"predicted_H": 0.9276,
"predicted_HBP": 0.012,
"predicted_HR": 0.1041,
"predicted_OBP": 0.3148,
"predicted_R": 0.2749,
"predicted_RBI": 0.5078,
"predicted_SLG": 0.4826,
"predicted_SO": 1.0239
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.235,
"delta": 0.004,
"percent_delta": 0.0173,
"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.4,
"after": 3.4267,
"delta": 0.0267,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2707,
"delta": 0.0087,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.077,
"after": 0.0988,
"delta": 0.0218,
"percent_delta": 0.2831,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9276,
"delta": 0.0376,
"percent_delta": 0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1041,
"delta": -0.0059,
"percent_delta": -0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3148,
"delta": 0.0028,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.231,
"after": 0.2749,
"delta": 0.0439,
"percent_delta": 0.19,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.5078,
"delta": 0.0178,
"percent_delta": 0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.503,
"after": 0.4826,
"delta": -0.0204,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.077,
"after": 1.0239,
"delta": -0.0531,
"percent_delta": -0.0493,
"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_AVG",
"before": 0.262,
"after": 0.2707,
"delta": 0.0087,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.077,
"after": 1.0239,
"delta": -0.0531,
"percent_delta": -0.0493,
"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": 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.235,
"predicted_3B": 0.002,
"predicted_AB": 3.4267,
"predicted_AVG": 0.2663,
"predicted_BB": 0.0982,
"predicted_H": 0.9125,
"predicted_HBP": 0.012,
"predicted_HR": 0.1028,
"predicted_OBP": 0.2867,
"predicted_R": 0.2673,
"predicted_RBI": 0.4937,
"predicted_SLG": 0.426,
"predicted_SO": 1.0298
},
"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.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4267,
"after": 3.4267,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2707,
"after": 0.2663,
"delta": -0.0044,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0988,
"after": 0.0982,
"delta": -0.0006,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9276,
"after": 0.9125,
"delta": -0.0151,
"percent_delta": -0.0163,
"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.1041,
"after": 0.1028,
"delta": -0.0013,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3148,
"after": 0.2867,
"delta": -0.0281,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2749,
"after": 0.2673,
"delta": -0.0076,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5078,
"after": 0.4937,
"delta": -0.0141,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4826,
"after": 0.426,
"delta": -0.0566,
"percent_delta": -0.1173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0239,
"after": 1.0298,
"delta": 0.0059,
"percent_delta": 0.0058,
"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.4826,
"after": 0.426,
"delta": -0.0566,
"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 3 (raw=3.43), rates preserved: AVG=0.266 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"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.4267,
"after": 3.0,
"delta": -0.4267,
"percent_delta": -0.1245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0982,
"after": 0.0,
"delta": -0.0982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9125,
"after": 1.0,
"delta": 0.0875,
"percent_delta": 0.0959,
"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.1028,
"after": 0.0,
"delta": -0.1028,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4937,
"after": 0.0,
"delta": -0.4937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0298,
"after": 1.0,
"delta": -0.0298,
"percent_delta": -0.0289,
"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.9125,
"after": 1.0,
"delta": 0.0875,
"percent_delta": 0.0959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4937,
"after": 0.0,
"delta": -0.4937,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2673,
"after": 0.0,
"delta": -0.2673,
"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.2673,
"after": 0.0,
"delta": -0.2673,
"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.2663,
"after": 0.333,
"delta": 0.0667,
"percent_delta": 0.2505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0463,
"percent_delta": 0.1615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.426,
"after": 0.333,
"delta": -0.093,
"percent_delta": -0.2183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2663,
"after": 0.333,
"delta": 0.0667,
"percent_delta": 0.2505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.426,
"after": 0.333,
"delta": -0.093,
"percent_delta": -0.2183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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": 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_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.2663,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2867,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.426,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2663,
"delta": -0.0667,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2867,
"delta": -0.0463,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.426,
"delta": 0.093,
"percent_delta": 0.2794,
"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.426,
"delta": 0.093,
"percent_delta": 0.2794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2663,
"delta": -0.0667,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4,
"after": 4.0,
"delta": 0.6,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2663,
"delta": 0.0043,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.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.312,
"after": 0.2867,
"delta": -0.0253,
"percent_delta": -0.0811,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.231,
"after": 1.0,
"delta": 0.769,
"percent_delta": 3.329,
"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.503,
"after": 0.426,
"delta": -0.077,
"percent_delta": -0.1531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.077,
"after": 2.0,
"delta": 0.923,
"percent_delta": 0.857,
"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.077,
"after": 2.0,
"delta": 0.923,
"percent_delta": 0.857,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"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": "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 | 3.400 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.077 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.231 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.503 | - |
| predicted_SO | 1.077 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.004 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.427 | 0.027 |
| predicted_AVG | 0.271 | 0.009 |
| predicted_BB | 0.099 | 0.022 |
| predicted_H | 0.928 | 0.038 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.104 | -0.006 |
| predicted_OBP | 0.315 | 0.003 |
| predicted_R | 0.275 | 0.044 |
| predicted_RBI | 0.508 | 0.018 |
| predicted_SLG | 0.483 | -0.020 |
| predicted_SO | 1.024 | -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.235 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.427 | 0.000 |
| predicted_AVG | 0.266 | -0.004 |
| predicted_BB | 0.098 | -0.001 |
| predicted_H | 0.912 | -0.015 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.103 | -0.001 |
| predicted_OBP | 0.287 | -0.028 |
| predicted_R | 0.267 | -0.008 |
| predicted_RBI | 0.494 | -0.014 |
| predicted_SLG | 0.426 | -0.057 |
| predicted_SO | 1.030 | 0.006 |
AB rounded to 3 (raw=3.43), rates preserved: AVG=0.266 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.235 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.427 |
| predicted_AVG | 0.333 | 0.067 |
| predicted_BB | 0.000 | -0.098 |
| predicted_H | 1.000 | 0.088 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.333 | 0.046 |
| predicted_R | 0.000 | -0.267 |
| predicted_RBI | 0.000 | -0.494 |
| predicted_SLG | 0.333 | -0.093 |
| predicted_SO | 1.000 | -0.030 |
Attached 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 | 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 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 4.000 | 0.3529 | 0.3529 | 0.4706 | 0.3529 | 0.0000 | 0.0588 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 10 | - | 32.000 | 12.000 | 3.000 | 0.000 | 1.000 | 8.000 | 3.000 | 1.000 | 7.000 | 0.3750 | 0.3939 | 0.5625 | 0.3750 | 0.0312 | 0.2500 | 0.0312 | 0.2188 |
| season | 0.60 | 13 | - | 42.000 | 12.000 | 3.000 | 0.000 | 1.000 | 8.000 | 3.000 | 1.000 | 14.000 | 0.2857 | 0.3023 | 0.4286 | 0.2857 | 0.0238 | 0.1905 | 0.0238 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2430 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.4810 |
| predicted_AVG | 0.2885 |
| predicted_BB | 0.1430 |
| predicted_H | 1.0040 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.3205 |
| predicted_R | 0.3640 |
| predicted_RBI | 0.5440 |
| predicted_SLG | 0.4410 |
| predicted_SO | 0.9160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.2430 | 0.2350 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0020 | model_form_blend |
| predicted_AB | 3.4000 | 3.4810 | 3.4267 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2885 | 0.2707 | model_form_blend |
| predicted_BB | 0.0770 | 0.1430 | 0.0988 | model_form_blend |
| predicted_H | 0.8900 | 1.0040 | 0.9276 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1100 | 0.0920 | 0.1041 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3205 | 0.3148 | model_form_blend |
| predicted_R | 0.2310 | 0.3640 | 0.2749 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5440 | 0.5078 | model_form_blend |
| predicted_SLG | 0.5030 | 0.4410 | 0.4826 | model_form_blend |
| predicted_SO | 1.0770 | 0.9160 | 1.0239 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| 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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 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 | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 696135 |
| playerID | 696135 |
| playerName | Kahlil Watson |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 32.6 |
| sl_bb_percent | 2.3 |
| sl_woba | 0.318 |
| sl_xwoba | 0.303 |
| sl_xba | 0.24 |
| sl_xslg | 0.454 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 92.8 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 33.8 |
| sl_swing_percent | 48.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.092 | 0.000 | 0.000 | Hitting_2B | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 3.320 | 3.000 | 3.000 | Hitting_AB | 3.500 | 4.000 | -0.500 | -1.000 |
| predicted_AVG | 0.234 | 0.000 | 0.333 | Hitting_AVG | 0.217 | 0.250 | -0.217 | -0.250 |
| predicted_BB | 0.355 | 1.000 | 0.000 | Hitting_BB | 0.388 | 0.000 | 0.612 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.780 | 0.000 | 1.000 | Hitting_H | 0.760 | 1.000 | -0.760 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_OBP | 0.288 | 0.250 | 0.333 | Hitting_OBP | 0.302 | 0.250 | -0.052 | 0.000 |
| predicted_R | 0.382 | 0.000 | 0.000 | Hitting_R | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_SLG | 0.459 | 0.000 | 0.333 | Hitting_SLG | 0.345 | 0.250 | -0.345 | -0.250 |
| predicted_SO | 1.132 | 0.000 | 1.000 | Hitting_SO | 1.291 | 1.000 | -1.291 | -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.3550 -> 1.0000 (boost 0.6450, better) |
| Biggest Deboost | predicted_SO: 1.1320 -> 0.0000 (deboost -1.1320, 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_AB: 3.3200 -> 3.2640 (deboost -0.0560, worse) | Final model input calibrated with local 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.2874 -> 0.2951 (boost 0.0077, better) | predicted_SLG: 0.4244 -> 0.3834 (deboost -0.0410, 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.7337 -> 1.0000 (boost 0.2663, better) | predicted_RBI: 0.3867 -> 0.0000 (deboost -0.3867, worse) | AB rounded to 3 (raw=3.32), rates preserved: AVG=0.221 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3714 -> 0.0000 (deboost -0.3714, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2248 -> 0.3330 (boost 0.1082, better) | predicted_SLG: 0.3834 -> 0.3330 (deboost -0.0504, 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.3834 (boost 0.0504, better) | predicted_AVG: 0.3330 -> 0.2248 (deboost -0.1082, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "700932",
"player_name": "Kyle Manzardo",
"position": "1B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.092,
"predicted_3B": 0.013,
"predicted_AB": 3.32,
"predicted_AVG": 0.234,
"predicted_BB": 0.355,
"predicted_H": 0.78,
"predicted_HR": 0.14,
"predicted_OBP": 0.288,
"predicted_R": 0.382,
"predicted_RBI": 0.41,
"predicted_SLG": 0.459,
"predicted_SO": 1.132
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0811,
"predicted_3B": 0.0109,
"predicted_AB": 3.264,
"predicted_AVG": 0.2278,
"predicted_BB": 0.3272,
"predicted_H": 0.7459,
"predicted_HBP": 0.032,
"predicted_HR": 0.14,
"predicted_OBP": 0.2874,
"predicted_R": 0.382,
"predicted_RBI": 0.3978,
"predicted_SLG": 0.4244,
"predicted_SO": 1.1034
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.0811,
"delta": -0.0109,
"percent_delta": -0.1185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.32,
"after": 3.264,
"delta": -0.056,
"percent_delta": -0.0169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2278,
"delta": -0.0062,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.355,
"after": 0.3272,
"delta": -0.0278,
"percent_delta": -0.0783,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7459,
"delta": -0.0341,
"percent_delta": -0.0437,
"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.288,
"after": 0.2874,
"delta": -0.0006,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.382,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3978,
"delta": -0.0122,
"percent_delta": -0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4244,
"delta": -0.0346,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.132,
"after": 1.1034,
"delta": -0.0286,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.32,
"after": 3.264,
"delta": -0.056,
"percent_delta": -0.0169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0811,
"predicted_3B": 0.0109,
"predicted_AB": 3.264,
"predicted_AVG": 0.2248,
"predicted_BB": 0.3253,
"predicted_H": 0.7337,
"predicted_HBP": 0.032,
"predicted_HR": 0.1383,
"predicted_OBP": 0.2951,
"predicted_R": 0.3714,
"predicted_RBI": 0.3867,
"predicted_SLG": 0.3834,
"predicted_SO": 1.1098
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0811,
"after": 0.0811,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.264,
"after": 3.264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2278,
"after": 0.2248,
"delta": -0.003,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3272,
"after": 0.3253,
"delta": -0.0019,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7459,
"after": 0.7337,
"delta": -0.0122,
"percent_delta": -0.0164,
"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.14,
"after": 0.1383,
"delta": -0.0017,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2874,
"after": 0.2951,
"delta": 0.0077,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.3714,
"delta": -0.0106,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3978,
"after": 0.3867,
"delta": -0.0111,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4244,
"after": 0.3834,
"delta": -0.041,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1034,
"after": 1.1098,
"delta": 0.0064,
"percent_delta": 0.0058,
"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.2874,
"after": 0.2951,
"delta": 0.0077,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4244,
"after": 0.3834,
"delta": -0.041,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.32), rates preserved: AVG=0.221 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.0811,
"after": 0.0,
"delta": -0.0811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.264,
"after": 3.0,
"delta": -0.264,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3253,
"after": 0.0,
"delta": -0.3253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7337,
"after": 1.0,
"delta": 0.2663,
"percent_delta": 0.363,
"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.1383,
"after": 0.0,
"delta": -0.1383,
"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.1098,
"after": 1.0,
"delta": -0.1098,
"percent_delta": -0.0989,
"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.7337,
"after": 1.0,
"delta": 0.2663,
"percent_delta": 0.363,
"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": 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.3714,
"after": 0.0,
"delta": -0.3714,
"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.3714,
"after": 0.0,
"delta": -0.3714,
"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.2248,
"after": 0.333,
"delta": 0.1082,
"percent_delta": 0.4813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2951,
"after": 0.333,
"delta": 0.0379,
"percent_delta": 0.1284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.333,
"delta": -0.0504,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2248,
"after": 0.333,
"delta": 0.1082,
"percent_delta": 0.4813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3834,
"after": 0.333,
"delta": -0.0504,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2248,
"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.2951,
"predicted_R": 0.0,
"predicted_RBI": 0.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": 3.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.2248,
"delta": -0.1082,
"percent_delta": -0.3249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2951,
"delta": -0.0379,
"percent_delta": -0.1139,
"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.3834,
"delta": 0.0504,
"percent_delta": 0.1514,
"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.3834,
"delta": 0.0504,
"percent_delta": 0.1514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2248,
"delta": -0.1082,
"percent_delta": -0.3249,
"direction": "deboost",
"projection_effect": "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.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.32,
"after": 3.0,
"delta": -0.32,
"percent_delta": -0.0964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2248,
"delta": -0.0092,
"percent_delta": -0.0393,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.355,
"after": 1.0,
"delta": 0.645,
"percent_delta": 1.8169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2951,
"delta": 0.0071,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.3834,
"delta": -0.0756,
"percent_delta": -0.1647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.132,
"after": 0.0,
"delta": -1.132,
"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.355,
"after": 1.0,
"delta": 0.645,
"percent_delta": 1.8169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.132,
"after": 0.0,
"delta": -1.132,
"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.092 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.320 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.355 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.382 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.459 | - |
| predicted_SO | 1.132 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.011 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.264 | -0.056 |
| predicted_AVG | 0.228 | -0.006 |
| predicted_BB | 0.327 | -0.028 |
| predicted_H | 0.746 | -0.034 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.140 | 0.000 |
| predicted_OBP | 0.287 | -0.001 |
| predicted_R | 0.382 | 0.000 |
| predicted_RBI | 0.398 | -0.012 |
| predicted_SLG | 0.424 | -0.035 |
| predicted_SO | 1.103 | -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.081 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.264 | 0.000 |
| predicted_AVG | 0.225 | -0.003 |
| predicted_BB | 0.325 | -0.002 |
| predicted_H | 0.734 | -0.012 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.138 | -0.002 |
| predicted_OBP | 0.295 | 0.008 |
| predicted_R | 0.371 | -0.011 |
| predicted_RBI | 0.387 | -0.011 |
| predicted_SLG | 0.383 | -0.041 |
| predicted_SO | 1.110 | 0.006 |
AB rounded to 3 (raw=3.32), rates preserved: AVG=0.221 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.081 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | -0.264 |
| predicted_AVG | 0.333 | 0.108 |
| predicted_BB | 0.000 | -0.325 |
| predicted_H | 1.000 | 0.266 |
| predicted_HR | 0.000 | -0.138 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 0.000 | -0.371 |
| predicted_RBI | 0.000 | -0.387 |
| predicted_SLG | 0.333 | -0.050 |
| 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 | 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 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 5.000 | 0.2000 | 0.2000 | 0.4000 | 0.2000 | 0.0667 | 0.1333 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 32.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 4.000 | 10.000 | 0.1875 | 0.2703 | 0.2812 | 0.1875 | 0.0312 | 0.0938 | 0.1250 | 0.3125 |
| season | 0.60 | 76 | - | 238.000 | 55.000 | 7.000 | 1.000 | 10.000 | 29.000 | 29.000 | 27.000 | 86.000 | 0.2311 | 0.3173 | 0.3950 | 0.2311 | 0.0420 | 0.1218 | 0.1134 | 0.3613 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.1870 |
| predicted_AVG | 0.2193 |
| predicted_BB | 0.2890 |
| predicted_H | 0.6990 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.2866 |
| predicted_R | 0.3820 |
| predicted_RBI | 0.3810 |
| predicted_SLG | 0.3767 |
| predicted_SO | 1.0640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0920 | 0.0660 | 0.0811 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 3.3200 | 3.1870 | 3.2640 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2193 | 0.2278 | model_form_blend |
| predicted_BB | 0.3550 | 0.2890 | 0.3272 | model_form_blend |
| predicted_H | 0.7800 | 0.6990 | 0.7459 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.1400 | 0.1400 | 0.1400 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2866 | 0.2874 | model_form_blend |
| predicted_R | 0.3820 | 0.3820 | 0.3820 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3810 | 0.3978 | model_form_blend |
| predicted_SLG | 0.4590 | 0.3767 | 0.4244 | model_form_blend |
| predicted_SO | 1.1320 | 1.0640 | 1.1034 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 196 |
| Season rows before report date | 196 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.231 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 700932 |
| playerID | 700932 |
| playerName | Kyle Manzardo |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 31.6 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.318 |
| sl_xwoba | 0.313 |
| sl_xba | 0.227 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 30.5 |
| 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.157 | 1.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | 0.849 | 1.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.460 | 3.000 | 4.000 | Hitting_AB | 3.384 | 4.000 | -0.384 | -1.000 |
| predicted_AVG | 0.253 | 0.333 | 0.250 | Hitting_AVG | 0.290 | 0.250 | 0.043 | 0.083 |
| predicted_BB | 0.277 | 1.000 | 0.000 | Hitting_BB | 0.319 | 0.000 | 0.681 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.983 | 1.000 | 0.017 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.313 | 0.500 | 0.250 | Hitting_OBP | 0.365 | 0.250 | 0.135 | 0.250 |
| predicted_R | 0.410 | 0.000 | 0.000 | Hitting_R | 0.448 | 1.000 | -0.448 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_SLG | 0.448 | 0.667 | 0.250 | Hitting_SLG | 0.405 | 0.250 | 0.262 | 0.417 |
| predicted_SO | 0.518 | 1.000 | 1.000 | Hitting_SO | 0.453 | 1.000 | 0.547 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_2B: 0.1570 -> 1.0000 (boost 0.8430, better) |
| Biggest Deboost | predicted_AB: 3.4600 -> 3.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 | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2530 -> 0.2605 (boost 0.0075, better) | predicted_SLG: 0.4480 -> 0.4133 (deboost -0.0347, worse) | Final model input calibrated with local form: 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.4133 -> 0.3643 (deboost -0.0490, 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.5080 -> 4.0000 (boost 0.4920, better) | predicted_RBI: 0.3316 -> 0.0000 (deboost -0.3316, worse) | AB rounded to 4 (raw=3.51), rates preserved: AVG=0.256 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4159 -> 0.0000 (deboost -0.4159, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3643 -> 0.2500 (deboost -0.1143, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 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.3643 (boost 0.1143, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677587",
"player_name": "Brayan Rocchio",
"position": "SS",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.024,
"predicted_AB": 3.46,
"predicted_AVG": 0.253,
"predicted_BB": 0.277,
"predicted_H": 0.87,
"predicted_HR": 0.07,
"predicted_OBP": 0.313,
"predicted_R": 0.41,
"predicted_RBI": 0.35,
"predicted_SLG": 0.448,
"predicted_SO": 0.518
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1642,
"predicted_3B": 0.0202,
"predicted_AB": 3.508,
"predicted_AVG": 0.2605,
"predicted_BB": 0.2592,
"predicted_H": 0.9112,
"predicted_HBP": 0.051,
"predicted_HR": 0.0598,
"predicted_OBP": 0.3171,
"predicted_R": 0.4278,
"predicted_RBI": 0.3411,
"predicted_SLG": 0.4133,
"predicted_SO": 0.5341
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1642,
"delta": 0.0072,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0202,
"delta": -0.0038,
"percent_delta": -0.1583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.46,
"after": 3.508,
"delta": 0.048,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2605,
"delta": 0.0075,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.277,
"after": 0.2592,
"delta": -0.0178,
"percent_delta": -0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.9112,
"delta": 0.0412,
"percent_delta": 0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0598,
"delta": -0.0102,
"percent_delta": -0.1457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3171,
"delta": 0.0041,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.4278,
"delta": 0.0178,
"percent_delta": 0.0434,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3411,
"delta": -0.0089,
"percent_delta": -0.0254,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4133,
"delta": -0.0347,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.518,
"after": 0.5341,
"delta": 0.0161,
"percent_delta": 0.0311,
"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.253,
"after": 0.2605,
"delta": 0.0075,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4133,
"delta": -0.0347,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1642,
"predicted_3B": 0.0202,
"predicted_AB": 3.508,
"predicted_AVG": 0.2555,
"predicted_BB": 0.2577,
"predicted_H": 0.8963,
"predicted_HBP": 0.051,
"predicted_HR": 0.0591,
"predicted_OBP": 0.3065,
"predicted_R": 0.4159,
"predicted_RBI": 0.3316,
"predicted_SLG": 0.3643,
"predicted_SO": 0.5372
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1642,
"after": 0.1642,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0202,
"after": 0.0202,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.508,
"after": 3.508,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2605,
"after": 0.2555,
"delta": -0.005,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2592,
"after": 0.2577,
"delta": -0.0015,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9112,
"after": 0.8963,
"delta": -0.0149,
"percent_delta": -0.0164,
"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.0598,
"after": 0.0591,
"delta": -0.0007,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3171,
"after": 0.3065,
"delta": -0.0106,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4278,
"after": 0.4159,
"delta": -0.0119,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3411,
"after": 0.3316,
"delta": -0.0095,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4133,
"after": 0.3643,
"delta": -0.049,
"percent_delta": -0.1186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5341,
"after": 0.5372,
"delta": 0.0031,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4133,
"after": 0.3643,
"delta": -0.049,
"percent_delta": -0.1186,
"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.256 HR/AB=0.017",
"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.1642,
"after": 0.0,
"delta": -0.1642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0202,
"after": 0.0,
"delta": -0.0202,
"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_BB",
"before": 0.2577,
"after": 0.0,
"delta": -0.2577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8963,
"after": 1.0,
"delta": 0.1037,
"percent_delta": 0.1157,
"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.0591,
"after": 0.0,
"delta": -0.0591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3316,
"after": 0.0,
"delta": -0.3316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5372,
"after": 1.0,
"delta": 0.4628,
"percent_delta": 0.8615,
"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.508,
"after": 4.0,
"delta": 0.492,
"percent_delta": 0.1403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3316,
"after": 0.0,
"delta": -0.3316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4159,
"after": 0.0,
"delta": -0.4159,
"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.4159,
"after": 0.0,
"delta": -0.4159,
"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.2555,
"after": 0.25,
"delta": -0.0055,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3065,
"after": 0.25,
"delta": -0.0565,
"percent_delta": -0.1843,
"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.3643,
"after": 0.25,
"delta": -0.1143,
"percent_delta": -0.3138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3643,
"after": 0.25,
"delta": -0.1143,
"percent_delta": -0.3138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2555,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3065,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3643,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2555,
"delta": 0.0055,
"percent_delta": 0.0221,
"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.3065,
"delta": 0.0565,
"percent_delta": 0.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3643,
"delta": 0.1143,
"percent_delta": 0.4574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3643,
"delta": 0.1143,
"percent_delta": 0.4574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 1.0,
"delta": 0.843,
"percent_delta": 5.3694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.46,
"after": 3.0,
"delta": -0.46,
"percent_delta": -0.1329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2555,
"delta": 0.0025,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.277,
"after": 1.0,
"delta": 0.723,
"percent_delta": 2.6101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"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.313,
"after": 0.3065,
"delta": -0.0065,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.3643,
"delta": -0.0837,
"percent_delta": -0.1868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.518,
"after": 1.0,
"delta": 0.482,
"percent_delta": 0.9305,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.157,
"after": 1.0,
"delta": 0.843,
"percent_delta": 5.3694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.46,
"after": 3.0,
"delta": -0.46,
"percent_delta": -0.1329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.460 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.277 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.410 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.448 | - |
| predicted_SO | 0.518 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.007 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.508 | 0.048 |
| predicted_AVG | 0.261 | 0.008 |
| predicted_BB | 0.259 | -0.018 |
| predicted_H | 0.911 | 0.041 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.060 | -0.010 |
| predicted_OBP | 0.317 | 0.004 |
| predicted_R | 0.428 | 0.018 |
| predicted_RBI | 0.341 | -0.009 |
| predicted_SLG | 0.413 | -0.035 |
| predicted_SO | 0.534 | 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.164 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.508 | 0.000 |
| predicted_AVG | 0.256 | -0.005 |
| predicted_BB | 0.258 | -0.002 |
| predicted_H | 0.896 | -0.015 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.306 | -0.011 |
| predicted_R | 0.416 | -0.012 |
| predicted_RBI | 0.332 | -0.010 |
| predicted_SLG | 0.364 | -0.049 |
| predicted_SO | 0.537 | 0.003 |
AB rounded to 4 (raw=3.51), rates preserved: AVG=0.256 HR/AB=0.017
| 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.164 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.492 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 0.000 | -0.258 |
| predicted_H | 1.000 | 0.104 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.250 | -0.056 |
| predicted_R | 0.000 | -0.416 |
| predicted_RBI | 0.000 | -0.332 |
| predicted_SLG | 0.250 | -0.114 |
| predicted_SO | 1.000 | 0.463 |
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 | 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 | - | 18.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 0.2778 | 0.3158 | 0.3333 | 0.2778 | 0.0000 | 0.0556 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 7.000 | 0.2750 | 0.2927 | 0.3250 | 0.2750 | 0.0000 | 0.0250 | 0.0250 | 0.1750 |
| season | 0.60 | 83 | - | 281.000 | 76.000 | 13.000 | 2.000 | 5.000 | 34.000 | 34.000 | 23.000 | 43.000 | 0.2705 | 0.3376 | 0.3843 | 0.2705 | 0.0178 | 0.1210 | 0.0819 | 0.1530 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1740 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.5730 |
| predicted_AVG | 0.2707 |
| predicted_BB | 0.2350 |
| predicted_H | 0.9670 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.0460 |
| predicted_OBP | 0.3227 |
| predicted_R | 0.4520 |
| predicted_RBI | 0.3290 |
| predicted_SLG | 0.3663 |
| predicted_SO | 0.5560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1740 | 0.1642 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0202 | model_form_blend |
| predicted_AB | 3.4600 | 3.5730 | 3.5080 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2707 | 0.2605 | model_form_blend |
| predicted_BB | 0.2770 | 0.2350 | 0.2592 | model_form_blend |
| predicted_H | 0.8700 | 0.9670 | 0.9112 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.0700 | 0.0460 | 0.0598 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3227 | 0.3171 | model_form_blend |
| predicted_R | 0.4100 | 0.4520 | 0.4278 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3290 | 0.3411 | model_form_blend |
| predicted_SLG | 0.4480 | 0.3663 | 0.4133 | model_form_blend |
| predicted_SO | 0.5180 | 0.5560 | 0.5341 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 677587 |
| playerID | 677587 |
| playerName | Brayan Rocchio |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 13.5 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.323 |
| sl_xwoba | 0.306 |
| sl_xba | 0.255 |
| sl_xslg | 0.352 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 31.0 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 50.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.770 | 4.000 | 3.000 | Hitting_AB | 2.750 | 4.000 | 1.250 | 0.000 |
| predicted_AVG | 0.233 | 0.000 | 0.333 | Hitting_AVG | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_BB | 0.750 | 0.000 | 1.000 | Hitting_BB | 0.750 | 0.000 | -0.750 | 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.250 | 0.000 | -0.250 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.298 | 0.000 | 0.500 | Hitting_OBP | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_R | 0.250 | 0.000 | 0.000 | Hitting_R | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.402 | 0.000 | 0.333 | Hitting_SLG | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_SO | 1.750 | 0.000 | 2.000 | Hitting_SO | 1.750 | 3.000 | -1.750 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.7700 -> 4.0000 (boost 1.2300, better) |
| Biggest Deboost | predicted_SO: 1.7500 -> 0.0000 (deboost -1.7500, 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 | 1 | 4 | 2 | 3 | predicted_AB: 2.7700 -> 2.9444 (boost 0.1744, better) | predicted_SO: 1.7500 -> 1.6200 (deboost -0.1300, better) | Final model input calibrated with local 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.2984 -> 0.3657 (boost 0.0673, better) | predicted_SLG: 0.3783 -> 0.3201 (deboost -0.0582, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_SO: 1.6294 -> 2.0000 (boost 0.3706, worse) | predicted_RBI: 0.4211 -> 0.0000 (deboost -0.4211, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.220 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2827 -> 0.0000 (deboost -0.2827, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3657 -> 0.5000 (boost 0.1343, 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.5000 -> 0.3657 (deboost -0.1343, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694876",
"player_name": "Cooper Ingle",
"position": "LF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.77,
"predicted_AVG": 0.233,
"predicted_BB": 0.75,
"predicted_H": 0.65,
"predicted_HR": 0.09,
"predicted_OBP": 0.298,
"predicted_R": 0.25,
"predicted_RBI": 0.41,
"predicted_SLG": 0.402,
"predicted_SO": 1.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.0283,
"predicted_3B": 0.0023,
"predicted_AB": 2.9444,
"predicted_AVG": 0.2242,
"predicted_BB": 0.6793,
"predicted_H": 0.659,
"predicted_HBP": 0.02,
"predicted_HR": 0.0882,
"predicted_OBP": 0.2984,
"predicted_R": 0.2908,
"predicted_RBI": 0.4331,
"predicted_SLG": 0.3783,
"predicted_SO": 1.62
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0283,
"delta": 0.0283,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0023,
"delta": 0.0023,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.77,
"after": 2.9444,
"delta": 0.1744,
"percent_delta": 0.063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2242,
"delta": -0.0088,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.75,
"after": 0.6793,
"delta": -0.0707,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.659,
"delta": 0.009,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0882,
"delta": -0.0018,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2984,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.2908,
"delta": 0.0408,
"percent_delta": 0.1632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4331,
"delta": 0.0231,
"percent_delta": 0.0563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3783,
"delta": -0.0237,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.75,
"after": 1.62,
"delta": -0.13,
"percent_delta": -0.0743,
"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.77,
"after": 2.9444,
"delta": 0.1744,
"percent_delta": 0.063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.75,
"after": 1.62,
"delta": -0.13,
"percent_delta": -0.0743,
"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": 4,
"last_10": 4,
"season": 4
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0283,
"predicted_3B": 0.0023,
"predicted_AB": 2.9444,
"predicted_AVG": 0.2202,
"predicted_BB": 0.6754,
"predicted_H": 0.6483,
"predicted_HBP": 0.02,
"predicted_HR": 0.0871,
"predicted_OBP": 0.3657,
"predicted_R": 0.2827,
"predicted_RBI": 0.4211,
"predicted_SLG": 0.3201,
"predicted_SO": 1.6294
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0283,
"after": 0.0283,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9444,
"after": 2.9444,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2242,
"after": 0.2202,
"delta": -0.004,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6793,
"after": 0.6754,
"delta": -0.0039,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.659,
"after": 0.6483,
"delta": -0.0107,
"percent_delta": -0.0162,
"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.0882,
"after": 0.0871,
"delta": -0.0011,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2984,
"after": 0.3657,
"delta": 0.0673,
"percent_delta": 0.2255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2908,
"after": 0.2827,
"delta": -0.0081,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4331,
"after": 0.4211,
"delta": -0.012,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3783,
"after": 0.3201,
"delta": -0.0582,
"percent_delta": -0.1538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.62,
"after": 1.6294,
"delta": 0.0094,
"percent_delta": 0.0058,
"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.2984,
"after": 0.3657,
"delta": 0.0673,
"percent_delta": 0.2255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3783,
"after": 0.3201,
"delta": -0.0582,
"percent_delta": -0.1538,
"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.220 HR/AB=0.030",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0283,
"after": 0.0,
"delta": -0.0283,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9444,
"after": 3.0,
"delta": 0.0556,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6754,
"after": 1.0,
"delta": 0.3246,
"percent_delta": 0.4806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6483,
"after": 1.0,
"delta": 0.3517,
"percent_delta": 0.5425,
"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.0871,
"after": 0.0,
"delta": -0.0871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4211,
"after": 0.0,
"delta": -0.4211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6294,
"after": 2.0,
"delta": 0.3706,
"percent_delta": 0.2274,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.6294,
"after": 2.0,
"delta": 0.3706,
"percent_delta": 0.2274,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4211,
"after": 0.0,
"delta": -0.4211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2827,
"after": 0.0,
"delta": -0.2827,
"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.2827,
"after": 0.0,
"delta": -0.2827,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2202,
"after": 0.333,
"delta": 0.1128,
"percent_delta": 0.5123,
"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.3657,
"after": 0.5,
"delta": 0.1343,
"percent_delta": 0.3672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3201,
"after": 0.333,
"delta": 0.0129,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3657,
"after": 0.5,
"delta": 0.1343,
"percent_delta": 0.3672,
"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": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2202,
"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.3657,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3201,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2202,
"delta": -0.1128,
"percent_delta": -0.3388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3657,
"delta": -0.1343,
"percent_delta": -0.2687,
"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.3201,
"delta": -0.0129,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.3657,
"delta": -0.1343,
"percent_delta": -0.2687,
"direction": "deboost",
"projection_effect": "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.77,
"after": 4.0,
"delta": 1.23,
"percent_delta": 0.444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2202,
"delta": -0.0128,
"percent_delta": -0.0549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3657,
"delta": 0.0677,
"percent_delta": 0.2272,
"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.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3201,
"delta": -0.0819,
"percent_delta": -0.2037,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.75,
"after": 0.0,
"delta": -1.75,
"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.77,
"after": 4.0,
"delta": 1.23,
"percent_delta": 0.444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.75,
"after": 0.0,
"delta": -1.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.770 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.750 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.250 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 1.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.028 | 0.028 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.944 | 0.174 |
| predicted_AVG | 0.224 | -0.009 |
| predicted_BB | 0.679 | -0.071 |
| predicted_H | 0.659 | 0.009 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.088 | -0.002 |
| predicted_OBP | 0.298 | 0.000 |
| predicted_R | 0.291 | 0.041 |
| predicted_RBI | 0.433 | 0.023 |
| predicted_SLG | 0.378 | -0.024 |
| predicted_SO | 1.620 | -0.130 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.028 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.944 | 0.000 |
| predicted_AVG | 0.220 | -0.004 |
| predicted_BB | 0.675 | -0.004 |
| predicted_H | 0.648 | -0.011 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.087 | -0.001 |
| predicted_OBP | 0.366 | 0.067 |
| predicted_R | 0.283 | -0.008 |
| predicted_RBI | 0.421 | -0.012 |
| predicted_SLG | 0.320 | -0.058 |
| predicted_SO | 1.629 | 0.009 |
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.220 HR/AB=0.030
| 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 | 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 | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.028 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.056 |
| predicted_AVG | 0.333 | 0.113 |
| predicted_BB | 1.000 | 0.325 |
| predicted_H | 1.000 | 0.352 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.500 | 0.134 |
| predicted_R | 0.000 | -0.283 |
| predicted_RBI | 0.000 | -0.421 |
| predicted_SLG | 0.333 | 0.013 |
| predicted_SO | 2.000 | 0.371 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | -2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 4 | - | 11.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 7.000 | 0.0909 | 0.2857 | 0.0909 | 0.0909 | 0.0000 | 0.1818 | 0.2727 | 0.6364 |
| last_10 | 0.20 | 4 | - | 11.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 7.000 | 0.0909 | 0.2857 | 0.0909 | 0.0909 | 0.0000 | 0.1818 | 0.2727 | 0.6364 |
| season | 0.60 | 4 | - | 11.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 7.000 | 0.0909 | 0.2857 | 0.0909 | 0.0909 | 0.0000 | 0.1818 | 0.2727 | 0.6364 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.4660 |
| predicted_AVG | 0.1978 |
| predicted_BB | 0.4680 |
| predicted_H | 0.6860 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.2994 |
| predicted_R | 0.4130 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.3074 |
| predicted_SO | 1.2310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1130 | 0.0283 | model_form_blend |
| predicted_3B | 0.0000 | 0.0090 | 0.0023 | model_form_blend |
| predicted_AB | 2.7700 | 3.4660 | 2.9444 | model_form_blend |
| predicted_AVG | 0.2330 | 0.1978 | 0.2242 | model_form_blend |
| predicted_BB | 0.7500 | 0.4680 | 0.6793 | model_form_blend |
| predicted_H | 0.6500 | 0.6860 | 0.6590 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0900 | 0.0830 | 0.0882 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2994 | 0.2984 | model_form_blend |
| predicted_R | 0.2500 | 0.4130 | 0.2908 | model_form_blend |
| predicted_RBI | 0.4100 | 0.5020 | 0.4331 | model_form_blend |
| predicted_SLG | 0.4020 | 0.3074 | 0.3783 | model_form_blend |
| predicted_SO | 1.7500 | 1.2310 | 1.6200 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 4 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.091 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260630_TEX@CLE |
| game_type | full |
| mlbID | 694876 |
| playerID | 694876 |
| playerName | Cooper Ingle |
| pos | C |
| started | True |
| startingPosition | LF |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-30 |
| sl_k_percent | 50.0 |
| sl_bb_percent | 21.4 |
| sl_woba | 0.214 |
| sl_xwoba | 0.228 |
| sl_xba | 0.104 |
| sl_xslg | 0.121 |
| sl_sweet_spot_percent | 0.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 75.0 |
| sl_exit_velocity_avg | 95.7 |
| sl_launch_angle_avg | -7.8 |
| sl_whiff_percent | 20.0 |
| 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.105 | 0.000 | 0.000 | Hitting_2B | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.368 | 3.000 | 3.000 | Hitting_AB | 3.182 | 4.000 | -0.182 | -1.000 |
| predicted_AVG | 0.247 | 0.333 | 0.333 | Hitting_AVG | 0.243 | 0.250 | 0.090 | 0.083 |
| predicted_BB | 0.158 | 1.000 | 0.000 | Hitting_BB | 0.159 | 0.000 | 0.841 | 1.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.773 | 1.000 | 0.227 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_OBP | 0.280 | 0.500 | 0.333 | Hitting_OBP | 0.279 | 0.250 | 0.221 | 0.250 |
| predicted_R | 0.263 | 0.000 | 0.000 | Hitting_R | 0.205 | 1.000 | -0.205 | -1.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.470 | 0.333 | 0.333 | Hitting_SLG | 0.414 | 0.250 | -0.081 | 0.083 |
| predicted_SO | 1.474 | 0.000 | 1.000 | Hitting_SO | 1.159 | 1.000 | -1.159 | -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.1580 -> 1.0000 (boost 0.8420, better) |
| Biggest Deboost | predicted_SO: 1.4740 -> 0.0000 (deboost -1.4740, 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 | 1 | 1 | - | predicted_SO: 1.4740 -> 1.3852 (deboost -0.0888, better) | Final model input calibrated with local form: 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.4439 -> 0.3709 (deboost -0.0730, 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.7492 -> 1.0000 (boost 0.2508, better) | predicted_AB: 3.4144 -> 3.0000 (deboost -0.4144, worse) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.219 HR/AB=0.040 |
| 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.3008 -> 0.0000 (deboost -0.3008, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2194 -> 0.3330 (boost 0.1136, better) | predicted_SLG: 0.3709 -> 0.3330 (deboost -0.0379, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3709 (boost 0.0379, better) | predicted_AVG: 0.3330 -> 0.2194 (deboost -0.1136, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672356",
"player_name": "Gabriel Arias",
"position": "3B",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.105,
"predicted_3B": 0.0,
"predicted_AB": 3.368,
"predicted_AVG": 0.247,
"predicted_BB": 0.158,
"predicted_H": 0.73,
"predicted_HR": 0.13,
"predicted_OBP": 0.28,
"predicted_R": 0.263,
"predicted_RBI": 0.33,
"predicted_SLG": 0.47,
"predicted_SO": 1.474
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1068,
"predicted_3B": 0.0014,
"predicted_AB": 3.4144,
"predicted_AVG": 0.2423,
"predicted_BB": 0.1695,
"predicted_H": 0.7616,
"predicted_HBP": 0.009,
"predicted_HR": 0.1376,
"predicted_OBP": 0.2784,
"predicted_R": 0.3094,
"predicted_RBI": 0.3307,
"predicted_SLG": 0.4439,
"predicted_SO": 1.3852
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.1068,
"delta": 0.0018,
"percent_delta": 0.0171,
"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.368,
"after": 3.4144,
"delta": 0.0464,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2423,
"delta": -0.0047,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 0.1695,
"delta": 0.0115,
"percent_delta": 0.0728,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7616,
"delta": 0.0316,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1376,
"delta": 0.0076,
"percent_delta": 0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2784,
"delta": -0.0016,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.263,
"after": 0.3094,
"delta": 0.0464,
"percent_delta": 0.1764,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3307,
"delta": 0.0007,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.4439,
"delta": -0.0261,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.474,
"after": 1.3852,
"delta": -0.0888,
"percent_delta": -0.0602,
"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.474,
"after": 1.3852,
"delta": -0.0888,
"percent_delta": -0.0602,
"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": 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.1068,
"predicted_3B": 0.0014,
"predicted_AB": 3.4144,
"predicted_AVG": 0.2194,
"predicted_BB": 0.1685,
"predicted_H": 0.7492,
"predicted_HBP": 0.009,
"predicted_HR": 0.1359,
"predicted_OBP": 0.2561,
"predicted_R": 0.3008,
"predicted_RBI": 0.3215,
"predicted_SLG": 0.3709,
"predicted_SO": 1.3932
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1068,
"after": 0.1068,
"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.4144,
"after": 3.4144,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2423,
"after": 0.2194,
"delta": -0.0229,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1695,
"after": 0.1685,
"delta": -0.001,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7616,
"after": 0.7492,
"delta": -0.0124,
"percent_delta": -0.0163,
"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.1376,
"after": 0.1359,
"delta": -0.0017,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2784,
"after": 0.2561,
"delta": -0.0223,
"percent_delta": -0.0801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3094,
"after": 0.3008,
"delta": -0.0086,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3307,
"after": 0.3215,
"delta": -0.0092,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4439,
"after": 0.3709,
"delta": -0.073,
"percent_delta": -0.1645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3852,
"after": 1.3932,
"delta": 0.008,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4439,
"after": 0.3709,
"delta": -0.073,
"percent_delta": -0.1645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.41), rates preserved: AVG=0.219 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.1068,
"after": 0.0,
"delta": -0.1068,
"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.4144,
"after": 3.0,
"delta": -0.4144,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1685,
"after": 0.0,
"delta": -0.1685,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7492,
"after": 1.0,
"delta": 0.2508,
"percent_delta": 0.3348,
"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.1359,
"after": 0.0,
"delta": -0.1359,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3215,
"after": 0.0,
"delta": -0.3215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3932,
"after": 1.0,
"delta": -0.3932,
"percent_delta": -0.2822,
"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.7492,
"after": 1.0,
"delta": 0.2508,
"percent_delta": 0.3348,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4144,
"after": 3.0,
"delta": -0.4144,
"percent_delta": -0.1214,
"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.3008,
"after": 0.0,
"delta": -0.3008,
"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.3008,
"after": 0.0,
"delta": -0.3008,
"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.2194,
"after": 0.333,
"delta": 0.1136,
"percent_delta": 0.5178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2561,
"after": 0.333,
"delta": 0.0769,
"percent_delta": 0.3003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3709,
"after": 0.333,
"delta": -0.0379,
"percent_delta": -0.1022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2194,
"after": 0.333,
"delta": 0.1136,
"percent_delta": 0.5178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3709,
"after": 0.333,
"delta": -0.0379,
"percent_delta": -0.1022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2194,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2561,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3709,
"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.2194,
"delta": -0.1136,
"percent_delta": -0.3411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2561,
"delta": -0.0769,
"percent_delta": -0.2308,
"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.3709,
"delta": 0.0379,
"percent_delta": 0.1139,
"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.3709,
"delta": 0.0379,
"percent_delta": 0.1139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2194,
"delta": -0.1136,
"percent_delta": -0.3411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.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": 3.368,
"after": 3.0,
"delta": -0.368,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2194,
"delta": -0.0276,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.158,
"after": 1.0,
"delta": 0.842,
"percent_delta": 5.3291,
"direction": "boost",
"projection_effect": "better",
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2561,
"delta": -0.0239,
"percent_delta": -0.0854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.3709,
"delta": -0.0991,
"percent_delta": -0.2109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.474,
"after": 0.0,
"delta": -1.474,
"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.158,
"after": 1.0,
"delta": 0.842,
"percent_delta": 5.3291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.474,
"after": 0.0,
"delta": -1.474,
"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.105 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.368 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.158 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.263 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.470 | - |
| predicted_SO | 1.474 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | 0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.414 | 0.046 |
| predicted_AVG | 0.242 | -0.005 |
| predicted_BB | 0.170 | 0.012 |
| predicted_H | 0.762 | 0.032 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.138 | 0.008 |
| predicted_OBP | 0.278 | -0.002 |
| predicted_R | 0.309 | 0.046 |
| predicted_RBI | 0.331 | 0.001 |
| predicted_SLG | 0.444 | -0.026 |
| predicted_SO | 1.385 | -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.107 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.414 | 0.000 |
| predicted_AVG | 0.219 | -0.023 |
| predicted_BB | 0.169 | -0.001 |
| predicted_H | 0.749 | -0.012 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.136 | -0.002 |
| predicted_OBP | 0.256 | -0.022 |
| predicted_R | 0.301 | -0.009 |
| predicted_RBI | 0.322 | -0.009 |
| predicted_SLG | 0.371 | -0.073 |
| predicted_SO | 1.393 | 0.008 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.219 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 | - |
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.107 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.414 |
| predicted_AVG | 0.333 | 0.114 |
| predicted_BB | 0.000 | -0.169 |
| predicted_H | 1.000 | 0.251 |
| predicted_HR | 0.000 | -0.136 |
| predicted_OBP | 0.333 | 0.077 |
| predicted_R | 0.000 | -0.301 |
| predicted_RBI | 0.000 | -0.322 |
| predicted_SLG | 0.333 | -0.038 |
| predicted_SO | 1.000 | -0.393 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 1.000 | 4.000 | 0.2667 | 0.3125 | 0.4667 | 0.2667 | 0.0667 | 0.0667 | 0.0667 | 0.2667 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 17.000 | 0.2162 | 0.2368 | 0.3243 | 0.2162 | 0.0270 | 0.0541 | 0.0270 | 0.4595 |
| season | 0.60 | 19 | - | 64.000 | 14.000 | 2.000 | 0.000 | 3.000 | 6.000 | 5.000 | 3.000 | 28.000 | 0.2188 | 0.2537 | 0.3906 | 0.2188 | 0.0469 | 0.0938 | 0.0469 | 0.4375 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1100 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.4970 |
| predicted_AVG | 0.2340 |
| predicted_BB | 0.1900 |
| predicted_H | 0.8180 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.2756 |
| predicted_R | 0.3920 |
| predicted_RBI | 0.3320 |
| predicted_SLG | 0.3975 |
| predicted_SO | 1.2270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1050 | 0.1100 | 0.1068 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 3.3680 | 3.4970 | 3.4144 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2340 | 0.2423 | model_form_blend |
| predicted_BB | 0.1580 | 0.1900 | 0.1695 | model_form_blend |
| predicted_H | 0.7300 | 0.8180 | 0.7616 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1300 | 0.1510 | 0.1376 | model_form_blend |
| predicted_OBP | 0.2800 | 0.2756 | 0.2784 | model_form_blend |
| predicted_R | 0.2630 | 0.3920 | 0.3094 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3320 | 0.3307 | model_form_blend |
| predicted_SLG | 0.4700 | 0.3975 | 0.4439 | model_form_blend |
| predicted_SO | 1.4740 | 1.2270 | 1.3852 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 44 |
| Season rows before report date | 44 |
| 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 | 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.219 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 672356 |
| playerID | 672356 |
| playerName | Gabriel Arias |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 41.4 |
| sl_bb_percent | 4.3 |
| sl_woba | 0.262 |
| sl_xwoba | 0.258 |
| sl_xba | 0.211 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 7.0 |
| sl_whiff_percent | 45.9 |
| sl_swing_percent | 50.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.058 | 0.000 | 0.000 | Hitting_2B | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 2.962 | 4.000 | 3.000 | Hitting_AB | 2.744 | 3.000 | 1.256 | 1.000 |
| predicted_AVG | 0.225 | 0.250 | 0.333 | Hitting_AVG | 0.186 | 0.000 | 0.064 | 0.250 |
| predicted_BB | 0.212 | 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.570 | 1.000 | 1.000 | Hitting_H | 0.512 | 0.000 | 0.488 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_OBP | 0.241 | 0.250 | 0.333 | Hitting_OBP | 0.242 | 0.000 | 0.008 | 0.250 |
| predicted_R | 0.250 | 0.000 | 0.000 | Hitting_R | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_SLG | 0.353 | 0.250 | 0.333 | Hitting_SLG | 0.331 | 0.000 | -0.081 | 0.250 |
| predicted_SO | 0.808 | 1.000 | 1.000 | Hitting_SO | 0.698 | 1.000 | 0.302 | 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.9620 -> 4.0000 (boost 1.0380, better) |
| Biggest Deboost | predicted_RBI: 0.2900 -> 0.0000 (deboost -0.2900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3530 -> 0.2985 (deboost -0.0545, worse) | Final model input calibrated with local 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.2985 -> 0.2610 (deboost -0.0375, 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.5189 -> 1.0000 (boost 0.4811, better) | predicted_RBI: 0.2674 -> 0.0000 (deboost -0.2674, worse) | AB rounded to 3 (raw=2.96), rates preserved: AVG=0.175 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2415 -> 0.0000 (deboost -0.2415, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1755 -> 0.3330 (boost 0.1575, 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.1755 (deboost -0.1575, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672275",
"player_name": "Patrick Bailey",
"position": "C",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.058,
"predicted_3B": 0.019,
"predicted_AB": 2.962,
"predicted_AVG": 0.225,
"predicted_BB": 0.212,
"predicted_H": 0.57,
"predicted_HR": 0.07,
"predicted_OBP": 0.241,
"predicted_R": 0.25,
"predicted_RBI": 0.29,
"predicted_SLG": 0.353,
"predicted_SO": 0.808
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0552,
"predicted_3B": 0.0162,
"predicted_AB": 2.9575,
"predicted_AVG": 0.1977,
"predicted_BB": 0.214,
"predicted_H": 0.5275,
"predicted_HBP": 0.004,
"predicted_HR": 0.0558,
"predicted_OBP": 0.2309,
"predicted_R": 0.2484,
"predicted_RBI": 0.275,
"predicted_SLG": 0.2985,
"predicted_SO": 0.8145
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.058,
"after": 0.0552,
"delta": -0.0028,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0162,
"delta": -0.0028,
"percent_delta": -0.1474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.962,
"after": 2.9575,
"delta": -0.0045,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.1977,
"delta": -0.0273,
"percent_delta": -0.1213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.212,
"after": 0.214,
"delta": 0.002,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.5275,
"delta": -0.0425,
"percent_delta": -0.0746,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0558,
"delta": -0.0142,
"percent_delta": -0.2029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.241,
"after": 0.2309,
"delta": -0.0101,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.2484,
"delta": -0.0016,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.275,
"delta": -0.015,
"percent_delta": -0.0517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.2985,
"delta": -0.0545,
"percent_delta": -0.1544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.808,
"after": 0.8145,
"delta": 0.0065,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.2985,
"delta": -0.0545,
"percent_delta": -0.1544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0552,
"predicted_3B": 0.0162,
"predicted_AB": 2.9575,
"predicted_AVG": 0.1755,
"predicted_BB": 0.2128,
"predicted_H": 0.5189,
"predicted_HBP": 0.004,
"predicted_HR": 0.0551,
"predicted_OBP": 0.2308,
"predicted_R": 0.2415,
"predicted_RBI": 0.2674,
"predicted_SLG": 0.261,
"predicted_SO": 0.8192
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0552,
"after": 0.0552,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0162,
"after": 0.0162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9575,
"after": 2.9575,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1977,
"after": 0.1755,
"delta": -0.0222,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.214,
"after": 0.2128,
"delta": -0.0012,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5275,
"after": 0.5189,
"delta": -0.0086,
"percent_delta": -0.0163,
"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.0558,
"after": 0.0551,
"delta": -0.0007,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2309,
"after": 0.2308,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2484,
"after": 0.2415,
"delta": -0.0069,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.275,
"after": 0.2674,
"delta": -0.0076,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2985,
"after": 0.261,
"delta": -0.0375,
"percent_delta": -0.1256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8145,
"after": 0.8192,
"delta": 0.0047,
"percent_delta": 0.0058,
"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.2985,
"after": 0.261,
"delta": -0.0375,
"percent_delta": -0.1256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.96), rates preserved: AVG=0.175 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.0552,
"after": 0.0,
"delta": -0.0552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0162,
"after": 0.0,
"delta": -0.0162,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9575,
"after": 3.0,
"delta": 0.0425,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.5189,
"after": 1.0,
"delta": 0.4811,
"percent_delta": 0.9272,
"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.0551,
"after": 0.0,
"delta": -0.0551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.8192,
"after": 1.0,
"delta": 0.1808,
"percent_delta": 0.2207,
"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.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.2674,
"after": 0.0,
"delta": -0.2674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2415,
"after": 0.0,
"delta": -0.2415,
"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.2415,
"after": 0.0,
"delta": -0.2415,
"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.1755,
"after": 0.333,
"delta": 0.1575,
"percent_delta": 0.8974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2308,
"after": 0.333,
"delta": 0.1022,
"percent_delta": 0.4428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.261,
"after": 0.333,
"delta": 0.072,
"percent_delta": 0.2759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1755,
"after": 0.333,
"delta": 0.1575,
"percent_delta": 0.8974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1755,
"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.2308,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.261,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1755,
"delta": -0.1575,
"percent_delta": -0.4731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2308,
"delta": -0.1022,
"percent_delta": -0.3069,
"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.261,
"delta": -0.072,
"percent_delta": -0.2163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1755,
"delta": -0.1575,
"percent_delta": -0.4731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.962,
"after": 4.0,
"delta": 1.038,
"percent_delta": 0.3504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.1755,
"delta": -0.0495,
"percent_delta": -0.22,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"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.241,
"after": 0.2308,
"delta": -0.0102,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"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.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.261,
"delta": -0.092,
"percent_delta": -0.2606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.808,
"after": 1.0,
"delta": 0.192,
"percent_delta": 0.2376,
"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.962,
"after": 4.0,
"delta": 1.038,
"percent_delta": 0.3504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.058 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 2.962 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.212 | - |
| predicted_H | 0.570 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.241 | - |
| predicted_R | 0.250 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 0.808 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.055 | -0.003 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 2.958 | -0.005 |
| predicted_AVG | 0.198 | -0.027 |
| predicted_BB | 0.214 | 0.002 |
| predicted_H | 0.527 | -0.042 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.056 | -0.014 |
| predicted_OBP | 0.231 | -0.010 |
| predicted_R | 0.248 | -0.002 |
| predicted_RBI | 0.275 | -0.015 |
| predicted_SLG | 0.298 | -0.054 |
| predicted_SO | 0.815 | 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.055 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 2.958 | 0.000 |
| predicted_AVG | 0.175 | -0.022 |
| predicted_BB | 0.213 | -0.001 |
| predicted_H | 0.519 | -0.009 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.055 | -0.001 |
| predicted_OBP | 0.231 | -0.000 |
| predicted_R | 0.241 | -0.007 |
| predicted_RBI | 0.267 | -0.008 |
| predicted_SLG | 0.261 | -0.037 |
| predicted_SO | 0.819 | 0.005 |
AB rounded to 3 (raw=2.96), rates preserved: AVG=0.175 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.055 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 3.000 | 0.042 |
| predicted_AVG | 0.333 | 0.158 |
| predicted_BB | 0.000 | -0.213 |
| predicted_H | 1.000 | 0.481 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.333 | 0.102 |
| predicted_R | 0.000 | -0.241 |
| predicted_RBI | 0.000 | -0.267 |
| predicted_SLG | 0.333 | 0.072 |
| predicted_SO | 1.000 | 0.181 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 4.000 | 0.0000 | 0.0714 | 0.0000 | 0.0000 | 0.0000 | 0.0769 | 0.0769 | 0.3077 |
| last_10 | 0.20 | 10 | - | 25.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 8.000 | 0.2000 | 0.2593 | 0.2000 | 0.2000 | 0.0000 | 0.0800 | 0.0800 | 0.3200 |
| season | 0.60 | 52 | - | 154.000 | 26.000 | 3.000 | 1.000 | 2.000 | 12.000 | 13.000 | 11.000 | 42.000 | 0.1688 | 0.2229 | 0.2403 | 0.1688 | 0.0130 | 0.0779 | 0.0714 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0510 |
| predicted_3B | 0.0120 |
| predicted_AB | 2.9510 |
| predicted_AVG | 0.1576 |
| predicted_BB | 0.2170 |
| predicted_H | 0.4650 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0350 |
| predicted_OBP | 0.2161 |
| predicted_R | 0.2460 |
| predicted_RBI | 0.2530 |
| predicted_SLG | 0.2185 |
| predicted_SO | 0.8240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0580 | 0.0510 | 0.0552 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0162 | model_form_blend |
| predicted_AB | 2.9620 | 2.9510 | 2.9575 | model_form_blend |
| predicted_AVG | 0.2250 | 0.1576 | 0.1977 | model_form_blend |
| predicted_BB | 0.2120 | 0.2170 | 0.2140 | model_form_blend |
| predicted_H | 0.5700 | 0.4650 | 0.5275 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0700 | 0.0350 | 0.0558 | model_form_blend |
| predicted_OBP | 0.2410 | 0.2161 | 0.2309 | model_form_blend |
| predicted_R | 0.2500 | 0.2460 | 0.2484 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2530 | 0.2750 | model_form_blend |
| predicted_SLG | 0.3530 | 0.2185 | 0.2985 | model_form_blend |
| predicted_SO | 0.8080 | 0.8240 | 0.8145 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.169 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260630_TEX@CLE |
| game_type | full |
| mlbID | 672275 |
| playerID | 672275 |
| playerName | Patrick Bailey |
| pos | C |
| started | True |
| startingPosition | C |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-30 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.214 |
| sl_xwoba | 0.278 |
| sl_xba | 0.223 |
| sl_xslg | 0.358 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 37.9 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 27.8 |
| 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.118 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 1.000 | -0.004 | -1.000 |
| predicted_AB | 3.539 | 3.000 | 4.000 | Hitting_AB | 3.700 | 2.000 | -0.700 | 1.000 |
| predicted_AVG | 0.239 | 0.000 | 0.250 | Hitting_AVG | 0.212 | 0.500 | -0.212 | -0.500 |
| predicted_BB | 0.500 | 1.000 | 0.000 | Hitting_BB | 0.615 | 0.000 | 0.385 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.786 | 1.000 | -0.786 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_OBP | 0.300 | 0.250 | 0.250 | Hitting_OBP | 0.326 | 0.500 | -0.076 | -0.250 |
| predicted_R | 0.434 | 0.000 | 0.000 | Hitting_R | 0.521 | 1.000 | -0.521 | -1.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_SLG | 0.405 | 0.000 | 0.250 | Hitting_SLG | 0.267 | 1.500 | -0.267 | -1.500 |
| predicted_SO | 0.421 | 2.000 | 0.000 | Hitting_SO | 0.482 | 0.000 | 1.518 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.4210 -> 2.0000 (boost 1.5790, worse) |
| 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 | 3 | 0 | 3 | 0 | 3 | - | predicted_BB: 0.5000 -> 0.4359 (deboost -0.0641, worse) | Final model input calibrated with local 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.3637 -> 0.2997 (deboost -0.0640, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_AB: 3.5195 -> 4.0000 (boost 0.4805, better) | predicted_BB: 0.4334 -> 0.0000 (deboost -0.4334, worse) | AB rounded to 4 (raw=3.54), rates preserved: AVG=0.217 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4112 -> 0.0000 (deboost -0.4112, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2180 -> 0.2500 (boost 0.0320, better) | predicted_OBP: 0.3037 -> 0.2500 (deboost -0.0537, 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_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2500 -> 0.3037 (boost 0.0537, better) | predicted_AVG: 0.2500 -> 0.2180 (deboost -0.0320, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680757",
"player_name": "Steven Kwan",
"position": "CF",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.118,
"predicted_3B": 0.013,
"predicted_AB": 3.539,
"predicted_AVG": 0.239,
"predicted_BB": 0.5,
"predicted_H": 0.77,
"predicted_HR": 0.05,
"predicted_OBP": 0.3,
"predicted_R": 0.434,
"predicted_RBI": 0.22,
"predicted_SLG": 0.405,
"predicted_SO": 0.421
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1095,
"predicted_3B": 0.0351,
"predicted_AB": 3.5195,
"predicted_AVG": 0.2339,
"predicted_BB": 0.4359,
"predicted_H": 0.7798,
"predicted_HBP": 0.036,
"predicted_HR": 0.0364,
"predicted_OBP": 0.3009,
"predicted_R": 0.423,
"predicted_RBI": 0.1827,
"predicted_SLG": 0.3637,
"predicted_SO": 0.4087
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1095,
"delta": -0.0085,
"percent_delta": -0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0351,
"delta": 0.0221,
"percent_delta": 1.7,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.539,
"after": 3.5195,
"delta": -0.0195,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2339,
"delta": -0.0051,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4359,
"delta": -0.0641,
"percent_delta": -0.1282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7798,
"delta": 0.0098,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0364,
"delta": -0.0136,
"percent_delta": -0.272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.3009,
"delta": 0.0009,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 0.423,
"delta": -0.011,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.1827,
"delta": -0.0373,
"percent_delta": -0.1695,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3637,
"delta": -0.0413,
"percent_delta": -0.102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.421,
"after": 0.4087,
"delta": -0.0123,
"percent_delta": -0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 0.5,
"after": 0.4359,
"delta": -0.0641,
"percent_delta": -0.1282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1095,
"predicted_3B": 0.0351,
"predicted_AB": 3.5195,
"predicted_AVG": 0.218,
"predicted_BB": 0.4334,
"predicted_H": 0.7671,
"predicted_HBP": 0.036,
"predicted_HR": 0.0359,
"predicted_OBP": 0.3037,
"predicted_R": 0.4112,
"predicted_RBI": 0.1776,
"predicted_SLG": 0.2997,
"predicted_SO": 0.4111
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1095,
"after": 0.1095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0351,
"after": 0.0351,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5195,
"after": 3.5195,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2339,
"after": 0.218,
"delta": -0.0159,
"percent_delta": -0.068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4359,
"after": 0.4334,
"delta": -0.0025,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7798,
"after": 0.7671,
"delta": -0.0127,
"percent_delta": -0.0163,
"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.0364,
"after": 0.0359,
"delta": -0.0005,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3009,
"after": 0.3037,
"delta": 0.0028,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.423,
"after": 0.4112,
"delta": -0.0118,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1827,
"after": 0.1776,
"delta": -0.0051,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3637,
"after": 0.2997,
"delta": -0.064,
"percent_delta": -0.176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4087,
"after": 0.4111,
"delta": 0.0024,
"percent_delta": 0.0059,
"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.3637,
"after": 0.2997,
"delta": -0.064,
"percent_delta": -0.176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.54), rates preserved: AVG=0.217 HR/AB=0.010",
"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.1095,
"after": 0.0,
"delta": -0.1095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0351,
"after": 0.0,
"delta": -0.0351,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5195,
"after": 4.0,
"delta": 0.4805,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4334,
"after": 0.0,
"delta": -0.4334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7671,
"after": 1.0,
"delta": 0.2329,
"percent_delta": 0.3036,
"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.0359,
"after": 0.0,
"delta": -0.0359,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1776,
"after": 0.0,
"delta": -0.1776,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4111,
"after": 0.0,
"delta": -0.4111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5195,
"after": 4.0,
"delta": 0.4805,
"percent_delta": 0.1365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4334,
"after": 0.0,
"delta": -0.4334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4112,
"after": 0.0,
"delta": -0.4112,
"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.4112,
"after": 0.0,
"delta": -0.4112,
"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.218,
"after": 0.25,
"delta": 0.032,
"percent_delta": 0.1468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3037,
"after": 0.25,
"delta": -0.0537,
"percent_delta": -0.1768,
"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.2997,
"after": 0.25,
"delta": -0.0497,
"percent_delta": -0.1658,
"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.218,
"after": 0.25,
"delta": 0.032,
"percent_delta": 0.1468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3037,
"after": 0.25,
"delta": -0.0537,
"percent_delta": -0.1768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0.0,
"after": 2.0,
"delta": 2.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_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.218,
"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.3037,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2997,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.218,
"delta": -0.032,
"percent_delta": -0.1282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3037,
"delta": 0.0537,
"percent_delta": 0.2148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2997,
"delta": 0.0497,
"percent_delta": 0.1986,
"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_OBP",
"before": 0.25,
"after": 0.3037,
"delta": 0.0537,
"percent_delta": 0.2148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.218,
"delta": -0.032,
"percent_delta": -0.1282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.539,
"after": 3.0,
"delta": -0.539,
"percent_delta": -0.1523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.218,
"delta": -0.021,
"percent_delta": -0.0879,
"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.77,
"after": 0.0,
"delta": -0.77,
"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.3,
"after": 0.3037,
"delta": 0.0037,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 0.0,
"delta": -0.434,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.2997,
"delta": -0.1053,
"percent_delta": -0.26,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.421,
"after": 2.0,
"delta": 1.579,
"percent_delta": 3.7506,
"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.421,
"after": 2.0,
"delta": 1.579,
"percent_delta": 3.7506,
"direction": "boost",
"projection_effect": "worse",
"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.118 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.539 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.434 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.421 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | -0.008 |
| predicted_3B | 0.035 | 0.022 |
| predicted_AB | 3.519 | -0.020 |
| predicted_AVG | 0.234 | -0.005 |
| predicted_BB | 0.436 | -0.064 |
| predicted_H | 0.780 | 0.010 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.036 | -0.014 |
| predicted_OBP | 0.301 | 0.001 |
| predicted_R | 0.423 | -0.011 |
| predicted_RBI | 0.183 | -0.037 |
| predicted_SLG | 0.364 | -0.041 |
| predicted_SO | 0.409 | -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.110 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 3.519 | 0.000 |
| predicted_AVG | 0.218 | -0.016 |
| predicted_BB | 0.433 | -0.003 |
| predicted_H | 0.767 | -0.013 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.036 | -0.001 |
| predicted_OBP | 0.304 | 0.003 |
| predicted_R | 0.411 | -0.012 |
| predicted_RBI | 0.178 | -0.005 |
| predicted_SLG | 0.300 | -0.064 |
| predicted_SO | 0.411 | 0.002 |
AB rounded to 4 (raw=3.54), rates preserved: AVG=0.217 HR/AB=0.010
| 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.110 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 4.000 | 0.481 |
| predicted_AVG | 0.250 | 0.032 |
| predicted_BB | 0.000 | -0.433 |
| predicted_H | 1.000 | 0.233 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.250 | -0.054 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 0.000 | -0.178 |
| predicted_SLG | 0.250 | -0.050 |
| predicted_SO | 0.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 | 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 | 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 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 0.2353 | 0.2778 | 0.3529 | 0.2353 | 0.0000 | 0.0000 | 0.0588 | 0.0588 |
| last_10 | 0.20 | 10 | - | 33.000 | 8.000 | 1.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 3.000 | 0.2424 | 0.2857 | 0.3333 | 0.2424 | 0.0000 | 0.0000 | 0.0303 | 0.0909 |
| season | 0.60 | 76 | - | 269.000 | 58.000 | 9.000 | 1.000 | 1.000 | 13.000 | 33.000 | 38.000 | 32.000 | 0.2156 | 0.3151 | 0.2677 | 0.2156 | 0.0037 | 0.0483 | 0.1413 | 0.1190 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0650 |
| predicted_AB | 3.4930 |
| predicted_AVG | 0.2269 |
| predicted_BB | 0.3490 |
| predicted_H | 0.7930 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.0180 |
| predicted_OBP | 0.3021 |
| predicted_R | 0.4080 |
| predicted_RBI | 0.1320 |
| predicted_SLG | 0.3076 |
| predicted_SO | 0.3920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.0980 | 0.1095 | model_form_blend |
| predicted_3B | 0.0130 | 0.0650 | 0.0351 | model_form_blend |
| predicted_AB | 3.5390 | 3.4930 | 3.5195 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2269 | 0.2339 | model_form_blend |
| predicted_BB | 0.5000 | 0.3490 | 0.4359 | model_form_blend |
| predicted_H | 0.7700 | 0.7930 | 0.7798 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.0500 | 0.0180 | 0.0364 | model_form_blend |
| predicted_OBP | 0.3000 | 0.3021 | 0.3009 | model_form_blend |
| predicted_R | 0.4340 | 0.4080 | 0.4230 | model_form_blend |
| predicted_RBI | 0.2200 | 0.1320 | 0.1827 | model_form_blend |
| predicted_SLG | 0.4050 | 0.3076 | 0.3637 | model_form_blend |
| predicted_SO | 0.4210 | 0.3920 | 0.4087 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.216 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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-LF |
| gameID | 20260701_TEX@CLE |
| game_type | ph |
| mlbID | 680757 |
| note | Tripled for Fry in the 7th. |
| playerID | 680757 |
| playerName | Steven Kwan |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 10.3 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.274 |
| sl_xwoba | 0.302 |
| sl_xba | 0.248 |
| sl_xslg | 0.308 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 0.4 |
| sl_hard_hit_percent | 9.9 |
| sl_exit_velocity_avg | 83.2 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 8.7 |
| sl_swing_percent | 36.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.706 | 2.000 | 1.294 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.471 | 0.000 | -0.471 | 2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.529 | 3.000 | 0.471 | 3.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.176 | 6.000 | 0.024 | -0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 4.118 | 4.000 | -2.118 | -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": "677944",
"player_name": "Slade Cecconi",
"position": "Starter",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 2.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": 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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": 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 | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.200 | 6.000 | 22.000 | 9.000 | 20.000 | 3.000 | 1.8837 | 1.0814 | 0.2093 | 0.7674 | 0.3140 | 0.6977 | 0.1047 |
| last_10 | 0.35 | 10 | 54.200 | 16.000 | 51.000 | 16.000 | 42.000 | 4.000 | 2.6341 | 1.2256 | 0.2927 | 0.9329 | 0.2927 | 0.7683 | 0.0732 |
| season | 0.20 | 17 | 90.100 | 42.000 | 94.000 | 29.000 | 70.000 | 12.000 | 4.1845 | 1.3616 | 0.4649 | 1.0406 | 0.3210 | 0.7749 | 0.1328 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7640 |
| predicted_ER | 1.8610 |
| predicted_ERA | 3.0320 |
| predicted_H | 4.9690 |
| predicted_HR | 0.6080 |
| predicted_IP | 5.2000 |
| predicted_SO | 4.3470 |
| predicted_WHIP | 1.2186 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.7640 | 2.3153 | model_form_blend |
| predicted_ER | 2.0000 | 1.8610 | 1.9230 | model_form_blend |
| predicted_ERA | - | 3.0320 | 3.0320 | form_only |
| predicted_H | 6.0000 | 4.9690 | 5.4289 | model_form_blend |
| predicted_HR | 1.0000 | 0.6080 | 0.7828 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 2.0000 | 4.3470 | 3.3002 | model_form_blend |
| predicted_WHIP | - | 1.2186 | 1.2186 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.2 |
| H | 6 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 2 |
| HR | 1 |
| BF | 26 |
| Pitches | 113 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 0 |
| Pitching_ERA | 4.18 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 12 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 87 |
| Pitching_R | 0 |
| Pitching_SO | 4 |
| Pitching_Strikes | 55 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260627_SEA@CLE |
| game_type | full |
| mlbID | 677944 |
| playerID | 677944 |
| playerName | Slade Cecconi |
| pos | P |
| started | True |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-27 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.325 |
| sl_xwoba | 0.325 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 36.1 |
| sl_whiff_percent | 20.9 |
| sl_swing_percent | 46.4 |
| sl_avg_best_speed | 76.9149045 |
| sl_avg_hyper_speed | 93.770003071 |
| 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 | 0.000 | -0.278 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 2.000 | -1.000 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.583 | 1.000 | -1.583 | -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": "671922",
"player_name": "Cade Smith",
"position": "Middle Reliever",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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 | 4.000 | 8.000 | 4.000 | 8.000 | 2.000 | 6.3529 | 2.1176 | 0.7059 | 1.4118 | 0.7059 | 1.4118 | 0.3529 |
| last_10 | 0.35 | 10 | 11.200 | 5.000 | 12.000 | 5.000 | 18.000 | 2.000 | 3.8571 | 1.4571 | 0.4286 | 1.0286 | 0.4286 | 1.5429 | 0.1714 |
| season | 0.20 | 36 | 38.100 | 13.000 | 36.000 | 10.000 | 57.000 | 3.000 | 3.0522 | 1.2000 | 0.3391 | 0.9391 | 0.2609 | 1.4870 | 0.0783 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4880 |
| predicted_ER | 0.5570 |
| predicted_ERA | 4.6841 |
| predicted_H | 1.1740 |
| predicted_HR | 0.2140 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3560 |
| predicted_WHIP | 1.5521 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4880 | 0.2354 | model_form_blend |
| predicted_ER | 0.0000 | 0.5570 | 0.2686 | model_form_blend |
| predicted_ERA | - | 4.6841 | 4.6841 | form_only |
| predicted_H | 0.0000 | 1.1740 | 0.5662 | model_form_blend |
| predicted_HR | 0.0000 | 0.2140 | 0.1032 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3560 | 0.6540 | model_form_blend |
| predicted_WHIP | - | 1.5521 | 1.5521 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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.05 |
| 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 | 21 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260628_SEA@CLE |
| game_type | full |
| mlbID | 671922 |
| playerID | 671922 |
| playerName | Cade Smith |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-06-28 |
| sl_k_percent | 35.6 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.289 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 48.9 |
| sl_whiff_percent | 35.3 |
| sl_swing_percent | 49.9 |
| sl_avg_best_speed | 83.003376 |
| sl_avg_hyper_speed | 95.758375222 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.200 | 1.000 | -0.200 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.533 | 3.000 | -0.533 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.897 | 1.000 | 0.103 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.233 | 1.000 | -1.233 | -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": "670059",
"player_name": "Colin Holderman",
"position": "Middle Reliever",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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 | 3.200 | 1.000 | 3.000 | 1.000 | 6.000 | 0.000 | 2.4545 | 1.0909 | 0.2727 | 0.8182 | 0.2727 | 1.6364 | 0.0000 |
| last_10 | 0.35 | 10 | 7.100 | 1.000 | 4.000 | 3.000 | 9.000 | 0.000 | 1.2273 | 0.9545 | 0.1364 | 0.5454 | 0.4091 | 1.2273 | 0.0000 |
| season | 0.20 | 30 | 31.100 | 6.000 | 16.000 | 10.000 | 37.000 | 1.000 | 1.7234 | 0.8298 | 0.1915 | 0.5106 | 0.3191 | 1.1808 | 0.0319 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2920 |
| predicted_ER | 0.2880 |
| predicted_ERA | 3.0383 |
| predicted_H | 0.6790 |
| predicted_HR | 0.0590 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0240 |
| predicted_WHIP | 1.1390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2920 | 0.6732 | model_form_blend |
| predicted_ER | 0.0000 | 0.2880 | 0.1329 | model_form_blend |
| predicted_ERA | - | 3.0383 | 3.0383 | form_only |
| predicted_H | 0.0000 | 0.6790 | 0.3134 | model_form_blend |
| predicted_HR | 0.0000 | 0.0590 | 0.0272 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0240 | 0.4726 | model_form_blend |
| predicted_WHIP | - | 1.1390 | 1.1390 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.72 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 670059 |
| playerID | 670059 |
| playerName | Colin Holderman |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.211 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 23.6 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 47.2 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 43.5 |
| sl_avg_best_speed | 75.348600556 |
| sl_avg_hyper_speed | 94.593719155 |
| 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.500 | 0.000 | 0.500 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.300 | 1.000 | -0.300 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.467 | 1.000 | 0.533 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.613 | 1.000 | -0.413 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.500 | 2.000 | -0.500 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 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": "681870",
"player_name": "Erik Sabrowski",
"position": "Middle Reliever",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.000 | 5.000 | 7.000 | 2.000 | 6.000 | 1.000 | 15.0000 | 3.0000 | 1.6667 | 2.3333 | 0.6667 | 2.0000 | 0.3333 |
| last_10 | 0.35 | 10 | 6.200 | 5.000 | 7.000 | 8.000 | 16.000 | 1.000 | 6.7500 | 2.2500 | 0.7500 | 1.0500 | 1.2000 | 2.4000 | 0.1500 |
| season | 0.20 | 30 | 24.000 | 9.000 | 14.000 | 15.000 | 45.000 | 2.000 | 3.3750 | 1.2083 | 0.3750 | 0.5833 | 0.6250 | 1.8750 | 0.0833 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3970 |
| predicted_ER | 0.5230 |
| predicted_ERA | 7.0672 |
| predicted_H | 0.8280 |
| predicted_HR | 0.1210 |
| predicted_IP | 0.2000 |
| predicted_SO | 1.0130 |
| predicted_WHIP | 1.8379 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3970 | 0.7386 | model_form_blend |
| predicted_ER | 0.0000 | 0.5230 | 0.2267 | model_form_blend |
| predicted_ERA | - | 7.0672 | 7.0672 | form_only |
| predicted_H | 1.0000 | 0.8280 | 0.9254 | model_form_blend |
| predicted_HR | 0.0000 | 0.1210 | 0.0525 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0130 | 1.0056 | model_form_blend |
| predicted_WHIP | - | 1.8379 | 1.8379 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| 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 | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.38 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 681870 |
| playerID | 681870 |
| playerName | Erik Sabrowski |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 45.0 |
| sl_bb_percent | 15.0 |
| sl_woba | 0.271 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 55.0 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 45.0 |
| sl_whiff_percent | 34.3 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 87.6598275 |
| sl_avg_hyper_speed | 95.630560513 |
| 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.310 | 1.000 | 0.690 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.310 | 0.000 | 1.690 | 2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.966 | 1.000 | 0.034 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.683 | 0.100 | -0.483 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.724 | 1.000 | 1.276 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683769",
"player_name": "Hunter Gaddis",
"position": "Middle Reliever",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 0.2,
"predicted_R": 2.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 0.000 | 5.000 | 1.000 | 5.000 | 0.000 | 0.0000 | 1.6364 | 0.0000 | 1.3636 | 0.2727 | 1.3636 | 0.0000 |
| last_10 | 0.35 | 10 | 7.200 | 2.000 | 10.000 | 3.000 | 7.000 | 1.000 | 2.3478 | 1.6957 | 0.2609 | 1.3043 | 0.3913 | 0.9130 | 0.1304 |
| season | 0.20 | 28 | 24.000 | 8.000 | 26.000 | 7.000 | 21.000 | 3.000 | 3.0000 | 1.3750 | 0.3333 | 1.0833 | 0.2917 | 0.8750 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2370 |
| predicted_ER | 0.2320 |
| predicted_ERA | 2.9881 |
| predicted_H | 0.7840 |
| predicted_HR | 0.0770 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7190 |
| predicted_WHIP | 1.4604 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2370 | 0.6692 | model_form_blend |
| predicted_ER | 2.0000 | 0.2320 | 1.2336 | model_form_blend |
| predicted_ERA | - | 2.9881 | 2.9881 | form_only |
| predicted_H | 1.0000 | 0.7840 | 0.9064 | model_form_blend |
| predicted_HR | 1.0000 | 0.0770 | 0.5999 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7190 | 1.4447 | model_form_blend |
| predicted_WHIP | - | 1.4604 | 1.4604 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 2 |
| HR | 1 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.38 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 683769 |
| playerID | 683769 |
| playerName | Hunter Gaddis |
| pos | P |
| started | False |
| startingPosition | P |
| team | CLE |
| teamID | 8 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.322 |
| sl_xwoba | 0.327 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 29.1 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 50.7 |
| sl_avg_best_speed | 75.716186154 |
| sl_avg_hyper_speed | 92.316398205 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CIN 1 - 4 MIL | MIL | 0.660 | scoring_simulation.final_score | True |
| Simulation draw | CIN 1 - 5 MIL | MIL | - | reconciled_final_score | True |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.5000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6600 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | reconciled_final_score |
| 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 | 2.581 | 5.161 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 4 | 0.6600 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 1 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 1 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 1 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6571709388542715,
"base_low_score_probability": 0.4192390524048816,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.2379318864493899,
"confidence": 0.8837663680000001,
"factors": {
"environmental": 1.079568,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.5675327360000002
},
"prediction": "low_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 6.5,
"low_score_model_expected_total_runs": 6.5,
"final_simulation_total_runs": 6,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 88,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 88,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5341,
"bayesian_hit_rate": 0.5283,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8302,
"confidence_cap": 0.78,
"raw_pick_probability": 0.8152,
"calibrated_pick_probability": 0.6287,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "MIL",
"games": 83,
"wins": 52,
"losses": 31,
"win_pct": 0.6265060240963856,
"runs_scored": 430,
"runs_allowed": 303,
"run_differential": 127,
"run_differential_per_game": 1.5301204819277108,
"available": true
},
"away": {
"team": "CIN",
"games": 84,
"wins": 39,
"losses": 45,
"win_pct": 0.4642857142857143,
"runs_scored": 355,
"runs_allowed": 413,
"run_differential": -58,
"run_differential_per_game": -0.6904761904761905,
"available": true
},
"run_differential_edge_per_game": 2.2206,
"win_pct_edge": 0.1622,
"quality_edge": 2.4639,
"margin_adjustment": 1.0348,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 0.383,
"home_runs": 4.091,
"home_win_probability": 0.8152
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "MIL",
"guardrail_predicted_team": "MIL",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "MIL",
"output_opponent_team": "CIN",
"final_score_winner": "MIL",
"pre_simulation_winner": "MIL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "CIN 1 - 4 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 5,
"score_text": "CIN 1 - 5 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 3,
"final_margin": 4,
"winner_quality_edge": 2.4639,
"winner": "MIL",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "MIL",
"games": 83,
"wins": 52,
"losses": 31,
"win_pct": 0.6265060240963856,
"runs_scored": 430,
"runs_allowed": 303,
"run_differential": 127,
"run_differential_per_game": 1.5301204819277108,
"available": true
},
"away": {
"team": "CIN",
"games": 84,
"wins": 39,
"losses": 45,
"win_pct": 0.4642857142857143,
"runs_scored": 355,
"runs_allowed": 413,
"run_differential": -58,
"run_differential_per_game": -0.6904761904761905,
"available": true
}
}
}{
"applied": false,
"raw_margin": 3.7077,
"final_margin": 3.7077,
"margin_cap": 4.25,
"season_quality_edge": 2.4639,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.628739,
"final_confidence": 0.628739,
"confidence_cap": 0.66,
"score_gap": 3.7077,
"calibration_sample_size": 88,
"calibration_empirical_hit_rate": 0.5341,
"calibration_bayesian_hit_rate": 0.5283,
"calibration_sparse_bucket": false,
"season_quality_edge": 2.4639,
"reasons": [
"unvalidated probabilities are capped for production display",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "CIN 1 - 4 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 5,
"score_text": "CIN 1 - 5 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 3,
"final_margin": 4,
"winner_quality_edge": 2.4639,
"winner": "MIL",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 1,
"home_runs": 5,
"confidence": 0.66,
"home_win_probability": 0.66,
"away_win_probability": 0.33999999999999997,
"predicted_score_text": "CIN 1 - 5 MIL",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "CIN",
"original_runs": 1,
"run_delta": -0.9311,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.14451019921143313,
"contact": -0.1170671451788839,
"power": 0.06946633577358281,
"discipline": -0.13092653462417556,
"xwoba": 0.31445161290322576,
"recent_xwoba": 0.31445161290322576,
"barrel": 8.51290322580645,
"ab_hard_contact": -0.14827082677104644,
"ab_bat_speed": 70.50038051271473,
"ab_strikeout_rate": 0.24722579450408066,
"available_players": 8,
"top_players": [
{
"player_id": "682829",
"player_name": "Elly De La Cruz",
"position": "SS",
"weight": 4.0,
"quality": 1.0300030088615617,
"contact": 1.0603451712708851,
"power": 1.5485030484814253,
"discipline": -0.3592912548667264,
"xwoba": 0.36,
"recent_xwoba": 0.36,
"barrel": 14.9,
"ab_hard_contact": 1.3113943029618467,
"ab_bat_speed": 73.67989605171209,
"ab_strikeout_rate": 0.2894579215333932,
"available": 1.0
},
{
"player_id": "670770",
"player_name": "TJ Friedl",
"position": "CF",
"weight": 3.0,
"quality": -0.7947659057917825,
"contact": -1.3110087671088688,
"power": -1.2467840838494393,
"discipline": -0.2678174603174603,
"xwoba": 0.247,
"recent_xwoba": 0.247,
"barrel": 2.6,
"ab_hard_contact": -1.252634057941176,
"ab_bat_speed": 66.2735615079365,
"ab_strikeout_rate": 0.24841269841269842,
"available": 1.0
},
{
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "3B",
"weight": 4.0,
"quality": 0.7432274206238157,
"contact": 0.5890319901430882,
"power": 1.1521948631589733,
"discipline": 0.2747394429469903,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 15.1,
"ab_hard_contact": 0.453421072703286,
"ab_bat_speed": 70.54788522012579,
"ab_strikeout_rate": 0.19764150943396225,
"available": 1.0
},
{
"player_id": "553993",
"player_name": "Eugenio Suárez",
"position": "DH",
"weight": 4.0,
"quality": -0.5051358530193587,
"contact": -1.40710861950155,
"power": -0.6193399492306537,
"discipline": -0.7716863711001641,
"xwoba": 0.259,
"recent_xwoba": 0.259,
"barrel": 7.9,
"ab_hard_contact": -0.246989460803546,
"ab_bat_speed": 69.28642720306513,
"ab_strikeout_rate": 0.2867816091954023,
"available": 1.0
},
{
"player_id": "668709",
"player_name": "JJ Bleday",
"position": "LF",
"weight": 4.0,
"quality": 0.33669732697772875,
"contact": 0.7573909154081375,
"power": 0.6539094481959109,
"discipline": 0.7214047619047619,
"xwoba": 0.366,
"recent_xwoba": 0.366,
"barrel": 9.7,
"ab_hard_contact": 0.6899984877277445,
"ab_bat_speed": 71.79647518518519,
"ab_strikeout_rate": 0.15933333333333333,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "694819",
"player_name": "Jacob Misiorowski",
"quality": 1.4228485426178672,
"contact": 1.586538661277381,
"command": 1.537285714285714,
"movement": 2.0,
"xwoba": 0.228,
"whiff": 37.9,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "MIL",
"original_runs": 4,
"run_delta": -0.3867,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.20123256524576202,
"contact": 0.21688987910926527,
"power": 0.2671088503807913,
"discipline": 0.24507937870793972,
"xwoba": 0.326030303030303,
"recent_xwoba": 0.326030303030303,
"barrel": 8.599999999999998,
"ab_hard_contact": 0.03395189939071774,
"ab_bat_speed": 70.48244885631084,
"ab_strikeout_rate": 0.23688743225887135,
"available_players": 8,
"top_players": [
{
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "1B",
"weight": 4.0,
"quality": 0.6481751468286538,
"contact": 0.8110793603648478,
"power": 1.1619107035322622,
"discipline": 0.37476406926406924,
"xwoba": 0.355,
"recent_xwoba": 0.355,
"barrel": 13.0,
"ab_hard_contact": 0.7460235944547595,
"ab_bat_speed": 75.74101632395383,
"ab_strikeout_rate": 0.22954545454545452,
"available": 1.0
},
{
"player_id": "666152",
"player_name": "David Hamilton",
"position": "3B",
"weight": 3.0,
"quality": -0.5896559415700535,
"contact": -1.149280586120684,
"power": -1.118897910117465,
"discipline": 0.15967794486215556,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 3.9,
"ab_hard_contact": -1.6979582023493,
"ab_bat_speed": 60.515232732732734,
"ab_strikeout_rate": 0.22763157894736843,
"available": 1.0
},
{
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"weight": 4.0,
"quality": 0.6625575134073356,
"contact": 0.9199797666617815,
"power": 0.5550399234529025,
"discipline": 0.56421768707483,
"xwoba": 0.35,
"recent_xwoba": 0.35,
"barrel": 7.5,
"ab_hard_contact": 0.25165561191519664,
"ab_bat_speed": 72.46361961451247,
"ab_strikeout_rate": 0.12244897959183673,
"available": 1.0
},
{
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"weight": 4.0,
"quality": 0.5383561883378095,
"contact": 0.5779479371144868,
"power": 0.5825228485544964,
"discipline": 0.5867599206349206,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 8.7,
"ab_hard_contact": 0.8218855425184957,
"ab_bat_speed": 67.50769841269842,
"ab_strikeout_rate": 0.2339781746031746,
"available": 1.0
},
{
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"weight": 3.0,
"quality": 0.36448130993770855,
"contact": 0.38861074933104034,
"power": 1.0301555920682655,
"discipline": -0.5094285714285713,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 13.6,
"ab_hard_contact": 0.6263499366034058,
"ab_bat_speed": 74.59334986772487,
"ab_strikeout_rate": 0.43313492063492065,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "695505",
"player_name": "Chase Burns",
"quality": 0.6638743240292603,
"contact": 0.5221956225757141,
"command": 0.8387142857142856,
"movement": 1.5872095437276046,
"xwoba": 0.27,
"whiff": 33.2,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 1,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 1,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 2.4639,
"recent_form_edge_home_minus_away": 0.892,
"pitcher_matchup_edge_home_minus_away": -0.0258,
"composite_home_edge": 2.0614,
"existing_home_win_probability": 0.6287,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 2.0614
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"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": 4,
"predicted_score_text": "CIN 1 - 4 MIL",
"confidence": 0.66,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "CIN 1 - 4 MIL",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 5,
"score_text": "CIN 1 - 5 MIL",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 3,
"final_margin": 4,
"winner_quality_edge": 2.4639,
"winner": "MIL",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "MIL",
"display_confidence": 0.66,
"internal_fair_probability": 0.72,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.196,
"moneyline_fit": "press",
"margin_fit": "volatile_margin_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 4,
"winner_quality_edge": 2.4639,
"winner_recent_form_edge": 0.892,
"winner_pitcher_matchup_edge": -0.0258,
"winner_simulation_draw_rate": 0.7778,
"blowout_draw_rate_margin_4_plus": 0.2222,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.7778,
"total_runs_spread": {
"min": 2,
"median": 5,
"max": 10,
"range": 8
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}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 CIN | True | 1.0148 | 1.0148 | 1 | 9 | 0 |
| Home MIL | True | 1.0195 | 1.0195 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | JJ Bleday | 150 | 1.0392 | 0.5225 | neutral | 0.3660 | 0.2610 | 0.4580 | 9.70 | 44.90 | 89.30 | 20.50 | 25.50 | 19.90 | 13.70 | 0.1143 |
| 3B | Sal Stewart | 116 | 1.0817 | 1.0893 | neutral | 0.3570 | 0.2560 | 0.4800 | 15.10 | 41.30 | 91 | 14.30 | 27.90 | 21.40 | 11.40 | 0.2286 |
| SS | Elly De La Cruz | 56 | 1.0957 | 1.2756 | neutral | 0.3600 | 0.2710 | 0.4860 | 14.90 | 52.80 | 94.30 | 11 | 28.90 | 29 | 8.90 | 0 |
| DH | Eugenio Suárez | 578 | 0.9656 | -0.4584 | neutral | 0.2590 | 0.1920 | 0.3130 | 7.90 | 28.50 | 87.10 | 19.70 | 34.50 | 33.30 | 8 | -0.8000 |
| 1B | Nathaniel Lowe | 229 | 1.0392 | 0.5228 | neutral | 0.3570 | 0.2670 | 0.4660 | 11.30 | 40.30 | 88.70 | 13.80 | 20.80 | 25.60 | 12.10 | 0.0571 |
| RF | Noelvi Marte | 558 | 0.9924 | -0.1013 | neutral | 0.2920 | 0.2200 | 0.3870 | 8.30 | 31.50 | 88.50 | 8.30 | 25.60 | 25 | 7.40 | 0.2286 |
| C | Jose Trevino | 457 | 0.9764 | -0.3146 | positive_batter_regression | 0.2500 | 0.2390 | 0.3170 | 2.30 | 28.30 | 85.50 | 9.60 | 23.30 | 14.50 | 1.80 | 1.5714 |
| 2B | Edwin Arroyo | 273 | 1.0007 | 0.0100 | neutral | 0.3140 | 0.2970 | 0.3530 | 0 | 21.80 | 86.60 | 19.30 | 22.60 | 22.80 | 3.80 | 0.8000 |
| CF | TJ Friedl | 571 | 0.9422 | -0.7700 | neutral | 0.2470 | 0.1910 | 0.2600 | 2.60 | 29 | 87.90 | 17.50 | 26.30 | 23.70 | 7.50 | 0.4286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Christian Yelich | 237 | 0.9909 | -0.1207 | neutral | 0.2930 | 0.2210 | 0.3610 | 6.80 | 41 | 88.80 | 3.40 | 32.30 | 29.50 | 9.80 | -0.7714 |
| LF | Jackson Chourio | 59 | 1.0262 | 0.3488 | negative_batter_regression | 0.3410 | 0.2550 | 0.4750 | 14.10 | 47.10 | 92.40 | 12.40 | 22.80 | 23.90 | 8.10 | -1.1143 |
| 2B | Brice Turang | 14 | 1.0555 | 0.7394 | neutral | 0.3490 | 0.2520 | 0.4440 | 8.70 | 43.80 | 91 | 7.20 | 22.60 | 26.10 | 13.70 | -0.1143 |
| C | William Contreras | 94 | 1.0640 | 0.8540 | neutral | 0.3500 | 0.2820 | 0.4620 | 7.50 | 44.70 | 90.30 | 12.30 | 19.20 | 13 | 9 | 0.1714 |
| 1B | Jake Bauers | 89 | 1.0578 | 0.7704 | neutral | 0.3550 | 0.2500 | 0.4610 | 13 | 52.50 | 92.40 | 10.20 | 27.10 | 25.60 | 13.10 | -0.6000 |
| RF | Sal Frelick | 420 | 0.9779 | -0.2953 | neutral | 0.2950 | 0.2550 | 0.3360 | 2.30 | 27.30 | 86 | 9.60 | 10.80 | 9 | 9 | -0.0571 |
| CF | Garrett Mitchell | 107 | 1.0411 | 0.5481 | neutral | 0.3410 | 0.2440 | 0.4340 | 13.60 | 50 | 92.80 | 5.20 | 38 | 33.80 | 12.20 | -0.2857 |
| SS | Cooper Pratt | 236 | 1.0070 | 0.0940 | positive_batter_regression | 0.3230 | 0.2690 | 0.3400 | 3.30 | 25 | 87.20 | 4 | 25 | 20.80 | 12.50 | 2 |
| 3B | David Hamilton | 131 | 0.9552 | -0.5973 | neutral | 0.2630 | 0.2010 | 0.2940 | 3.90 | 26.30 | 86.50 | 12.10 | 21.90 | 22.50 | 9.30 | -0.7143 |
{
"home": {
"applied": true,
"offense_factor": 1.0195,
"raw_average_factor": 1.0195,
"team_espn_average_rank": 154.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "592885",
"player_name": "Christian Yelich",
"offense_factor": 0.9909,
"quality_score": -0.1207,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592885",
"espn_id": 31283,
"player_name": "Christian Yelich",
"team": "MIL",
"role": "batter",
"espn_rank": 237,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 237,
"gp_value": 51.0,
"gp_rank": 275,
"ab_value": 199.0,
"ab_rank": 201,
"r_value": 38.0,
"r_rank": 96,
"h_value": 51.0,
"h_rank": 186,
"avg_value": 0.2562814,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 165,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 26.0,
"rbi_rank": 187,
"tb_value": 78.0,
"tb_rank": 1162,
"bb_value": 22.0,
"bb_rank": 160,
"so_value": 66.0,
"so_rank": 97,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3348214,
"obp_rank": "-",
"slg_value": 0.3919597,
"slg_rank": "-",
"ops_value": 0.7267811,
"ops_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 94.0,
"k_percent": 29.5,
"bb_percent": 9.8,
"woba": 0.32,
"xwoba": 0.293,
"xba": 0.221,
"xslg": 0.361,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 41.0,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 3.4,
"whiff_percent": 32.3,
"swing_percent": 44.3
},
"components": {
"expected_quality": -0.1863,
"regression_edge": -0.7714,
"xwoba_edge": -0.2857,
"xba_edge": -0.5143,
"xslg_edge": -0.1429,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.4143,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694192",
"player_name": "Jackson Chourio",
"offense_factor": 1.0262,
"quality_score": 0.3488,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694192",
"espn_id": 4917869,
"player_name": "Jackson Chourio",
"team": "MIL",
"role": "batter",
"espn_rank": 59,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 59,
"gp_value": 50.0,
"gp_rank": 285,
"ab_value": 213.0,
"ab_rank": 175,
"r_value": 35.0,
"r_rank": 118,
"h_value": 63.0,
"h_rank": 124,
"avg_value": 0.2957746,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 12.0,
"hr_rank": 72,
"rbi_value": 33.0,
"rbi_rank": 121,
"tb_value": 113.0,
"tb_rank": 855,
"bb_value": 19.0,
"bb_rank": 189,
"so_value": 56.0,
"so_rank": 146,
"sb_value": 6.0,
"sb_rank": 87,
"obp_value": 0.3547008,
"obp_rank": "-",
"slg_value": 0.5305164,
"slg_rank": "-",
"ops_value": 0.8852172,
"ops_rank": null,
"war_value": 2.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 87.0,
"k_percent": 23.9,
"bb_percent": 8.1,
"woba": 0.38,
"xwoba": 0.341,
"xba": 0.255,
"xslg": 0.475,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 14.1,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 92.4,
"launch_angle_avg": 12.4,
"whiff_percent": 22.8,
"swing_percent": 47.4
},
"components": {
"expected_quality": 1.0827,
"regression_edge": -1.1143,
"xwoba_edge": 1.0857,
"xba_edge": 0.4571,
"xslg_edge": 1.4857,
"barrel_edge": 1.6,
"hard_hit_edge": 1.2857,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "668930",
"player_name": "Brice Turang",
"offense_factor": 1.0555,
"quality_score": 0.7394,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668930",
"espn_id": 41179,
"player_name": "Brice Turang",
"team": "MIL",
"role": "batter",
"espn_rank": 14,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 14,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 309.0,
"ab_rank": 52,
"r_value": 60.0,
"r_rank": 2,
"h_value": 80.0,
"h_rank": 59,
"avg_value": 0.2588996,
"avg_rank": 70.0,
"2b_value": 17.0,
"2b_rank": 32,
"3b_value": 3.0,
"3b_rank": 9,
"hr_value": 12.0,
"hr_rank": 72,
"rbi_value": 48.0,
"rbi_rank": 38,
"tb_value": 139.0,
"tb_rank": 325,
"bb_value": 50.0,
"bb_rank": 13,
"so_value": 95.0,
"so_rank": 16,
"sb_value": 13.0,
"sb_rank": 24,
"obp_value": 0.3601108,
"obp_rank": "33",
"slg_value": 0.4498381,
"slg_rank": "62",
"ops_value": 0.8099489,
"ops_rank": 95.0,
"war_value": 3.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 26.1,
"bb_percent": 13.7,
"woba": 0.353,
"xwoba": 0.349,
"xba": 0.252,
"xslg": 0.444,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 7.2,
"whiff_percent": 22.6,
"swing_percent": 42.1
},
"components": {
"expected_quality": 0.9025,
"regression_edge": -0.1143,
"xwoba_edge": 1.3143,
"xba_edge": 0.3714,
"xslg_edge": 1.0429,
"barrel_edge": 0.4,
"hard_hit_edge": 0.8143,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.6333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "661388",
"player_name": "William Contreras",
"offense_factor": 1.064,
"quality_score": 0.854,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661388",
"espn_id": 39895,
"player_name": "William Contreras",
"team": "MIL",
"role": "batter",
"espn_rank": 94,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 94,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 307.0,
"ab_rank": 60,
"r_value": 47.0,
"r_rank": 43,
"h_value": 91.0,
"h_rank": 15,
"avg_value": 0.2964169,
"avg_rank": 11.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 9.0,
"hr_rank": 112,
"rbi_value": 51.0,
"rbi_rank": 30,
"tb_value": 130.0,
"tb_rank": 897,
"bb_value": 31.0,
"bb_rank": 74,
"so_value": 45.0,
"so_rank": 203,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3623188,
"obp_rank": "31",
"slg_value": 0.4234527,
"slg_rank": "86",
"ops_value": 0.7857715,
"ops_rank": 55.0,
"war_value": 1.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 13.0,
"bb_percent": 9.0,
"woba": 0.344,
"xwoba": 0.35,
"xba": 0.282,
"xslg": 0.462,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 44.7,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 12.3,
"whiff_percent": 19.2,
"swing_percent": 46.7
},
"components": {
"expected_quality": 0.9929,
"regression_edge": 0.1714,
"xwoba_edge": 1.3429,
"xba_edge": 1.2286,
"xslg_edge": 1.3,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.9429,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "641343",
"player_name": "Jake Bauers",
"offense_factor": 1.0578,
"quality_score": 0.7704,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641343",
"espn_id": 35013,
"player_name": "Jake Bauers",
"team": "MIL",
"role": "batter",
"espn_rank": 89,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 89,
"gp_value": 75.0,
"gp_rank": 134,
"ab_value": 254.0,
"ab_rank": 128,
"r_value": 49.0,
"r_rank": 36,
"h_value": 68.0,
"h_rank": 104,
"avg_value": 0.2677165,
"avg_rank": 53.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 15.0,
"hr_rank": 39,
"rbi_value": 51.0,
"rbi_rank": 30,
"tb_value": 127.0,
"tb_rank": 517,
"bb_value": 39.0,
"bb_rank": 37,
"so_value": 76.0,
"so_rank": 63,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3703703,
"obp_rank": "24",
"slg_value": 0.5,
"slg_rank": "25",
"ops_value": 0.8703703,
"ops_rank": 1.0,
"war_value": 1.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 174.0,
"k_percent": 25.6,
"bb_percent": 13.1,
"woba": 0.376,
"xwoba": 0.355,
"xba": 0.25,
"xslg": 0.461,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 52.5,
"exit_velocity_avg": 92.4,
"launch_angle_avg": 10.2,
"whiff_percent": 27.1,
"swing_percent": 41.3
},
"components": {
"expected_quality": 1.2304,
"regression_edge": -0.6,
"xwoba_edge": 1.4857,
"xba_edge": 0.3143,
"xslg_edge": 1.2857,
"barrel_edge": 1.3556,
"hard_hit_edge": 2.0571,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "686217",
"player_name": "Sal Frelick",
"offense_factor": 0.9779,
"quality_score": -0.2953,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686217",
"espn_id": 4417795,
"player_name": "Sal Frelick",
"team": "MIL",
"role": "batter",
"espn_rank": 420,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 420,
"gp_value": 78.0,
"gp_rank": 118,
"ab_value": 242.0,
"ab_rank": 145,
"r_value": 30.0,
"r_rank": 160,
"h_value": 61.0,
"h_rank": 133,
"avg_value": 0.2520661,
"avg_rank": 83.0,
"2b_value": 13.0,
"2b_rank": 101,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 31.0,
"rbi_rank": 142,
"tb_value": 83.0,
"tb_rank": 1475,
"bb_value": 25.0,
"bb_rank": 123,
"so_value": 25.0,
"so_rank": 339,
"sb_value": 6.0,
"sb_rank": 87,
"obp_value": 0.3210332,
"obp_rank": "98",
"slg_value": 0.3429752,
"slg_rank": "142",
"ops_value": 0.6640084,
"ops_rank": 44.0,
"war_value": -0.11,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 9.0,
"bb_percent": 9.0,
"woba": 0.297,
"xwoba": 0.295,
"xba": 0.255,
"xslg": 0.336,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 27.3,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 9.6,
"whiff_percent": 10.8,
"swing_percent": 42.0
},
"components": {
"expected_quality": -0.4013,
"regression_edge": -0.0571,
"xwoba_edge": -0.2286,
"xba_edge": 0.4571,
"xslg_edge": -0.5,
"barrel_edge": -1.0222,
"hard_hit_edge": -1.5429,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"offense_factor": 1.0411,
"quality_score": 0.5481,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669003",
"espn_id": 4313442,
"player_name": "Garrett Mitchell",
"team": "MIL",
"role": "batter",
"espn_rank": 107,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 107,
"gp_value": 74.0,
"gp_rank": 142,
"ab_value": 227.0,
"ab_rank": 163,
"r_value": 35.0,
"r_rank": 118,
"h_value": 60.0,
"h_rank": 138,
"avg_value": 0.2643171,
"avg_rank": 63.0,
"2b_value": 16.0,
"2b_rank": 42,
"3b_value": 3.0,
"3b_rank": 9,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 39.0,
"rbi_rank": 76,
"tb_value": 100.0,
"tb_rank": 741,
"bb_value": 32.0,
"bb_rank": 68,
"so_value": 89.0,
"so_rank": 25,
"sb_value": 6.0,
"sb_rank": 87,
"obp_value": 0.3587786,
"obp_rank": "37",
"slg_value": 0.4405286,
"slg_rank": "67",
"ops_value": 0.7993072,
"ops_rank": 30.0,
"war_value": 1.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 161.0,
"k_percent": 33.8,
"bb_percent": 12.2,
"woba": 0.351,
"xwoba": 0.341,
"xba": 0.244,
"xslg": 0.434,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 92.8,
"launch_angle_avg": 5.2,
"whiff_percent": 38.0,
"swing_percent": 43.8
},
"components": {
"expected_quality": 0.9174,
"regression_edge": -0.2857,
"xwoba_edge": 1.0857,
"xba_edge": 0.1429,
"xslg_edge": 0.9,
"barrel_edge": 1.4889,
"hard_hit_edge": 1.7,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": -0.5333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "806198",
"player_name": "Cooper Pratt",
"offense_factor": 1.007,
"quality_score": 0.094,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "806198",
"espn_id": 5149101,
"player_name": "Cooper Pratt",
"team": "MIL",
"role": "batter",
"espn_rank": 236,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 236,
"gp_value": 14.0,
"gp_rank": 476,
"ab_value": 41.0,
"ab_rank": 460,
"r_value": 4.0,
"r_rank": 454,
"h_value": 8.0,
"h_rank": 459,
"avg_value": 0.1951219,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 2.0,
"rbi_rank": 488,
"tb_value": 9.0,
"tb_rank": 2734,
"bb_value": 6.0,
"bb_rank": 385,
"so_value": 10.0,
"so_rank": 469,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.2916666,
"obp_rank": "-",
"slg_value": 0.2195121,
"slg_rank": "-",
"ops_value": 0.5111787,
"ops_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 20.8,
"bb_percent": 12.5,
"woba": 0.244,
"xwoba": 0.323,
"xba": 0.269,
"xslg": 0.34,
"sweet_spot_percent": 28.1,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 25.0,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 4.0,
"whiff_percent": 25.0,
"swing_percent": 45.2
},
"components": {
"expected_quality": -0.0827,
"regression_edge": 2.0,
"xwoba_edge": 0.5714,
"xba_edge": 0.8571,
"xslg_edge": -0.4429,
"barrel_edge": -0.8,
"hard_hit_edge": -1.8714,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": -0.85,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "666152",
"player_name": "David Hamilton",
"offense_factor": 0.9552,
"quality_score": -0.5973,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666152",
"espn_id": 42987,
"player_name": "David Hamilton",
"team": "MIL",
"role": "batter",
"espn_rank": 131,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 131,
"gp_value": 70.0,
"gp_rank": 167,
"ab_value": 194.0,
"ab_rank": 210,
"r_value": 31.0,
"r_rank": 148,
"h_value": 45.0,
"h_rank": 210,
"avg_value": 0.2319587,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 13.0,
"rbi_rank": 312,
"tb_value": 63.0,
"tb_rank": 1374,
"bb_value": 21.0,
"bb_rank": 168,
"so_value": 51.0,
"so_rank": 169,
"sb_value": 17.0,
"sb_rank": 13,
"obp_value": 0.3101851,
"obp_rank": "-",
"slg_value": 0.3247422,
"slg_rank": "-",
"ops_value": 0.6349273,
"ops_rank": null,
"war_value": 1.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 133.0,
"k_percent": 22.5,
"bb_percent": 9.3,
"woba": 0.288,
"xwoba": 0.263,
"xba": 0.201,
"xslg": 0.294,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 26.3,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 12.1,
"whiff_percent": 21.9,
"swing_percent": 45.5
},
"components": {
"expected_quality": -1.0325,
"regression_edge": -0.7143,
"xwoba_edge": -1.1429,
"xba_edge": -1.0857,
"xslg_edge": -1.1,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.6857,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -1.5,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0148,
"raw_average_factor": 1.0148,
"team_espn_average_rank": 332.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "668709",
"player_name": "JJ Bleday",
"offense_factor": 1.0392,
"quality_score": 0.5225,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668709",
"espn_id": 42410,
"player_name": "JJ Bleday",
"team": "CIN",
"role": "batter",
"espn_rank": 150,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 150,
"gp_value": 57.0,
"gp_rank": 230,
"ab_value": 203.0,
"ab_rank": 193,
"r_value": 29.0,
"r_rank": 167,
"h_value": 48.0,
"h_rank": 199,
"avg_value": 0.2364532,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 37.0,
"rbi_rank": 91,
"tb_value": 100.0,
"tb_rank": 694,
"bb_value": 33.0,
"bb_rank": 61,
"so_value": 48.0,
"so_rank": 184,
"sb_value": 3.0,
"sb_rank": 169,
"obp_value": 0.3458333,
"obp_rank": "-",
"slg_value": 0.4926108,
"slg_rank": "-",
"ops_value": 0.8384441,
"ops_rank": null,
"war_value": 1.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 19.9,
"bb_percent": 13.7,
"woba": 0.362,
"xwoba": 0.366,
"xba": 0.261,
"xslg": 0.458,
"sweet_spot_percent": 42.7,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 20.5,
"whiff_percent": 25.5,
"swing_percent": 45.3
},
"components": {
"expected_quality": 1.2077,
"regression_edge": 0.1143,
"xwoba_edge": 1.8,
"xba_edge": 0.6286,
"xslg_edge": 1.2429,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.9714,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 1.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "701398",
"player_name": "Sal Stewart",
"offense_factor": 1.0817,
"quality_score": 1.0893,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701398",
"espn_id": 5080771,
"player_name": "Sal Stewart",
"team": "CIN",
"role": "batter",
"espn_rank": 116,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 116,
"gp_value": 85.0,
"gp_rank": 23,
"ab_value": 323.0,
"ab_rank": 22,
"r_value": 45.0,
"r_rank": 52,
"h_value": 83.0,
"h_rank": 42,
"avg_value": 0.2569659,
"avg_rank": 76.0,
"2b_value": 19.0,
"2b_rank": 18,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 16.0,
"hr_rank": 32,
"rbi_value": 59.0,
"rbi_rank": 5,
"tb_value": 150.0,
"tb_rank": 584,
"bb_value": 42.0,
"bb_rank": 29,
"so_value": 79.0,
"so_rank": 53,
"sb_value": 11.0,
"sb_rank": 37,
"obp_value": 0.3414634,
"obp_rank": "62",
"slg_value": 0.4643962,
"slg_rank": "50",
"ops_value": 0.8058596,
"ops_rank": 112.0,
"war_value": 1.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 226.0,
"k_percent": 21.4,
"bb_percent": 11.4,
"woba": 0.349,
"xwoba": 0.357,
"xba": 0.256,
"xslg": 0.48,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 15.1,
"hard_hit_percent": 41.3,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 14.3,
"whiff_percent": 27.9,
"swing_percent": 47.4
},
"components": {
"expected_quality": 1.2295,
"regression_edge": 0.2286,
"xwoba_edge": 1.5429,
"xba_edge": 0.4857,
"xslg_edge": 1.5571,
"barrel_edge": 1.8222,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "682829",
"player_name": "Elly De La Cruz",
"offense_factor": 1.0957,
"quality_score": 1.2756,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682829",
"espn_id": 4917694,
"player_name": "Elly De La Cruz",
"team": "CIN",
"role": "batter",
"espn_rank": 56,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 56,
"gp_value": 66.0,
"gp_rank": 185,
"ab_value": 263.0,
"ab_rank": 120,
"r_value": 44.0,
"r_rank": 57,
"h_value": 72.0,
"h_rank": 88,
"avg_value": 0.2737642,
"avg_rank": 41.0,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 40.0,
"rbi_rank": 72,
"tb_value": 129.0,
"tb_rank": 404,
"bb_value": 26.0,
"bb_rank": 115,
"so_value": 85.0,
"so_rank": 32,
"sb_value": 10.0,
"sb_rank": 46,
"obp_value": 0.3412969,
"obp_rank": "62",
"slg_value": 0.4904942,
"slg_rank": "28",
"ops_value": 0.8317911,
"ops_rank": 34.0,
"war_value": 2.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 29.0,
"bb_percent": 8.9,
"woba": 0.36,
"xwoba": 0.36,
"xba": 0.271,
"xslg": 0.486,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 14.9,
"hard_hit_percent": 52.8,
"exit_velocity_avg": 94.3,
"launch_angle_avg": 11.0,
"whiff_percent": 28.9,
"swing_percent": 41.4
},
"components": {
"expected_quality": 1.4833,
"regression_edge": 0.0,
"xwoba_edge": 1.6286,
"xba_edge": 0.9143,
"xslg_edge": 1.6429,
"barrel_edge": 1.7778,
"hard_hit_edge": 2.1,
"exit_velocity_edge": 2.2,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"offense_factor": 0.9656,
"quality_score": -0.4584,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "553993",
"espn_id": 32367,
"player_name": "Eugenio Suarez",
"team": "CIN",
"role": "batter",
"espn_rank": 578,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 578,
"gp_value": 57.0,
"gp_rank": 230,
"ab_value": 204.0,
"ab_rank": 188,
"r_value": 18.0,
"r_rank": 275,
"h_value": 42.0,
"h_rank": 225,
"avg_value": 0.2058823,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 165,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 29.0,
"rbi_rank": 161,
"tb_value": 76.0,
"tb_rank": 1187,
"bb_value": 18.0,
"bb_rank": 198,
"so_value": 75.0,
"so_rank": 67,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2755555,
"obp_rank": "-",
"slg_value": 0.372549,
"slg_rank": "-",
"ops_value": 0.6481045,
"ops_rank": null,
"war_value": -0.86,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 115.0,
"k_percent": 33.3,
"bb_percent": 8.0,
"woba": 0.287,
"xwoba": 0.259,
"xba": 0.192,
"xslg": 0.313,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 28.5,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 19.7,
"whiff_percent": 34.5,
"swing_percent": 47.5
},
"components": {
"expected_quality": -0.8896,
"regression_edge": -0.8,
"xwoba_edge": -1.2571,
"xba_edge": -1.3429,
"xslg_edge": -0.8286,
"barrel_edge": 0.2222,
"hard_hit_edge": -1.3714,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"offense_factor": 1.0392,
"quality_score": 0.5228,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663993",
"espn_id": 40538,
"player_name": "Nathaniel Lowe",
"team": "CIN",
"role": "batter",
"espn_rank": 229,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 229,
"gp_value": 66.0,
"gp_rank": 185,
"ab_value": 182.0,
"ab_rank": 231,
"r_value": 20.0,
"r_rank": 245,
"h_value": 46.0,
"h_rank": 209,
"avg_value": 0.2527472,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": 101,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 9.0,
"hr_rank": 112,
"rbi_value": 25.0,
"rbi_rank": 194,
"tb_value": 86.0,
"tb_rank": 656,
"bb_value": 25.0,
"bb_rank": 123,
"so_value": 53.0,
"so_rank": 159,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3429951,
"obp_rank": "-",
"slg_value": 0.4725274,
"slg_rank": "-",
"ops_value": 0.8155225,
"ops_rank": null,
"war_value": 0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 122.0,
"k_percent": 25.6,
"bb_percent": 12.1,
"woba": 0.355,
"xwoba": 0.357,
"xba": 0.267,
"xslg": 0.466,
"sweet_spot_percent": 41.1,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 13.8,
"whiff_percent": 20.8,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.0869,
"regression_edge": 0.0571,
"xwoba_edge": 1.5429,
"xba_edge": 0.8,
"xslg_edge": 1.3571,
"barrel_edge": 0.9778,
"hard_hit_edge": 0.3143,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 1.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "682622",
"player_name": "Noelvi Marte",
"offense_factor": 0.9924,
"quality_score": -0.1013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682622",
"espn_id": 41307,
"player_name": "Noelvi Marte",
"team": "CIN",
"role": "batter",
"espn_rank": 558,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 558,
"gp_value": 33.0,
"gp_rank": 370,
"ab_value": 100.0,
"ab_rank": 352,
"r_value": 13.0,
"r_rank": 331,
"h_value": 20.0,
"h_rank": 358,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 8.0,
"rbi_rank": 374,
"tb_value": 39.0,
"tb_rank": 1754,
"bb_value": 8.0,
"bb_rank": 351,
"so_value": 27.0,
"so_rank": 326,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.2592592,
"obp_rank": "-",
"slg_value": 0.39,
"slg_rank": "-",
"ops_value": 0.6492592,
"ops_rank": null,
"war_value": -0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 31.0,
"k_percent": 25.0,
"bb_percent": 7.4,
"woba": 0.284,
"xwoba": 0.292,
"xba": 0.22,
"xslg": 0.387,
"sweet_spot_percent": 19.2,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 31.5,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 8.3,
"whiff_percent": 25.6,
"swing_percent": 48.4
},
"components": {
"expected_quality": -0.2991,
"regression_edge": 0.2286,
"xwoba_edge": -0.3143,
"xba_edge": -0.5429,
"xslg_edge": 0.2286,
"barrel_edge": 0.3111,
"hard_hit_edge": -0.9429,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -2.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "624431",
"player_name": "Jose Trevino",
"offense_factor": 0.9764,
"quality_score": -0.3146,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "624431",
"espn_id": 35268,
"player_name": "Jose Trevino",
"team": "CIN",
"role": "batter",
"espn_rank": 457,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 457,
"gp_value": 18.0,
"gp_rank": 451,
"ab_value": 52.0,
"ab_rank": 434,
"r_value": 5.0,
"r_rank": 437,
"h_value": 10.0,
"h_rank": 438,
"avg_value": 0.1923076,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 412,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 4.0,
"rbi_rank": 446,
"tb_value": 12.0,
"tb_rank": 2670,
"bb_value": 1.0,
"bb_rank": 491,
"so_value": 8.0,
"so_rank": 486,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2075471,
"obp_rank": "-",
"slg_value": 0.2307692,
"slg_rank": "-",
"ops_value": 0.4383163,
"ops_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 30.0,
"k_percent": 14.5,
"bb_percent": 1.8,
"woba": 0.195,
"xwoba": 0.25,
"xba": 0.239,
"xslg": 0.317,
"sweet_spot_percent": 23.9,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 28.3,
"exit_velocity_avg": 85.5,
"launch_angle_avg": 9.6,
"whiff_percent": 23.3,
"swing_percent": 54.9
},
"components": {
"expected_quality": -1.0688,
"regression_edge": 1.5714,
"xwoba_edge": -1.5143,
"xba_edge": 0.0,
"xslg_edge": -0.7714,
"barrel_edge": -1.0222,
"hard_hit_edge": -1.4,
"exit_velocity_edge": -1.32,
"sweet_spot_edge": -1.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "695490",
"player_name": "Edwin Arroyo",
"offense_factor": 1.0007,
"quality_score": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695490",
"espn_id": 4919919,
"player_name": "Edwin Arroyo",
"team": "CIN",
"role": "batter",
"espn_rank": 273,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 273,
"gp_value": 25.0,
"gp_rank": 412,
"ab_value": 71.0,
"ab_rank": 400,
"r_value": 9.0,
"r_rank": 378,
"h_value": 19.0,
"h_rank": 367,
"avg_value": 0.2676056,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 375,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 4.0,
"rbi_rank": 446,
"tb_value": 22.0,
"tb_rank": 2562,
"bb_value": 3.0,
"bb_rank": 439,
"so_value": 18.0,
"so_rank": 400,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3205128,
"obp_rank": "-",
"slg_value": 0.3098591,
"slg_rank": "-",
"ops_value": 0.6303719,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 22.8,
"bb_percent": 3.8,
"woba": 0.286,
"xwoba": 0.314,
"xba": 0.297,
"xslg": 0.353,
"sweet_spot_percent": 47.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 21.8,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 19.3,
"whiff_percent": 22.6,
"swing_percent": 61.5
},
"components": {
"expected_quality": -0.1044,
"regression_edge": 0.8,
"xwoba_edge": 0.3143,
"xba_edge": 1.6571,
"xslg_edge": -0.2571,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.3286,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": 2.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "670770",
"player_name": "TJ Friedl",
"offense_factor": 0.9422,
"quality_score": -0.77,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670770",
"espn_id": 36020,
"player_name": "TJ Friedl",
"team": "CIN",
"role": "batter",
"espn_rank": 571,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 571,
"gp_value": 50.0,
"gp_rank": 285,
"ab_value": 163.0,
"ab_rank": 251,
"r_value": 15.0,
"r_rank": 310,
"h_value": 28.0,
"h_rank": 308,
"avg_value": 0.1717791,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 266,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 8.0,
"rbi_rank": 374,
"tb_value": 40.0,
"tb_rank": 2019,
"bb_value": 14.0,
"bb_rank": 245,
"so_value": 44.0,
"so_rank": 212,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.2527472,
"obp_rank": "-",
"slg_value": 0.2453987,
"slg_rank": "-",
"ops_value": 0.4981459,
"ops_rank": null,
"war_value": -0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 23.7,
"bb_percent": 7.5,
"woba": 0.232,
"xwoba": 0.247,
"xba": 0.191,
"xslg": 0.26,
"sweet_spot_percent": 26.6,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 29.0,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 17.5,
"whiff_percent": 26.3,
"swing_percent": 44.4
},
"components": {
"expected_quality": -1.2783,
"regression_edge": 0.4286,
"xwoba_edge": -1.6,
"xba_edge": -1.3714,
"xslg_edge": -1.5857,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.3,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": -1.1,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CIN | True | 3 | 0.6388 | 0.9680 | 0.9457 | 1.0866 | 0.9768 | 0.9675 | neutral | 0.2700 | 0.2780 | 30.50 | 7.90 | 33.20 | 8.30 | 36 | |
| Home MIL | True | 2 | 1.3267 | 0.9880 | 0.8872 | 1.1600 | 0.9625 | 0.8153 | neutral | 0.2280 | 0.1990 | 38.80 | 7.20 | 37.90 | 2.60 | 33.20 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CIN | True | None | 90 | 94.93 | 2581 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2800 | |
| Home MIL | True | None | 96 | 96.93 | 2534 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2800 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.8886 |
| home_runs_vs_away_pitcher | 0.9474 |
| home_pitcher_quality_edge | 0.6879 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "694819",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 38.8,
"bb_percent": 7.2,
"woba": 0.199,
"xwoba": 0.228,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 33.2,
"avg_best_speed": 76.4436,
"avg_hyper_speed": 92.9531,
"whiff_percent": 37.9,
"swing_percent": 49.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.6889,
"command_and_miss": 1.7596,
"regression_edge": -0.8286,
"xwoba_edge": 2.4143,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.7286,
"whiff_edge": 1.7714,
"bb_edge": 0.475,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694819",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 96.93002914629734,
"release_spin_rate": 2533.892791335776,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 96.93002914629734,
"release_spin_rate": 2533.892791335776,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 96.93,
"release_spin_rate": 2533.8928,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 1.3267,
"sample_weight": 0.988,
"run_prevention_factor": 0.8872,
"strikeout_factor": 1.16,
"walk_factor": 0.9625,
"homer_factor": 0.8153,
"woba_minus_xwoba": -0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694819",
"espn_id": 5080761,
"player_name": "Jacob Misiorowski",
"team": "MIL",
"role": "pitcher",
"espn_rank": 2,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 2,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 16.0,
"gs_rank": 47,
"qs_value": 11.0,
"qs_rank": 5,
"era_value": 1.4545,
"era_rank": 1.0,
"w_value": 9.0,
"w_rank": 4,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 99.0,
"ip_rank": 19,
"h_value": 49.0,
"h_rank": 144,
"er_value": 16.0,
"er_rank": 239,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 27.0,
"bb_rank": 75,
"k_value": 146.0,
"k_rank": 1,
"k_per_9_value": 13.272727,
"k_per_9_rank": 1,
"whip_value": 0.7676,
"whip_rank": 1.0,
"war_value": 4.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_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": 30.5,
"bb_percent": 7.9,
"woba": 0.278,
"xwoba": 0.27,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 36.0,
"avg_best_speed": 78.4259,
"avg_hyper_speed": 93.684,
"whiff_percent": 33.2,
"swing_percent": 49.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.6538,
"command_and_miss": 0.9561,
"regression_edge": 0.2286,
"xwoba_edge": 1.2143,
"barrel_edge": -0.2,
"hard_hit_edge": 0.3286,
"whiff_edge": 1.1,
"bb_edge": 0.3,
"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": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"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": 90,
"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.6388,
"sample_weight": 0.968,
"run_prevention_factor": 0.9457,
"strikeout_factor": 1.0866,
"walk_factor": 0.9768,
"homer_factor": 0.9675,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695505",
"espn_id": 4927516,
"player_name": "Chase Burns",
"team": "CIN",
"role": "pitcher",
"espn_rank": 3,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 3,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 16.0,
"gs_rank": 47,
"qs_value": 8.0,
"qs_rank": 31,
"era_value": 2.3563,
"era_rank": 6.0,
"w_value": 9.0,
"w_rank": 4,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 91.2,
"ip_rank": 47,
"h_value": 70.0,
"h_rank": 93,
"er_value": 24.0,
"er_rank": 151,
"hr_value": 11.0,
"hr_rank": 53,
"bb_value": 29.0,
"bb_rank": 60,
"k_value": 112.0,
"k_rank": 12,
"k_per_9_value": 10.996364,
"k_per_9_rank": 6,
"whip_value": 1.08,
"whip_rank": 19.0,
"war_value": 4.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.8886,
"home_runs_vs_away_pitcher": 0.9474,
"home_pitcher_quality_edge": 0.6879
},
"score_before": {
"away_runs": 1.0,
"home_runs": 4.0
},
"score_after": {
"away_runs": 0.8886,
"home_runs": 3.7898,
"home_win_probability": 0.759
},
"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 CIN | 3-7 | 0.300 | 3.30 | 4.50 | -12 | cold | average | |
| Home MIL | 8-2 | 0.800 | 4.40 | 2.70 | 17 | average | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CIN | 39-45 | 0.464 | -58 | -0.690 | True |
| Home MIL | 52-31 | 0.627 | 127 | 1.530 | True |
| Signal | - | - | 2.221 | 2.464 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CIN | - | - | 1 | - | - | - | - |
| Game target MIL | - | - | 4 | - | - | - | - |
| Player finalized CIN | 31 | 9 | 1 | 0 | 1 | 1 | 8 |
| Player finalized MIL | 33 | 9 | 6 | 0 | 4 | 2 | 8 |
| Player model fractional CIN | 31.59 | 6.50 | 3.35 | 0.97 | 3.18 | 2.70 | 8.52 |
| Player model fractional MIL | 32.52 | 8.65 | 5.40 | 1.13 | 4.51 | 3.64 | 8.08 |
| Simulation box CIN | 31 | 4 | 1 | 0 | 1 | 1 | 7 |
| Simulation box MIL | 29 | 5 | 5 | 3 | 5 | 2 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away CIN | Starter | Chase Burns | 6 | 3 | 6 | 3 | 2 | 3.14 | 1.23 | True |
| Away CIN | Middle Reliever | Tejay Antone | 1 | 0 | 0 | 0 | 0 | 3.33 | 1.12 | True |
| Away CIN | Middle Reliever | Emilio Pagán | 1 | 2 | 0 | 2 | 0 | 5.78 | 1.43 | True |
| Home MIL | Starter | Jacob Misiorowski | 7 | 0 | 7 | 2 | 1 | 1.70 | 0.82 | True |
| Home MIL | Middle Reliever | Abner Uribe | 1 | 0 | 0 | 0 | 0 | 2.45 | 0.89 | True |
| Home MIL | Middle Reliever | Trevor Megill | 1 | 0 | 0 | 0 | 0 | 2.19 | 0.95 | True |
| Home MIL | Middle Reliever | Aaron Ashby | 0 | 1 | 0 | 2 | 0 | 4.01 | 1.31 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | MIL | pitcher | Starter | Jacob Misiorowski | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 3.0000 | boost | better |
| home | MIL | batter | SS | Cooper Pratt | better | 11 | 6 | 5 | 7 | 4 | predicted_RBI | 2.7300 | boost | better |
| home | MIL | batter | 1B | Jake Bauers | better | 10 | 7 | 3 | 7 | 3 | predicted_AB | -1.5000 | deboost | worse |
| away | CIN | batter | SS | Elly De La Cruz | worse | 12 | 4 | 8 | 5 | 7 | predicted_AB | -1.4900 | deboost | worse |
| home | MIL | batter | C | William Contreras | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.4300 | boost | worse |
| home | MIL | batter | DH | Christian Yelich | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -1.3700 | deboost | worse |
| home | MIL | batter | 2B | Brice Turang | better | 10 | 5 | 5 | 6 | 4 | predicted_SO | -1.1650 | deboost | better |
| home | MIL | batter | LF | Jackson Chourio | worse | 10 | 1 | 9 | 2 | 8 | predicted_H | -1.1300 | deboost | worse |
| away | CIN | batter | 1B | Nathaniel Lowe | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.0820 | boost | better |
| away | CIN | pitcher | Starter | Chase Burns | better | 3 | 0 | 3 | 3 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | CIN | pitcher | Middle Reliever | Emilio Pagán | worse | 4 | 4 | 0 | 1 | 3 | predicted_ER | 1.0000 | boost | worse |
| home | MIL | pitcher | Middle Reliever | Abner Uribe | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | MIL | pitcher | Middle Reliever | Trevor Megill | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | MIL | pitcher | Middle Reliever | Aaron Ashby | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | CIN | batter | 3B | Sal Stewart | worse | 9 | 0 | 9 | 1 | 8 | predicted_SO | -0.9050 | deboost | better |
| away | CIN | batter | LF | JJ Bleday | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.8600 | deboost | worse |
| home | MIL | batter | CF | Garrett Mitchell | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -0.8600 | deboost | worse |
| home | MIL | batter | 3B | David Hamilton | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -0.7940 | deboost | better |
| away | CIN | batter | 2B | Edwin Arroyo | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.7700 | deboost | worse |
| away | CIN | batter | RF | Noelvi Marte | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.7100 | deboost | worse |
| away | CIN | batter | DH | Eugenio Suárez | worse | 11 | 4 | 7 | 5 | 6 | predicted_R | 0.6790 | boost | better |
| away | CIN | batter | CF | TJ Friedl | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.6300 | deboost | worse |
| away | CIN | batter | C | Jose Trevino | worse | 11 | 1 | 10 | 0 | 11 | predicted_H | -0.6100 | deboost | worse |
| home | MIL | batter | RF | Sal Frelick | worse | 11 | 4 | 7 | 5 | 6 | predicted_R | 0.5950 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Chase Burns |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6388 |
| ESPN Rank | 3 |
| 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 | 3 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 6 |
| Season ERA | 2.3564 |
| Season WHIP | 1.0800 |
| Role Avg IP | 5.7290 |
| Recent Avg IP | 5.4670 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 390.0,
"runs_allowed": 466.0,
"run_differential": -76.0,
"run_differential_per_game": -0.8085,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.9574,
"offense_index": 0.9167,
"defense_index": 0.9129,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2225
},
"opponent": {
"team": "MIL",
"games": 94,
"wins": 57,
"losses": 37,
"win_pct": 0.6064,
"runs_scored": 477.0,
"runs_allowed": 343.0,
"run_differential": 134.0,
"run_differential_per_game": 1.4255,
"avg_runs_scored": 5.0745,
"avg_runs_allowed": 3.6489,
"offense_index": 1.1212,
"defense_index": 1.2403,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.1,
"run_differential": 15.0
},
"available": true,
"quality_score": 0.3687
},
"edges": {
"quality_edge": -0.5912,
"offense_edge": -0.0833,
"opponent_offense_edge": 0.1212,
"defense_strength": -0.0871,
"opponent_defense_weakness": -0.2403,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9689,
"run_prevention": 1.0577,
"strikeout": 0.9726
},
"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": 30.5,
"bb_percent": 7.9,
"woba": 0.278,
"xwoba": 0.27,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 36.0,
"avg_best_speed": 78.4259,
"avg_hyper_speed": 93.684,
"whiff_percent": 33.2,
"swing_percent": 49.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.6538,
"command_and_miss": 0.9561,
"regression_edge": 0.2286,
"xwoba_edge": 1.2143,
"barrel_edge": -0.2,
"hard_hit_edge": 0.3286,
"whiff_edge": 1.1,
"bb_edge": 0.3,
"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": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"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": 90,
"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.6388,
"sample_weight": 0.968,
"run_prevention_factor": 0.9457,
"strikeout_factor": 1.0866,
"walk_factor": 0.9768,
"homer_factor": 0.9675,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695505",
"espn_id": 4927516,
"player_name": "Chase Burns",
"team": "CIN",
"role": "pitcher",
"espn_rank": 3,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 3,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 16.0,
"gs_rank": 47,
"qs_value": 8.0,
"qs_rank": 31,
"era_value": 2.3563,
"era_rank": 6.0,
"w_value": 9.0,
"w_rank": 4,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 91.2,
"ip_rank": 47,
"h_value": 70.0,
"h_rank": 93,
"er_value": 24.0,
"er_rank": 151,
"hr_value": 11.0,
"hr_rank": 53,
"bb_value": 29.0,
"bb_rank": 60,
"k_value": 112.0,
"k_rank": 12,
"k_per_9_value": 10.996364,
"k_per_9_rank": 6,
"whip_value": 1.08,
"whip_rank": 19.0,
"war_value": 4.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9474,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9474,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9775,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9685,
"adjusted": 1
},
"predicted_SO": {
"original": 8.0,
"factor": 1.0838,
"adjusted": 9
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 57.2,
"ER": 14,
"H": 44,
"BB": 17,
"SO": 73,
"HR": 6,
"ERA": 2.184971098265896,
"WHIP": 1.0578034682080926,
"K9": 11.39306358381503,
"HR9": 0.9364161849710984,
"games_pitched": 10,
"quality_starts": 5,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "695505",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 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": 90,
"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": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "695505",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.1,
"ER": 10.0,
"R": 10.0,
"H": 28.0,
"BB": 9.0,
"SO": 40.0,
"HR": 3.0,
"BF": 118.0,
"Pitches": 492.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 5.6,
"BB": 1.8,
"SO": 8.0,
"HR": 0.6,
"BF": 23.6,
"Pitches": 98.4
},
"rates": {
"ERA": 3.2927,
"WHIP": 1.3537,
"ER_per_IP": 0.36585,
"H_per_IP": 1.02439,
"BB_per_IP": 0.32927,
"SO_per_IP": 1.46341,
"HR_per_IP": 0.10976
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 57.2,
"ER": 14.0,
"R": 14.0,
"H": 44.0,
"BB": 17.0,
"SO": 73.0,
"HR": 6.0,
"BF": 230.0,
"Pitches": 944.0
},
"per_game": {
"IP": 5.2,
"ER": 1.4,
"R": 1.4,
"H": 4.4,
"BB": 1.7,
"SO": 7.3,
"HR": 0.6,
"BF": 23.0,
"Pitches": 94.4
},
"rates": {
"ERA": 2.185,
"WHIP": 1.0578,
"ER_per_IP": 0.24277,
"H_per_IP": 0.76301,
"BB_per_IP": 0.2948,
"SO_per_IP": 1.2659,
"HR_per_IP": 0.10405
}
},
"season": {
"games": 16,
"totals": {
"IP": 91.2,
"ER": 24.0,
"R": 24.0,
"H": 70.0,
"BB": 29.0,
"SO": 112.0,
"HR": 11.0,
"BF": 367.0,
"Pitches": 1482.0
},
"per_game": {
"IP": 5.2,
"ER": 1.5,
"R": 1.5,
"H": 4.375,
"BB": 1.8125,
"SO": 7.0,
"HR": 0.6875,
"BF": 22.9375,
"Pitches": 92.625
},
"rates": {
"ERA": 2.3564,
"WHIP": 1.08,
"ER_per_IP": 0.26182,
"H_per_IP": 0.76364,
"BB_per_IP": 0.31636,
"SO_per_IP": 1.22182,
"HR_per_IP": 0.12
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.963,
"predicted_H": 5.073,
"predicted_BB": 1.83,
"predicted_SO": 7.054,
"predicted_HR": 0.668,
"predicted_ERA": 3.137,
"predicted_WHIP": 1.2257
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.963,
"final": 2.8809,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.073,
"final": 4.5895,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.83,
"final": 1.9066,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 7.054,
"final": 6.5791,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 3.0,
"form": 0.668,
"final": 1.7188,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.137,
"final": 3.137,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2257,
"final": 1.2257,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tejay Antone |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0798 |
| ESPN Rank | 154 |
| 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.5890 |
| Season WHIP | 0.9863 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 390.0,
"runs_allowed": 466.0,
"run_differential": -76.0,
"run_differential_per_game": -0.8085,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.9574,
"offense_index": 0.9167,
"defense_index": 0.9129,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2225
},
"opponent": {
"team": "MIL",
"games": 94,
"wins": 57,
"losses": 37,
"win_pct": 0.6064,
"runs_scored": 477.0,
"runs_allowed": 343.0,
"run_differential": 134.0,
"run_differential_per_game": 1.4255,
"avg_runs_scored": 5.0745,
"avg_runs_allowed": 3.6489,
"offense_index": 1.1212,
"defense_index": 1.2403,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.1,
"run_differential": 15.0
},
"available": true,
"quality_score": 0.3687
},
"edges": {
"quality_edge": -0.5912,
"offense_edge": -0.0833,
"opponent_offense_edge": 0.1212,
"defense_strength": -0.0871,
"opponent_defense_weakness": -0.2403,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9689,
"run_prevention": 1.0577,
"strikeout": 0.9726
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622088",
"profile": {
"available": true,
"pitcher_id": "622088",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 30.0,
"k_percent": 20.8,
"bb_percent": 6.9,
"woba": 0.263,
"xwoba": 0.295,
"sweet_spot_percent": 25.4,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 36.6,
"avg_best_speed": 79.8572,
"avg_hyper_speed": 93.7585,
"whiff_percent": 25.4,
"swing_percent": 47.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4834,
"command_and_miss": -0.0075,
"regression_edge": -0.9143,
"xwoba_edge": 0.5,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.2429,
"whiff_edge": -0.0143,
"bb_edge": 0.55,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "622088",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0798,
"sample_weight": 0.45,
"run_prevention_factor": 0.9932,
"strikeout_factor": 0.9952,
"walk_factor": 0.9802,
"homer_factor": 0.9913,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "622088",
"espn_id": 42355,
"player_name": "Tejay Antone",
"team": "CIN",
"role": "pitcher",
"espn_rank": 154,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 154,
"gp_value": 24.0,
"gp_rank": 175,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.589,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 2.0,
"hld_rank": 172,
"ip_value": 24.1,
"ip_rank": 370,
"h_value": 17.0,
"h_rank": 421,
"er_value": 7.0,
"er_rank": 465,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 7.0,
"bb_rank": 432,
"k_value": 21.0,
"k_rank": 376,
"k_per_9_value": 7.7671237,
"k_per_9_rank": 27,
"whip_value": 0.9863,
"whip_rank": null,
"war_value": 0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9961,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9978,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 2,
"H": 5,
"BB": 3,
"SO": 7,
"HR": 2,
"ERA": 1.741935483870968,
"WHIP": 0.7741935483870969,
"K9": 6.096774193548388,
"HR9": 1.741935483870968,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "622088",
"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.824,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.491,
"prior_weight": 0.509
},
"role": "pitcher",
"player_id": "622088",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 3.0,
"HR": 1.0,
"BF": 16.0,
"Pitches": 65.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.2,
"BF": 3.2,
"Pitches": 13.0
},
"rates": {
"ERA": 2.25,
"WHIP": 1.0,
"ER_per_IP": 0.25,
"H_per_IP": 0.75,
"BB_per_IP": 0.25,
"SO_per_IP": 0.75,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 3.0,
"SO": 7.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 158.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.5,
"BB": 0.3,
"SO": 0.7,
"HR": 0.2,
"BF": 4.1,
"Pitches": 15.8
},
"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": 0.67742,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 24,
"totals": {
"IP": 24.1,
"ER": 7.0,
"R": 9.0,
"H": 17.0,
"BB": 7.0,
"SO": 21.0,
"HR": 3.0,
"BF": 101.0,
"Pitches": 380.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2917,
"R": 0.375,
"H": 0.7083,
"BB": 0.2917,
"SO": 0.875,
"HR": 0.125,
"BF": 4.2083,
"Pitches": 15.8333
},
"rates": {
"ERA": 2.589,
"WHIP": 0.9863,
"ER_per_IP": 0.28767,
"H_per_IP": 0.69863,
"BB_per_IP": 0.28767,
"SO_per_IP": 0.86301,
"HR_per_IP": 0.12329
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.343,
"predicted_H": 0.749,
"predicted_BB": 0.292,
"predicted_SO": 0.789,
"predicted_HR": 0.162,
"predicted_ERA": 3.3304,
"predicted_WHIP": 1.1242
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5651,
"form_weight": 0.4349,
"form_reliability": 0.491,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.824,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.491,
"prior_weight": 0.509
},
"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.1492,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.749,
"final": 0.3258,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.292,
"final": 0.127,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.789,
"final": 0.3432,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.162,
"final": 0.0705,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3304,
"final": 3.3304,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1242,
"final": 1.1242,
"source": "form_only"
}
}
}{
"available": false,
"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 | Emilio Pagán |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2812 |
| ESPN Rank | 606 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0172 |
| Avg Velo | 90.0658 |
| Avg Spin | 2193.9930 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 6.2791 |
| Season WHIP | 1.3953 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 390.0,
"runs_allowed": 466.0,
"run_differential": -76.0,
"run_differential_per_game": -0.8085,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.9574,
"offense_index": 0.9167,
"defense_index": 0.9129,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2225
},
"opponent": {
"team": "MIL",
"games": 94,
"wins": 57,
"losses": 37,
"win_pct": 0.6064,
"runs_scored": 477.0,
"runs_allowed": 343.0,
"run_differential": 134.0,
"run_differential_per_game": 1.4255,
"avg_runs_scored": 5.0745,
"avg_runs_allowed": 3.6489,
"offense_index": 1.1212,
"defense_index": 1.2403,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.1,
"run_differential": 15.0
},
"available": true,
"quality_score": 0.3687
},
"edges": {
"quality_edge": -0.5912,
"offense_edge": -0.0833,
"opponent_offense_edge": 0.1212,
"defense_strength": -0.0871,
"opponent_defense_weakness": -0.2403,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9689,
"run_prevention": 1.0577,
"strikeout": 0.9726
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641941",
"profile": {
"available": true,
"pitcher_id": "641941",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 61.0,
"k_percent": 18.8,
"bb_percent": 9.4,
"woba": 0.361,
"xwoba": 0.341,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 56.8,
"avg_best_speed": 82.6707,
"avg_hyper_speed": 95.3699,
"whiff_percent": 27.4,
"swing_percent": 49.4
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.1457,
"command_and_miss": -0.1611,
"regression_edge": 0.5714,
"xwoba_edge": -0.8143,
"barrel_edge": -0.8889,
"hard_hit_edge": -2.5,
"whiff_edge": 0.2714,
"bb_edge": -0.075,
"pitch_design_score": 0.0172
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 90.0657552109726,
"release_spin_rate": 2193.993002046263,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 90.0657552109726,
"release_spin_rate": 2193.993002046263,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0658,
"release_spin_rate": 2193.993,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0172,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1229,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2812,
"sample_weight": 0.45,
"run_prevention_factor": 1.0239,
"strikeout_factor": 0.9952,
"walk_factor": 1.0027,
"homer_factor": 1.088,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641941",
"espn_id": 33403,
"player_name": "Emilio Pagan",
"team": "CIN",
"role": "pitcher",
"espn_rank": 606,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 606,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 6.279,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 6.0,
"sv_rank": 26,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 14.1,
"ip_rank": 467,
"h_value": 14.0,
"h_rank": 463,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 6.0,
"bb_rank": 464,
"k_value": 12.0,
"k_rank": 462,
"k_per_9_value": 7.5348835,
"k_per_9_rank": 26,
"whip_value": 1.3953,
"whip_rank": null,
"war_value": -0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0108,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0108,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0396,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9978,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 5,
"H": 8,
"BB": 3,
"SO": 6,
"HR": 1,
"ERA": 5.625,
"WHIP": 1.375,
"K9": 6.75,
"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-07-01T00:00:00"
}{
"available": true,
"pitcher_id": "641941",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 11,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 90.0657552109726,
"release_spin_rate": 2193.993002046263,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 11,
"pitch_usage": 0.0,
"release_speed": 90.0657552109726,
"release_spin_rate": 2193.993002046263,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0658,
"release_spin_rate": 2193.993,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0172,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1229,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.841,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3624,
"prior_weight": 0.6376
},
"role": "pitcher",
"player_id": "641941",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 0.0,
"SO": 2.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 62.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.6,
"BB": 0.0,
"SO": 0.4,
"HR": 0.2,
"BF": 4.2,
"Pitches": 12.4
},
"rates": {
"ERA": 11.25,
"WHIP": 2.0,
"ER_per_IP": 1.25,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.5,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 3.0,
"SO": 6.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 133.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.8,
"BB": 0.3,
"SO": 0.6,
"HR": 0.1,
"BF": 3.9,
"Pitches": 13.3
},
"rates": {
"ERA": 5.0,
"WHIP": 1.2222,
"ER_per_IP": 0.55556,
"H_per_IP": 0.88889,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 15,
"totals": {
"IP": 14.1,
"ER": 10.0,
"R": 10.0,
"H": 14.0,
"BB": 6.0,
"SO": 12.0,
"HR": 3.0,
"BF": 64.0,
"Pitches": 236.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6667,
"R": 0.6667,
"H": 0.9333,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 4.2667,
"Pitches": 15.7333
},
"rates": {
"ERA": 6.2791,
"WHIP": 1.3953,
"ER_per_IP": 0.69767,
"H_per_IP": 0.97674,
"BB_per_IP": 0.4186,
"SO_per_IP": 0.83721,
"HR_per_IP": 0.2093
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.334,
"predicted_H": 0.586,
"predicted_BB": 0.157,
"predicted_SO": 0.434,
"predicted_HR": 0.085,
"predicted_ERA": 5.7795,
"predicted_WHIP": 1.4258
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6194,
"form_weight": 0.3806,
"form_reliability": 0.3624,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.841,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3624,
"prior_weight": 0.6376
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.334,
"final": 0.7465,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.586,
"final": 0.8424,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.157,
"final": 0.0598,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.434,
"final": 0.1652,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.085,
"final": 0.0324,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.7795,
"final": 5.7795,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4258,
"final": 1.4258,
"source": "form_only"
}
}
}{
"available": false,
"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.196 | 0.000 | 0.000 | Hitting_2B | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.850 | 4.000 | 4.000 | Hitting_AB | 3.761 | 1.000 | 0.239 | 3.000 |
| predicted_AVG | 0.223 | 0.000 | 0.250 | Hitting_AVG | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_BB | 0.571 | 0.000 | 1.000 | Hitting_BB | 0.585 | 0.000 | -0.585 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.860 | 0.000 | 1.000 | Hitting_H | 0.979 | 0.000 | -0.979 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_OBP | 0.315 | 0.000 | 0.400 | Hitting_OBP | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_R | 0.518 | 0.000 | 0.000 | Hitting_R | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 0.000 | Hitting_RBI | 0.803 | 0.000 | -0.803 | 0.000 |
| predicted_SLG | 0.457 | 0.000 | 0.250 | Hitting_SLG | 0.547 | 0.000 | -0.547 | 0.000 |
| predicted_SO | 0.857 | 0.000 | 1.000 | Hitting_SO | 0.951 | 1.000 | -0.951 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.8500 -> 4.0000 (boost 0.1500, better) |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 3.8500 -> 3.6528 (deboost -0.1972, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_RBI: 0.5183 -> 0.4590 (deboost -0.0593, 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.5454 -> 1.0000 (boost 0.4546, better) | predicted_RBI: 0.4590 -> 0.0000 (deboost -0.4590, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.193 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4048 -> 0.0000 (deboost -0.4048, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3071 -> 0.4000 (boost 0.0929, better) | predicted_SLG: 0.3610 -> 0.2500 (deboost -0.1110, 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.3610 (boost 0.1110, better) | predicted_OBP: 0.4000 -> 0.3071 (deboost -0.0929, 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.196,
"predicted_3B": 0.018,
"predicted_AB": 3.85,
"predicted_AVG": 0.223,
"predicted_BB": 0.571,
"predicted_H": 0.86,
"predicted_HR": 0.14,
"predicted_OBP": 0.315,
"predicted_R": 0.518,
"predicted_RBI": 0.53,
"predicted_SLG": 0.457,
"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.1631,
"predicted_3B": 0.0151,
"predicted_AB": 3.6528,
"predicted_AVG": 0.2174,
"predicted_BB": 0.5572,
"predicted_H": 0.7966,
"predicted_HBP": 0.042,
"predicted_HR": 0.1358,
"predicted_OBP": 0.3188,
"predicted_R": 0.4571,
"predicted_RBI": 0.5183,
"predicted_SLG": 0.4191,
"predicted_SO": 0.8424
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.1631,
"delta": -0.0329,
"percent_delta": -0.1679,
"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": 3.85,
"after": 3.6528,
"delta": -0.1972,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2174,
"delta": -0.0056,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.571,
"after": 0.5572,
"delta": -0.0138,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.7966,
"delta": -0.0634,
"percent_delta": -0.0737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1358,
"delta": -0.0042,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3188,
"delta": 0.0038,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 0.4571,
"delta": -0.0609,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5183,
"delta": -0.0117,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.4191,
"delta": -0.0379,
"percent_delta": -0.0829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.8424,
"delta": -0.0146,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 3.6528,
"delta": -0.1972,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1631,
"predicted_3B": 0.0151,
"predicted_AB": 3.6528,
"predicted_AVG": 0.2036,
"predicted_BB": 0.5454,
"predicted_H": 0.7439,
"predicted_HBP": 0.042,
"predicted_HR": 0.1272,
"predicted_OBP": 0.3071,
"predicted_R": 0.4048,
"predicted_RBI": 0.459,
"predicted_SLG": 0.361,
"predicted_SO": 0.8602
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1631,
"after": 0.1631,
"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": 3.6528,
"after": 3.6528,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2174,
"after": 0.2036,
"delta": -0.0138,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5572,
"after": 0.5454,
"delta": -0.0118,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7966,
"after": 0.7439,
"delta": -0.0527,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1358,
"after": 0.1272,
"delta": -0.0086,
"percent_delta": -0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3188,
"after": 0.3071,
"delta": -0.0117,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4571,
"after": 0.4048,
"delta": -0.0523,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5183,
"after": 0.459,
"delta": -0.0593,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4191,
"after": 0.361,
"delta": -0.0581,
"percent_delta": -0.1386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8424,
"after": 0.8602,
"delta": 0.0178,
"percent_delta": 0.0211,
"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.5183,
"after": 0.459,
"delta": -0.0593,
"percent_delta": -0.1144,
"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.193 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1631,
"after": 0.0,
"delta": -0.1631,
"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": 3.6528,
"after": 4.0,
"delta": 0.3472,
"percent_delta": 0.0951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5454,
"after": 1.0,
"delta": 0.4546,
"percent_delta": 0.8335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7439,
"after": 1.0,
"delta": 0.2561,
"percent_delta": 0.3443,
"direction": "boost",
"projection_effect": "better",
"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.1272,
"after": 0.0,
"delta": -0.1272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8602,
"after": 1.0,
"delta": 0.1398,
"percent_delta": 0.1625,
"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.5454,
"after": 1.0,
"delta": 0.4546,
"percent_delta": 0.8335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4048,
"after": 0.0,
"delta": -0.4048,
"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.4048,
"after": 0.0,
"delta": -0.4048,
"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.2036,
"after": 0.25,
"delta": 0.0464,
"percent_delta": 0.2279,
"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.3071,
"after": 0.4,
"delta": 0.0929,
"percent_delta": 0.3025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.361,
"after": 0.25,
"delta": -0.111,
"percent_delta": -0.3075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3071,
"after": 0.4,
"delta": 0.0929,
"percent_delta": 0.3025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.361,
"after": 0.25,
"delta": -0.111,
"percent_delta": -0.3075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2036,
"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.3071,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.361,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2036,
"delta": -0.0464,
"percent_delta": -0.1854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3071,
"delta": -0.0929,
"percent_delta": -0.2322,
"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.361,
"delta": 0.111,
"percent_delta": 0.444,
"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.361,
"delta": 0.111,
"percent_delta": 0.444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3071,
"delta": -0.0929,
"percent_delta": -0.2322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2036,
"delta": -0.0194,
"percent_delta": -0.087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.571,
"after": 0.0,
"delta": -0.571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3071,
"delta": -0.0079,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 0.0,
"delta": -0.518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.361,
"delta": -0.096,
"percent_delta": -0.2101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.0,
"delta": -0.857,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.196 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.571 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.518 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.457 | - |
| 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.163 | -0.033 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 3.653 | -0.197 |
| predicted_AVG | 0.217 | -0.006 |
| predicted_BB | 0.557 | -0.014 |
| predicted_H | 0.797 | -0.063 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.136 | -0.004 |
| predicted_OBP | 0.319 | 0.004 |
| predicted_R | 0.457 | -0.061 |
| predicted_RBI | 0.518 | -0.012 |
| predicted_SLG | 0.419 | -0.038 |
| predicted_SO | 0.842 | -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.163 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.653 | 0.000 |
| predicted_AVG | 0.204 | -0.014 |
| predicted_BB | 0.545 | -0.012 |
| predicted_H | 0.744 | -0.053 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.127 | -0.009 |
| predicted_OBP | 0.307 | -0.012 |
| predicted_R | 0.405 | -0.052 |
| predicted_RBI | 0.459 | -0.059 |
| predicted_SLG | 0.361 | -0.058 |
| predicted_SO | 0.860 | 0.018 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.193 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 | 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.163 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | 0.347 |
| predicted_AVG | 0.250 | 0.046 |
| predicted_BB | 1.000 | 0.455 |
| predicted_H | 1.000 | 0.256 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.400 | 0.093 |
| predicted_R | 0.000 | -0.405 |
| predicted_RBI | 0.000 | -0.459 |
| predicted_SLG | 0.250 | -0.111 |
| predicted_SO | 1.000 | 0.140 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 3.000 | 0.2000 | 0.3333 | 0.2000 | 0.2000 | 0.0000 | 0.1333 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 29.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 5.000 | 9.000 | 0.1034 | 0.2571 | 0.1034 | 0.1035 | 0.0000 | 0.0690 | 0.1724 | 0.3103 |
| season | 0.60 | 56 | - | 200.000 | 48.000 | 11.000 | 1.000 | 13.000 | 37.000 | 29.000 | 32.000 | 48.000 | 0.2400 | 0.3475 | 0.5000 | 0.2400 | 0.0650 | 0.1850 | 0.1600 | 0.2400 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1170 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.3770 |
| predicted_AVG | 0.2095 |
| predicted_BB | 0.5380 |
| predicted_H | 0.7080 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.3242 |
| predicted_R | 0.3720 |
| predicted_RBI | 0.5020 |
| predicted_SLG | 0.3661 |
| predicted_SO | 0.8220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1960 | 0.1170 | 0.1631 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0151 | model_form_blend |
| predicted_AB | 3.8500 | 3.3770 | 3.6528 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2095 | 0.2174 | model_form_blend |
| predicted_BB | 0.5710 | 0.5380 | 0.5572 | model_form_blend |
| predicted_H | 0.8600 | 0.7080 | 0.7966 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.1400 | 0.1300 | 0.1358 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3242 | 0.3188 | model_form_blend |
| predicted_R | 0.5180 | 0.3720 | 0.4571 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5020 | 0.5183 | model_form_blend |
| predicted_SLG | 0.4570 | 0.3661 | 0.4191 | model_form_blend |
| predicted_SO | 0.8570 | 0.8220 | 0.8424 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260701_CIN@MIL |
| game_type | ph |
| mlbID | 668709 |
| note | Struck out for Johnson in the 9th. |
| playerID | 668709 |
| playerName | JJ Bleday |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.362 |
| sl_xwoba | 0.366 |
| sl_xba | 0.261 |
| sl_xslg | 0.458 |
| sl_sweet_spot_percent | 42.7 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 20.5 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 45.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.226 | 0.000 | 0.000 | Hitting_2B | 0.164 | 0.000 | -0.164 | 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.754 | 4.000 | 0.246 | 0.000 |
| predicted_AVG | 0.248 | 0.250 | 0.250 | Hitting_AVG | 0.249 | 0.250 | 0.001 | 0.000 |
| predicted_BB | 0.500 | 0.000 | 0.000 | Hitting_BB | 0.619 | 0.000 | -0.619 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.020 | 1.000 | 1.000 | Hitting_H | 0.933 | 1.000 | 0.067 | 0.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_OBP | 0.325 | 0.250 | 0.250 | Hitting_OBP | 0.354 | 0.250 | -0.104 | 0.000 |
| predicted_R | 0.536 | 0.000 | 0.000 | Hitting_R | 0.578 | 0.000 | -0.578 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.679 | 0.000 | -0.679 | 0.000 |
| predicted_SLG | 0.552 | 0.250 | 0.250 | Hitting_SLG | 0.450 | 0.250 | -0.200 | 0.000 |
| predicted_SO | 0.905 | 0.000 | 1.000 | Hitting_SO | 0.873 | 0.000 | -0.873 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 0.9050 -> 0.0000 (deboost -0.9050, 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 | 2 | 3 | predicted_AVG: 0.2480 -> 0.2636 (boost 0.0156, better) | predicted_AB: 4.1400 -> 4.0651 (deboost -0.0749, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_SLG: 0.5387 -> 0.4539 (deboost -0.0848, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.5736 -> 1.0000 (boost 0.4264, better) | predicted_BB: 0.4178 -> 0.0000 (deboost -0.4178, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.240 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4758 -> 0.0000 (deboost -0.4758, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2449 -> 0.2500 (boost 0.0051, better) | predicted_SLG: 0.4539 -> 0.2500 (deboost -0.2039, 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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4539 (boost 0.2039, better) | predicted_AVG: 0.2500 -> 0.2449 (deboost -0.0051, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "3B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.226,
"predicted_3B": 0.0,
"predicted_AB": 4.14,
"predicted_AVG": 0.248,
"predicted_BB": 0.5,
"predicted_H": 1.02,
"predicted_HR": 0.21,
"predicted_OBP": 0.325,
"predicted_R": 0.536,
"predicted_RBI": 0.62,
"predicted_SLG": 0.552,
"predicted_SO": 0.905
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2431,
"predicted_3B": 0.0004,
"predicted_AB": 4.0651,
"predicted_AVG": 0.2636,
"predicted_BB": 0.4268,
"predicted_H": 1.0662,
"predicted_HBP": 0.009,
"predicted_HR": 0.2156,
"predicted_OBP": 0.331,
"predicted_R": 0.5373,
"predicted_RBI": 0.6478,
"predicted_SLG": 0.5387,
"predicted_SO": 0.9195
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.2431,
"delta": 0.0171,
"percent_delta": 0.0757,
"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.0651,
"delta": -0.0749,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2636,
"delta": 0.0156,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4268,
"delta": -0.0732,
"percent_delta": -0.1464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0662,
"delta": 0.0462,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.2156,
"delta": 0.0056,
"percent_delta": 0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.331,
"delta": 0.006,
"percent_delta": 0.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.536,
"after": 0.5373,
"delta": 0.0013,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6478,
"delta": 0.0278,
"percent_delta": 0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.552,
"after": 0.5387,
"delta": -0.0133,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.905,
"after": 0.9195,
"delta": 0.0145,
"percent_delta": 0.016,
"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_AVG",
"before": 0.248,
"after": 0.2636,
"delta": 0.0156,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0651,
"delta": -0.0749,
"percent_delta": -0.0181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 84
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2431,
"predicted_3B": 0.0004,
"predicted_AB": 4.0651,
"predicted_AVG": 0.2449,
"predicted_BB": 0.4178,
"predicted_H": 0.9956,
"predicted_HBP": 0.009,
"predicted_HR": 0.2019,
"predicted_OBP": 0.3153,
"predicted_R": 0.4758,
"predicted_RBI": 0.5736,
"predicted_SLG": 0.4539,
"predicted_SO": 0.9389
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2431,
"after": 0.2431,
"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.0651,
"after": 4.0651,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2636,
"after": 0.2449,
"delta": -0.0187,
"percent_delta": -0.0709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4268,
"after": 0.4178,
"delta": -0.009,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0662,
"after": 0.9956,
"delta": -0.0706,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2156,
"after": 0.2019,
"delta": -0.0137,
"percent_delta": -0.0635,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3153,
"delta": -0.0157,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5373,
"after": 0.4758,
"delta": -0.0615,
"percent_delta": -0.1145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6478,
"after": 0.5736,
"delta": -0.0742,
"percent_delta": -0.1145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5387,
"after": 0.4539,
"delta": -0.0848,
"percent_delta": -0.1574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9195,
"after": 0.9389,
"delta": 0.0194,
"percent_delta": 0.0211,
"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_SLG",
"before": 0.5387,
"after": 0.4539,
"delta": -0.0848,
"percent_delta": -0.1574,
"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.240 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2431,
"after": 0.0,
"delta": -0.2431,
"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.0651,
"after": 4.0,
"delta": -0.0651,
"percent_delta": -0.016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4178,
"after": 0.0,
"delta": -0.4178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9956,
"after": 1.0,
"delta": 0.0044,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2019,
"after": 0.0,
"delta": -0.2019,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5736,
"after": 1.0,
"delta": 0.4264,
"percent_delta": 0.7434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9389,
"after": 1.0,
"delta": 0.0611,
"percent_delta": 0.0651,
"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.5736,
"after": 1.0,
"delta": 0.4264,
"percent_delta": 0.7434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4178,
"after": 0.0,
"delta": -0.4178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4758,
"after": 0.0,
"delta": -0.4758,
"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.4758,
"after": 0.0,
"delta": -0.4758,
"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.2449,
"after": 0.25,
"delta": 0.0051,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3153,
"after": 0.25,
"delta": -0.0653,
"percent_delta": -0.2071,
"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.4539,
"after": 0.25,
"delta": -0.2039,
"percent_delta": -0.4492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2449,
"after": 0.25,
"delta": 0.0051,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4539,
"after": 0.25,
"delta": -0.2039,
"percent_delta": -0.4492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2449,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3153,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4539,
"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.2449,
"delta": -0.0051,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3153,
"delta": 0.0653,
"percent_delta": 0.2612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4539,
"delta": 0.2039,
"percent_delta": 0.8156,
"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.4539,
"delta": 0.2039,
"percent_delta": 0.8156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2449,
"delta": -0.0051,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0,
"delta": -0.14,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2449,
"delta": -0.0031,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 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.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3153,
"delta": -0.0097,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.536,
"after": 0.0,
"delta": -0.536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.552,
"after": 0.4539,
"delta": -0.0981,
"percent_delta": -0.1777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.905,
"after": 0.0,
"delta": -0.905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.905,
"after": 0.0,
"delta": -0.905,
"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.226 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.536 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.552 | - |
| predicted_SO | 0.905 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.243 | 0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.065 | -0.075 |
| predicted_AVG | 0.264 | 0.016 |
| predicted_BB | 0.427 | -0.073 |
| predicted_H | 1.066 | 0.046 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.216 | 0.006 |
| predicted_OBP | 0.331 | 0.006 |
| predicted_R | 0.537 | 0.001 |
| predicted_RBI | 0.648 | 0.028 |
| predicted_SLG | 0.539 | -0.013 |
| predicted_SO | 0.919 | 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.243 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.065 | 0.000 |
| predicted_AVG | 0.245 | -0.019 |
| predicted_BB | 0.418 | -0.009 |
| predicted_H | 0.996 | -0.071 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.202 | -0.014 |
| predicted_OBP | 0.315 | -0.016 |
| predicted_R | 0.476 | -0.061 |
| predicted_RBI | 0.574 | -0.074 |
| predicted_SLG | 0.454 | -0.085 |
| predicted_SO | 0.939 | 0.019 |
AB rounded to 4 (raw=4.14), rates preserved: AVG=0.240 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 | 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.243 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.065 |
| predicted_AVG | 0.250 | 0.005 |
| predicted_BB | 0.000 | -0.418 |
| predicted_H | 1.000 | 0.004 |
| predicted_HR | 0.000 | -0.202 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 0.000 | -0.476 |
| predicted_RBI | 1.000 | 0.426 |
| predicted_SLG | 0.250 | -0.204 |
| predicted_SO | 1.000 | 0.061 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | -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 | 8.000 | 2.000 | 0.000 | 2.000 | 4.000 | 3.000 | 0.000 | 4.000 | 0.3636 | 0.3636 | 0.7273 | 0.3636 | 0.0909 | 0.1818 | 0.0000 | 0.1818 |
| last_10 | 0.20 | 10 | - | 41.000 | 12.000 | 3.000 | 0.000 | 2.000 | 6.000 | 5.000 | 1.000 | 12.000 | 0.2927 | 0.3095 | 0.5122 | 0.2927 | 0.0488 | 0.1463 | 0.0244 | 0.2927 |
| season | 0.60 | 84 | - | 319.000 | 83.000 | 19.000 | 0.000 | 16.000 | 59.000 | 45.000 | 42.000 | 76.000 | 0.2602 | 0.3452 | 0.4702 | 0.2602 | 0.0502 | 0.1850 | 0.1317 | 0.2382 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2660 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9650 |
| predicted_AVG | 0.2844 |
| predicted_BB | 0.3290 |
| predicted_H | 1.1280 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2230 |
| predicted_OBP | 0.3390 |
| predicted_R | 0.5390 |
| predicted_RBI | 0.6850 |
| predicted_SLG | 0.5208 |
| predicted_SO | 0.9390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2260 | 0.2660 | 0.2431 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1400 | 3.9650 | 4.0651 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2844 | 0.2636 | model_form_blend |
| predicted_BB | 0.5000 | 0.3290 | 0.4268 | model_form_blend |
| predicted_H | 1.0200 | 1.1280 | 1.0662 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.2100 | 0.2230 | 0.2156 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3390 | 0.3310 | model_form_blend |
| predicted_R | 0.5360 | 0.5390 | 0.5373 | model_form_blend |
| predicted_RBI | 0.6200 | 0.6850 | 0.6478 | model_form_blend |
| predicted_SLG | 0.5520 | 0.5208 | 0.5387 | model_form_blend |
| predicted_SO | 0.9050 | 0.9390 | 0.9195 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 84 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 701398 |
| playerID | 701398 |
| playerName | Sal Stewart |
| pos | 1B |
| started | True |
| startingPosition | 3B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.349 |
| sl_xwoba | 0.357 |
| sl_xba | 0.256 |
| sl_xslg | 0.48 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 15.1 |
| sl_hard_hit_percent | 41.3 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 14.3 |
| sl_whiff_percent | 27.9 |
| 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.215 | 1.000 | 0.000 | Hitting_2B | 0.236 | 0.000 | 0.764 | 1.000 |
| predicted_3B | 0.031 | 1.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | 0.980 | 1.000 |
| predicted_AB | 4.490 | 3.000 | 4.000 | Hitting_AB | 4.079 | 4.000 | -1.079 | -1.000 |
| predicted_AVG | 0.244 | 0.667 | 0.250 | Hitting_AVG | 0.292 | 0.500 | 0.374 | 0.167 |
| predicted_BB | 0.400 | 1.000 | 0.000 | Hitting_BB | 0.421 | 0.000 | 0.579 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_H | 1.090 | 2.000 | 1.000 | Hitting_H | 1.193 | 2.000 | 0.807 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_OBP | 0.328 | 0.750 | 0.250 | Hitting_OBP | 0.362 | 0.500 | 0.388 | 0.250 |
| predicted_R | 0.677 | 0.000 | 1.000 | Hitting_R | 0.740 | 0.000 | -0.740 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 0.000 | Hitting_RBI | 0.772 | 0.000 | -0.772 | 0.000 |
| predicted_SLG | 0.527 | 1.667 | 0.250 | Hitting_SLG | 0.551 | 0.500 | 1.116 | 1.167 |
| predicted_SO | 1.308 | 1.000 | 1.000 | Hitting_SO | 1.331 | 2.000 | -0.331 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 8 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_3B: 0.0310 -> 1.0000 (boost 0.9690, 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 | 5 | 2 | 3 | 3 | 2 | predicted_AVG: 0.2440 -> 0.2572 (boost 0.0132, better) | predicted_AB: 4.4900 -> 4.2640 (deboost -0.2260, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_SLG: 0.5045 -> 0.4226 (deboost -0.0819, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_RBI: 0.4604 -> 0.0000 (deboost -0.4604, worse) | AB rounded to 4 (raw=4.49), rates preserved: AVG=0.227 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5830 -> 1.0000 (boost 0.4170, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2385 -> 0.2500 (boost 0.0115, better) | predicted_SLG: 0.4226 -> 0.2500 (deboost -0.1726, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 4 | 2 | 4 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4226 (boost 0.1726, better) | predicted_AVG: 0.2500 -> 0.2385 (deboost -0.0115, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682829",
"player_name": "Elly De La Cruz",
"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.215,
"predicted_3B": 0.031,
"predicted_AB": 4.49,
"predicted_AVG": 0.244,
"predicted_BB": 0.4,
"predicted_H": 1.09,
"predicted_HR": 0.19,
"predicted_OBP": 0.328,
"predicted_R": 0.677,
"predicted_RBI": 0.53,
"predicted_SLG": 0.527,
"predicted_SO": 1.308
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2032,
"predicted_3B": 0.0335,
"predicted_AB": 4.264,
"predicted_AVG": 0.2572,
"predicted_BB": 0.403,
"predicted_H": 1.0892,
"predicted_HBP": 0.02,
"predicted_HR": 0.1832,
"predicted_OBP": 0.3344,
"predicted_R": 0.6584,
"predicted_RBI": 0.5199,
"predicted_SLG": 0.5045,
"predicted_SO": 1.2569
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.2032,
"delta": -0.0118,
"percent_delta": -0.0549,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0335,
"delta": 0.0025,
"percent_delta": 0.0806,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.49,
"after": 4.264,
"delta": -0.226,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2572,
"delta": 0.0132,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.403,
"delta": 0.003,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0892,
"delta": -0.0008,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1832,
"delta": -0.0068,
"percent_delta": -0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3344,
"delta": 0.0064,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.677,
"after": 0.6584,
"delta": -0.0186,
"percent_delta": -0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5199,
"delta": -0.0101,
"percent_delta": -0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.527,
"after": 0.5045,
"delta": -0.0225,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.308,
"after": 1.2569,
"delta": -0.0511,
"percent_delta": -0.0391,
"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_AVG",
"before": 0.244,
"after": 0.2572,
"delta": 0.0132,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.49,
"after": 4.264,
"delta": -0.226,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.2032,
"predicted_3B": 0.0335,
"predicted_AB": 4.264,
"predicted_AVG": 0.2385,
"predicted_BB": 0.3945,
"predicted_H": 1.0171,
"predicted_HBP": 0.02,
"predicted_HR": 0.1715,
"predicted_OBP": 0.303,
"predicted_R": 0.583,
"predicted_RBI": 0.4604,
"predicted_SLG": 0.4226,
"predicted_SO": 1.2834
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2032,
"after": 0.2032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0335,
"after": 0.0335,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.264,
"after": 4.264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2572,
"after": 0.2385,
"delta": -0.0187,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.403,
"after": 0.3945,
"delta": -0.0085,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0892,
"after": 1.0171,
"delta": -0.0721,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.1832,
"after": 0.1715,
"delta": -0.0117,
"percent_delta": -0.0639,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3344,
"after": 0.303,
"delta": -0.0314,
"percent_delta": -0.0939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6584,
"after": 0.583,
"delta": -0.0754,
"percent_delta": -0.1145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5199,
"after": 0.4604,
"delta": -0.0595,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5045,
"after": 0.4226,
"delta": -0.0819,
"percent_delta": -0.1623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2569,
"after": 1.2834,
"delta": 0.0265,
"percent_delta": 0.0211,
"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_SLG",
"before": 0.5045,
"after": 0.4226,
"delta": -0.0819,
"percent_delta": -0.1623,
"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.227 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.2032,
"after": 0.0,
"delta": -0.2032,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0335,
"after": 0.0,
"delta": -0.0335,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.264,
"after": 4.0,
"delta": -0.264,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3945,
"after": 0.0,
"delta": -0.3945,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0171,
"after": 1.0,
"delta": -0.0171,
"percent_delta": -0.0168,
"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.1715,
"after": 0.0,
"delta": -0.1715,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4604,
"after": 0.0,
"delta": -0.4604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2834,
"after": 1.0,
"delta": -0.2834,
"percent_delta": -0.2208,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.583,
"after": 1.0,
"delta": 0.417,
"percent_delta": 0.7153,
"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.583,
"after": 1.0,
"delta": 0.417,
"percent_delta": 0.7153,
"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.2385,
"after": 0.25,
"delta": 0.0115,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.25,
"delta": -0.053,
"percent_delta": -0.1749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4226,
"after": 0.25,
"delta": -0.1726,
"percent_delta": -0.4084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2385,
"after": 0.25,
"delta": 0.0115,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4226,
"after": 0.25,
"delta": -0.1726,
"percent_delta": -0.4084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 1.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"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_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": 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": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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": 1.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2385,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.303,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4226,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2385,
"delta": -0.0115,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.303,
"delta": 0.053,
"percent_delta": 0.2121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4226,
"delta": 0.1726,
"percent_delta": 0.6904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4226,
"delta": 0.1726,
"percent_delta": 0.6904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2385,
"delta": -0.0115,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 1.0,
"delta": 0.785,
"percent_delta": 3.6512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 1.0,
"delta": 0.969,
"percent_delta": 31.2581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.244,
"after": 0.2385,
"delta": -0.0055,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 2.0,
"delta": 0.91,
"percent_delta": 0.8349,
"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.328,
"after": 0.303,
"delta": -0.025,
"percent_delta": -0.0762,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.677,
"after": 0.0,
"delta": -0.677,
"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.527,
"after": 0.4226,
"delta": -0.1044,
"percent_delta": -0.1981,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.308,
"after": 1.0,
"delta": -0.308,
"percent_delta": -0.2355,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 4,
"deboosted_metrics": 8,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.031,
"after": 1.0,
"delta": 0.969,
"percent_delta": 31.2581,
"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.215 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 4.490 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.677 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.527 | - |
| predicted_SO | 1.308 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | -0.012 |
| predicted_3B | 0.034 | 0.003 |
| predicted_AB | 4.264 | -0.226 |
| predicted_AVG | 0.257 | 0.013 |
| predicted_BB | 0.403 | 0.003 |
| predicted_H | 1.089 | -0.001 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.183 | -0.007 |
| predicted_OBP | 0.334 | 0.006 |
| predicted_R | 0.658 | -0.019 |
| predicted_RBI | 0.520 | -0.010 |
| predicted_SLG | 0.504 | -0.023 |
| predicted_SO | 1.257 | -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.203 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 4.264 | 0.000 |
| predicted_AVG | 0.238 | -0.019 |
| predicted_BB | 0.395 | -0.009 |
| predicted_H | 1.017 | -0.072 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.172 | -0.012 |
| predicted_OBP | 0.303 | -0.031 |
| predicted_R | 0.583 | -0.075 |
| predicted_RBI | 0.460 | -0.060 |
| predicted_SLG | 0.423 | -0.082 |
| predicted_SO | 1.283 | 0.027 |
AB rounded to 4 (raw=4.49), rates preserved: AVG=0.227 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.203 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 4.000 | -0.264 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 0.000 | -0.395 |
| predicted_H | 1.000 | -0.017 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.250 | -0.053 |
| predicted_R | 1.000 | 0.417 |
| predicted_RBI | 0.000 | -0.460 |
| predicted_SLG | 0.250 | -0.173 |
| predicted_SO | 1.000 | -0.283 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 1.000 | 1.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 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 | - | 21.000 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 6.000 | 0.2857 | 0.3478 | 0.4762 | 0.2857 | 0.0476 | 0.0952 | 0.0952 | 0.2857 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 1.000 | 1.000 | 1.000 | 3.000 | 6.000 | 5.000 | 10.000 | 0.2703 | 0.3488 | 0.4324 | 0.2703 | 0.0270 | 0.0811 | 0.1351 | 0.2703 |
| season | 0.60 | 65 | - | 259.000 | 72.000 | 14.000 | 2.000 | 13.000 | 40.000 | 44.000 | 26.000 | 85.000 | 0.2780 | 0.3460 | 0.4981 | 0.2780 | 0.0502 | 0.1544 | 0.1004 | 0.3282 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1870 |
| predicted_3B | 0.0370 |
| predicted_AB | 3.9550 |
| predicted_AVG | 0.2752 |
| predicted_BB | 0.4070 |
| predicted_H | 1.0880 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1740 |
| predicted_OBP | 0.3431 |
| predicted_R | 0.6330 |
| predicted_RBI | 0.5060 |
| predicted_SLG | 0.4738 |
| predicted_SO | 1.1870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2150 | 0.1870 | 0.2032 | model_form_blend |
| predicted_3B | 0.0310 | 0.0370 | 0.0335 | model_form_blend |
| predicted_AB | 4.4900 | 3.9550 | 4.2640 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2752 | 0.2572 | model_form_blend |
| predicted_BB | 0.4000 | 0.4070 | 0.4030 | model_form_blend |
| predicted_H | 1.0900 | 1.0880 | 1.0892 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1900 | 0.1740 | 0.1832 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3431 | 0.3344 | model_form_blend |
| predicted_R | 0.6770 | 0.6330 | 0.6584 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5060 | 0.5199 | model_form_blend |
| predicted_SLG | 0.5270 | 0.4738 | 0.5045 | model_form_blend |
| predicted_SO | 1.3080 | 1.1870 | 1.2569 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 2B | 1 |
| 3B | 1 |
| 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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 682829 |
| playerID | 682829 |
| playerName | Elly De La Cruz |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-01 |
| sl_k_percent | 29.0 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.36 |
| sl_xwoba | 0.36 |
| sl_xba | 0.271 |
| sl_xslg | 0.486 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 14.9 |
| sl_hard_hit_percent | 52.8 |
| sl_exit_velocity_avg | 94.3 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 41.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.179 | 0.000 | 0.000 | Hitting_2B | 0.179 | 1.000 | -0.179 | -1.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.669 | 4.000 | 0.331 | 0.000 |
| predicted_AVG | 0.217 | 0.250 | 0.250 | Hitting_AVG | 0.226 | 0.250 | 0.024 | 0.000 |
| predicted_BB | 0.304 | 0.000 | 0.000 | Hitting_BB | 0.372 | 0.000 | -0.372 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.820 | 1.000 | 1.000 | Hitting_H | 0.828 | 1.000 | 0.172 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_OBP | 0.287 | 0.250 | 0.250 | Hitting_OBP | 0.299 | 0.250 | -0.049 | 0.000 |
| predicted_R | 0.321 | 1.000 | 0.000 | Hitting_R | 0.372 | 0.000 | 0.628 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 0.000 | Hitting_RBI | 0.462 | 0.000 | 0.538 | 1.000 |
| predicted_SLG | 0.456 | 0.250 | 0.250 | Hitting_SLG | 0.359 | 0.500 | -0.109 | -0.250 |
| predicted_SO | 1.339 | 1.000 | 1.000 | Hitting_SO | 1.276 | 1.000 | -0.276 | 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_R: 0.3210 -> 1.0000 (boost 0.6790, better) |
| Biggest Deboost | predicted_SO: 1.3390 -> 1.0000 (deboost -0.3390, 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_AB: 3.7900 -> 3.6933 (deboost -0.0967, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_SLG: 0.4254 -> 0.3564 (deboost -0.0690, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 3 | 5 | predicted_AB: 3.6933 -> 4.0000 (boost 0.3067, better) | predicted_RBI: 0.4405 -> 0.0000 (deboost -0.4405, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.191 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2890 -> 0.0000 (deboost -0.2890, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1965 -> 0.2500 (boost 0.0535, better) | predicted_SLG: 0.3564 -> 0.2500 (deboost -0.1064, 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_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.3564 (boost 0.1064, better) | predicted_AVG: 0.2500 -> 0.1965 (deboost -0.0535, 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": "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.179,
"predicted_3B": 0.0,
"predicted_AB": 3.79,
"predicted_AVG": 0.217,
"predicted_BB": 0.304,
"predicted_H": 0.82,
"predicted_HR": 0.14,
"predicted_OBP": 0.287,
"predicted_R": 0.321,
"predicted_RBI": 0.49,
"predicted_SLG": 0.456,
"predicted_SO": 1.339
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1898,
"predicted_3B": 0.0008,
"predicted_AB": 3.6933,
"predicted_AVG": 0.2106,
"predicted_BB": 0.3094,
"predicted_H": 0.7772,
"predicted_HBP": 0.096,
"predicted_HR": 0.1421,
"predicted_OBP": 0.2858,
"predicted_R": 0.3264,
"predicted_RBI": 0.4975,
"predicted_SLG": 0.4254,
"predicted_SO": 1.3265
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1898,
"delta": 0.0108,
"percent_delta": 0.0603,
"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.79,
"after": 3.6933,
"delta": -0.0967,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2106,
"delta": -0.0064,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 0.3094,
"delta": 0.0054,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.7772,
"delta": -0.0428,
"percent_delta": -0.0522,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1421,
"delta": 0.0021,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2858,
"delta": -0.0012,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.321,
"after": 0.3264,
"delta": 0.0054,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4975,
"delta": 0.0075,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4254,
"delta": -0.0306,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.339,
"after": 1.3265,
"delta": -0.0125,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.6933,
"delta": -0.0967,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1898,
"predicted_3B": 0.0008,
"predicted_AB": 3.6933,
"predicted_AVG": 0.1965,
"predicted_BB": 0.3029,
"predicted_H": 0.7257,
"predicted_HBP": 0.096,
"predicted_HR": 0.1331,
"predicted_OBP": 0.2574,
"predicted_R": 0.289,
"predicted_RBI": 0.4405,
"predicted_SLG": 0.3564,
"predicted_SO": 1.3545
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1898,
"after": 0.1898,
"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.6933,
"after": 3.6933,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2106,
"after": 0.1965,
"delta": -0.0141,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3094,
"after": 0.3029,
"delta": -0.0065,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7772,
"after": 0.7257,
"delta": -0.0515,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.096,
"after": 0.096,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1421,
"after": 0.1331,
"delta": -0.009,
"percent_delta": -0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2858,
"after": 0.2574,
"delta": -0.0284,
"percent_delta": -0.0994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3264,
"after": 0.289,
"delta": -0.0374,
"percent_delta": -0.1146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4975,
"after": 0.4405,
"delta": -0.057,
"percent_delta": -0.1146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4254,
"after": 0.3564,
"delta": -0.069,
"percent_delta": -0.1622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3265,
"after": 1.3545,
"delta": 0.028,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4254,
"after": 0.3564,
"delta": -0.069,
"percent_delta": -0.1622,
"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.191 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1898,
"after": 0.0,
"delta": -0.1898,
"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.6933,
"after": 4.0,
"delta": 0.3067,
"percent_delta": 0.083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3029,
"after": 0.0,
"delta": -0.3029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7257,
"after": 1.0,
"delta": 0.2743,
"percent_delta": 0.378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.096,
"after": 0.0,
"delta": -0.096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1331,
"after": 0.0,
"delta": -0.1331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4405,
"after": 0.0,
"delta": -0.4405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3545,
"after": 1.0,
"delta": -0.3545,
"percent_delta": -0.2617,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.6933,
"after": 4.0,
"delta": 0.3067,
"percent_delta": 0.083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4405,
"after": 0.0,
"delta": -0.4405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.289,
"after": 0.0,
"delta": -0.289,
"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.289,
"after": 0.0,
"delta": -0.289,
"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.1965,
"after": 0.25,
"delta": 0.0535,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2574,
"after": 0.25,
"delta": -0.0074,
"percent_delta": -0.0287,
"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.3564,
"after": 0.25,
"delta": -0.1064,
"percent_delta": -0.2985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1965,
"after": 0.25,
"delta": 0.0535,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3564,
"after": 0.25,
"delta": -0.1064,
"percent_delta": -0.2985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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_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.1965,
"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.2574,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3564,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1965,
"delta": -0.0535,
"percent_delta": -0.214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2574,
"delta": 0.0074,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3564,
"delta": 0.1064,
"percent_delta": 0.4256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3564,
"delta": 0.1064,
"percent_delta": 0.4256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1965,
"delta": -0.0535,
"percent_delta": -0.214,
"direction": "deboost",
"projection_effect": "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.79,
"after": 4.0,
"delta": 0.21,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.1965,
"delta": -0.0205,
"percent_delta": -0.0945,
"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.82,
"after": 1.0,
"delta": 0.18,
"percent_delta": 0.2195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2574,
"delta": -0.0296,
"percent_delta": -0.1031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.321,
"after": 1.0,
"delta": 0.679,
"percent_delta": 2.1153,
"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.456,
"after": 0.3564,
"delta": -0.0996,
"percent_delta": -0.2184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.339,
"after": 1.0,
"delta": -0.339,
"percent_delta": -0.2532,
"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_R",
"before": 0.321,
"after": 1.0,
"delta": 0.679,
"percent_delta": 2.1153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.339,
"after": 1.0,
"delta": -0.339,
"percent_delta": -0.2532,
"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.790 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.304 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.321 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 1.339 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 | 0.001 |
| predicted_AB | 3.693 | -0.097 |
| predicted_AVG | 0.211 | -0.006 |
| predicted_BB | 0.309 | 0.005 |
| predicted_H | 0.777 | -0.043 |
| predicted_HBP | 0.096 | - |
| predicted_HR | 0.142 | 0.002 |
| predicted_OBP | 0.286 | -0.001 |
| predicted_R | 0.326 | 0.005 |
| predicted_RBI | 0.497 | 0.008 |
| predicted_SLG | 0.425 | -0.031 |
| predicted_SO | 1.327 | -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.190 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.693 | 0.000 |
| predicted_AVG | 0.197 | -0.014 |
| predicted_BB | 0.303 | -0.007 |
| predicted_H | 0.726 | -0.051 |
| predicted_HBP | 0.096 | 0.000 |
| predicted_HR | 0.133 | -0.009 |
| predicted_OBP | 0.257 | -0.028 |
| predicted_R | 0.289 | -0.037 |
| predicted_RBI | 0.441 | -0.057 |
| predicted_SLG | 0.356 | -0.069 |
| predicted_SO | 1.355 | 0.028 |
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.191 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 | 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.190 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.307 |
| predicted_AVG | 0.250 | 0.053 |
| predicted_BB | 0.000 | -0.303 |
| predicted_H | 1.000 | 0.274 |
| predicted_HR | 0.000 | -0.133 |
| predicted_OBP | 0.250 | -0.007 |
| predicted_R | 0.000 | -0.289 |
| predicted_RBI | 0.000 | -0.441 |
| predicted_SLG | 0.250 | -0.106 |
| 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 | 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 | 3.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 7.000 | 0.1765 | 0.3000 | 0.4118 | 0.1765 | 0.0588 | 0.1765 | 0.1177 | 0.4118 |
| last_10 | 0.20 | 10 | - | 34.000 | 6.000 | 3.000 | 0.000 | 1.000 | 4.000 | 2.000 | 3.000 | 14.000 | 0.1765 | 0.2821 | 0.3529 | 0.1765 | 0.0294 | 0.1177 | 0.0882 | 0.4118 |
| season | 0.60 | 56 | - | 202.000 | 42.000 | 10.000 | 0.000 | 8.000 | 29.000 | 18.000 | 17.000 | 75.000 | 0.2079 | 0.2748 | 0.3762 | 0.2079 | 0.0396 | 0.1436 | 0.0842 | 0.3713 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2050 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5570 |
| predicted_AVG | 0.2016 |
| predicted_BB | 0.3170 |
| predicted_H | 0.7170 |
| predicted_HBP | 0.0960 |
| predicted_HR | 0.1450 |
| predicted_OBP | 0.2842 |
| predicted_R | 0.3340 |
| predicted_RBI | 0.5080 |
| predicted_SLG | 0.3822 |
| predicted_SO | 1.3090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.2050 | 0.1898 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.7900 | 3.5570 | 3.6933 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2016 | 0.2106 | model_form_blend |
| predicted_BB | 0.3040 | 0.3170 | 0.3094 | model_form_blend |
| predicted_H | 0.8200 | 0.7170 | 0.7772 | model_form_blend |
| predicted_HBP | - | 0.0960 | 0.0960 | form_only |
| predicted_HR | 0.1400 | 0.1450 | 0.1421 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2842 | 0.2858 | model_form_blend |
| predicted_R | 0.3210 | 0.3340 | 0.3264 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5080 | 0.4975 | model_form_blend |
| predicted_SLG | 0.4560 | 0.3822 | 0.4254 | model_form_blend |
| predicted_SO | 1.3390 | 1.3090 | 1.3265 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 145 |
| Season rows before report date | 145 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.208 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 553993 |
| playerID | 553993 |
| playerName | Eugenio Suárez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-01 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.287 |
| sl_xwoba | 0.259 |
| sl_xba | 0.192 |
| sl_xslg | 0.313 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 28.5 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 19.7 |
| sl_whiff_percent | 34.5 |
| 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.213 | 0.000 | 0.000 | Hitting_2B | 0.204 | 1.000 | -0.204 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.918 | 4.000 | 3.000 | Hitting_AB | 3.178 | 4.000 | 0.822 | 0.000 |
| predicted_AVG | 0.251 | 0.000 | 0.333 | Hitting_AVG | 0.283 | 0.250 | -0.283 | -0.250 |
| predicted_BB | 0.377 | 0.000 | 0.000 | Hitting_BB | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.290 | 0.000 | 1.000 | Hitting_H | 0.898 | 1.000 | -0.898 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_OBP | 0.278 | 0.000 | 0.333 | Hitting_OBP | 0.376 | 0.250 | -0.376 | -0.250 |
| predicted_R | 0.311 | 0.000 | 0.000 | Hitting_R | 0.427 | 0.000 | -0.427 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.592 | 0.000 | -0.592 | 0.000 |
| predicted_SLG | 0.491 | 0.000 | 0.333 | Hitting_SLG | 0.563 | 0.500 | -0.563 | -0.500 |
| predicted_SO | 0.852 | 1.000 | 1.000 | Hitting_SO | 0.847 | 2.000 | 0.153 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.9180 -> 4.0000 (boost 1.0820, better) |
| Biggest Deboost | predicted_BB: 0.3770 -> 0.0000 (deboost -0.3770, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_H: 0.2900 -> 0.4725 (boost 0.1825, better) | predicted_SLG: 0.4910 -> 0.4654 (deboost -0.0256, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4654 -> 0.2887 (deboost -0.1767, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 2.9341 -> 3.0000 (boost 0.0659, better) | predicted_H: 0.4412 -> 0.0000 (deboost -0.4412, worse) | AB rounded to 3 (raw=2.93), rates preserved: AVG=0.150 HR/AB=0.018 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2750 -> 0.0000 (deboost -0.2750, worse) | 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 | 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.1504 (deboost -0.1826, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663993",
"player_name": "Nathaniel Lowe",
"position": "1B",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.213,
"predicted_3B": 0.0,
"predicted_AB": 2.918,
"predicted_AVG": 0.251,
"predicted_BB": 0.377,
"predicted_H": 0.29,
"predicted_HR": 0.04,
"predicted_OBP": 0.278,
"predicted_R": 0.311,
"predicted_RBI": 0.17,
"predicted_SLG": 0.491,
"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.2423,
"predicted_3B": 0.0008,
"predicted_AB": 2.9341,
"predicted_AVG": 0.2497,
"predicted_BB": 0.33,
"predicted_H": 0.4725,
"predicted_HBP": 0.003,
"predicted_HR": 0.0577,
"predicted_OBP": 0.2906,
"predicted_R": 0.3106,
"predicted_RBI": 0.2058,
"predicted_SLG": 0.4654,
"predicted_SO": 0.927
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.2423,
"delta": 0.0293,
"percent_delta": 0.1376,
"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.918,
"after": 2.9341,
"delta": 0.0161,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2497,
"delta": -0.0013,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.377,
"after": 0.33,
"delta": -0.047,
"percent_delta": -0.1247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.29,
"after": 0.4725,
"delta": 0.1825,
"percent_delta": 0.6293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0577,
"delta": 0.0177,
"percent_delta": 0.4425,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2906,
"delta": 0.0126,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.311,
"after": 0.3106,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2058,
"delta": 0.0358,
"percent_delta": 0.2106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4654,
"delta": -0.0256,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 0.927,
"delta": 0.075,
"percent_delta": 0.088,
"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_H",
"before": 0.29,
"after": 0.4725,
"delta": 0.1825,
"percent_delta": 0.6293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4654,
"delta": -0.0256,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.2423,
"predicted_3B": 0.0008,
"predicted_AB": 2.9341,
"predicted_AVG": 0.1504,
"predicted_BB": 0.323,
"predicted_H": 0.4412,
"predicted_HBP": 0.003,
"predicted_HR": 0.054,
"predicted_OBP": 0.2346,
"predicted_R": 0.275,
"predicted_RBI": 0.1822,
"predicted_SLG": 0.2887,
"predicted_SO": 0.9466
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2423,
"after": 0.2423,
"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.9341,
"after": 2.9341,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2497,
"after": 0.1504,
"delta": -0.0993,
"percent_delta": -0.3977,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.33,
"after": 0.323,
"delta": -0.007,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4725,
"after": 0.4412,
"delta": -0.0313,
"percent_delta": -0.0662,
"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.0577,
"after": 0.054,
"delta": -0.0037,
"percent_delta": -0.0641,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2906,
"after": 0.2346,
"delta": -0.056,
"percent_delta": -0.1927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3106,
"after": 0.275,
"delta": -0.0356,
"percent_delta": -0.1146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2058,
"after": 0.1822,
"delta": -0.0236,
"percent_delta": -0.1147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4654,
"after": 0.2887,
"delta": -0.1767,
"percent_delta": -0.3797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 0.9466,
"delta": 0.0196,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4654,
"after": 0.2887,
"delta": -0.1767,
"percent_delta": -0.3797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.93), rates preserved: AVG=0.150 HR/AB=0.018",
"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.2423,
"after": 0.0,
"delta": -0.2423,
"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.9341,
"after": 3.0,
"delta": 0.0659,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.323,
"after": 0.0,
"delta": -0.323,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4412,
"after": 0.0,
"delta": -0.4412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1822,
"after": 0.0,
"delta": -0.1822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9466,
"after": 1.0,
"delta": 0.0534,
"percent_delta": 0.0564,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.9341,
"after": 3.0,
"delta": 0.0659,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4412,
"after": 0.0,
"delta": -0.4412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.275,
"after": 0.0,
"delta": -0.275,
"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.275,
"after": 0.0,
"delta": -0.275,
"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.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.2346,
"after": 0.333,
"delta": 0.0984,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2887,
"after": 0.333,
"delta": 0.0443,
"percent_delta": 0.1534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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.1504,
"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.2346,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2887,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1504,
"delta": -0.1826,
"percent_delta": -0.5484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2346,
"delta": -0.0984,
"percent_delta": -0.2954,
"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.2887,
"delta": -0.0443,
"percent_delta": -0.1329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.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.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"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.918,
"after": 4.0,
"delta": 1.082,
"percent_delta": 0.3708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.1504,
"delta": -0.1006,
"percent_delta": -0.4008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2346,
"delta": -0.0434,
"percent_delta": -0.1561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.311,
"after": 0.0,
"delta": -0.311,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.2887,
"delta": -0.2023,
"percent_delta": -0.412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 1.0,
"delta": 0.148,
"percent_delta": 0.1737,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.918,
"after": 4.0,
"delta": 1.082,
"percent_delta": 0.3708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.000 | - |
| predicted_AB | 2.918 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.377 | - |
| predicted_H | 0.290 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.311 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.491 | - |
| 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.242 | 0.029 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.934 | 0.016 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.330 | -0.047 |
| predicted_H | 0.472 | 0.182 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.058 | 0.018 |
| predicted_OBP | 0.291 | 0.013 |
| predicted_R | 0.311 | -0.000 |
| predicted_RBI | 0.206 | 0.036 |
| predicted_SLG | 0.465 | -0.026 |
| predicted_SO | 0.927 | 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.242 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.934 | 0.000 |
| predicted_AVG | 0.150 | -0.099 |
| predicted_BB | 0.323 | -0.007 |
| predicted_H | 0.441 | -0.031 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.054 | -0.004 |
| predicted_OBP | 0.235 | -0.056 |
| predicted_R | 0.275 | -0.036 |
| predicted_RBI | 0.182 | -0.024 |
| predicted_SLG | 0.289 | -0.177 |
| predicted_SO | 0.947 | 0.020 |
AB rounded to 3 (raw=2.93), rates preserved: AVG=0.150 HR/AB=0.018
| 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.242 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.066 |
| predicted_AVG | 0.333 | 0.183 |
| predicted_BB | 0.000 | -0.323 |
| predicted_H | 1.000 | 0.559 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.333 | 0.098 |
| predicted_R | 0.000 | -0.275 |
| predicted_RBI | 0.000 | -0.182 |
| predicted_SLG | 0.333 | 0.044 |
| predicted_SO | 1.000 | 0.053 |
Attached 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 | - | 13.000 | 3.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 7.000 | 0.2308 | 0.2308 | 0.3846 | 0.2308 | 0.0000 | 0.0000 | 0.0000 | 0.5385 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 12.000 | 0.2500 | 0.3000 | 0.3929 | 0.2500 | 0.0000 | 0.0000 | 0.0714 | 0.4286 |
| season | 0.60 | 61 | - | 178.000 | 45.000 | 13.000 | 0.000 | 8.000 | 24.000 | 19.000 | 23.000 | 52.000 | 0.2528 | 0.3383 | 0.4607 | 0.2528 | 0.0449 | 0.1348 | 0.1292 | 0.2921 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2840 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9570 |
| predicted_AVG | 0.2478 |
| predicted_BB | 0.2630 |
| predicted_H | 0.7330 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.3087 |
| predicted_R | 0.3100 |
| predicted_RBI | 0.2570 |
| predicted_SLG | 0.4289 |
| predicted_SO | 1.0340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2130 | 0.2840 | 0.2423 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9180 | 2.9570 | 2.9341 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2478 | 0.2497 | model_form_blend |
| predicted_BB | 0.3770 | 0.2630 | 0.3300 | model_form_blend |
| predicted_H | 0.2900 | 0.7330 | 0.4725 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0400 | 0.0830 | 0.0577 | model_form_blend |
| predicted_OBP | 0.2780 | 0.3087 | 0.2906 | model_form_blend |
| predicted_R | 0.3110 | 0.3100 | 0.3106 | model_form_blend |
| predicted_RBI | 0.1700 | 0.2570 | 0.2058 | model_form_blend |
| predicted_SLG | 0.4910 | 0.4289 | 0.4654 | model_form_blend |
| predicted_SO | 0.8520 | 1.0340 | 0.9270 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 157 |
| Season rows before report date | 157 |
| Report year | 2026 |
| Profile rows used | 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260630_CIN@MIL |
| game_type | full |
| mlbID | 663993 |
| playerID | 663993 |
| playerName | Nathaniel Lowe |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-30 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.355 |
| sl_xwoba | 0.357 |
| sl_xba | 0.267 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 41.1 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 40.3 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 20.8 |
| 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.129 | 0.000 | 0.000 | Hitting_2B | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.226 | 3.000 | 3.000 | Hitting_AB | 3.132 | 4.000 | -0.132 | -1.000 |
| predicted_AVG | 0.230 | 0.000 | 0.333 | Hitting_AVG | 0.181 | 0.250 | -0.181 | -0.250 |
| predicted_BB | 0.226 | 0.000 | 0.000 | Hitting_BB | 0.264 | 0.000 | -0.264 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_H | 0.710 | 0.000 | 1.000 | Hitting_H | 0.566 | 1.000 | -0.566 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.094 | 1.000 | -0.094 | -1.000 |
| predicted_OBP | 0.266 | 0.000 | 0.333 | Hitting_OBP | 0.244 | 0.250 | -0.244 | -0.250 |
| predicted_R | 0.419 | 0.000 | 0.000 | Hitting_R | 0.358 | 1.000 | -0.358 | -1.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.151 | 2.000 | -0.151 | -2.000 |
| predicted_SLG | 0.462 | 0.000 | 0.333 | Hitting_SLG | 0.295 | 1.000 | -0.295 | -1.000 |
| predicted_SO | 0.871 | 1.000 | 1.000 | Hitting_SO | 0.830 | 0.000 | 0.170 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.8710 -> 1.0000 (boost 0.1290, worse) |
| 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 | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.2260 -> 3.3136 (boost 0.0876, better) | predicted_SLG: 0.4620 -> 0.4315 (deboost -0.0305, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_SLG: 0.4315 -> 0.3644 (deboost -0.0671, 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.6572 -> 1.0000 (boost 0.3428, better) | predicted_RBI: 0.3201 -> 0.0000 (deboost -0.3201, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.198 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3966 -> 0.0000 (deboost -0.3966, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1983 -> 0.3330 (boost 0.1347, better) | predicted_SLG: 0.3644 -> 0.3330 (deboost -0.0314, 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.3330 -> 0.3644 (boost 0.0314, better) | predicted_AVG: 0.3330 -> 0.1983 (deboost -0.1347, 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.129,
"predicted_3B": 0.0,
"predicted_AB": 3.226,
"predicted_AVG": 0.23,
"predicted_BB": 0.226,
"predicted_H": 0.71,
"predicted_HR": 0.14,
"predicted_OBP": 0.266,
"predicted_R": 0.419,
"predicted_RBI": 0.36,
"predicted_SLG": 0.462,
"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.1244,
"predicted_3B": 0.0012,
"predicted_AB": 3.3136,
"predicted_AVG": 0.2188,
"predicted_BB": 0.2329,
"predicted_H": 0.7038,
"predicted_HBP": 0.006,
"predicted_HR": 0.1508,
"predicted_OBP": 0.2619,
"predicted_R": 0.4479,
"predicted_RBI": 0.3615,
"predicted_SLG": 0.4315,
"predicted_SO": 0.8695
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1244,
"delta": -0.0046,
"percent_delta": -0.0357,
"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.226,
"after": 3.3136,
"delta": 0.0876,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2188,
"delta": -0.0112,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.226,
"after": 0.2329,
"delta": 0.0069,
"percent_delta": 0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7038,
"delta": -0.0062,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1508,
"delta": 0.0108,
"percent_delta": 0.0771,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2619,
"delta": -0.0041,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.4479,
"delta": 0.0289,
"percent_delta": 0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3615,
"delta": 0.0015,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4315,
"delta": -0.0305,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.871,
"after": 0.8695,
"delta": -0.0015,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_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.226,
"after": 3.3136,
"delta": 0.0876,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4315,
"delta": -0.0305,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1244,
"predicted_3B": 0.0012,
"predicted_AB": 3.3136,
"predicted_AVG": 0.1983,
"predicted_BB": 0.228,
"predicted_H": 0.6572,
"predicted_HBP": 0.006,
"predicted_HR": 0.1412,
"predicted_OBP": 0.2499,
"predicted_R": 0.3966,
"predicted_RBI": 0.3201,
"predicted_SLG": 0.3644,
"predicted_SO": 0.8878
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1244,
"after": 0.1244,
"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.3136,
"after": 3.3136,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2188,
"after": 0.1983,
"delta": -0.0205,
"percent_delta": -0.0937,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2329,
"after": 0.228,
"delta": -0.0049,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7038,
"after": 0.6572,
"delta": -0.0466,
"percent_delta": -0.0662,
"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.1508,
"after": 0.1412,
"delta": -0.0096,
"percent_delta": -0.0637,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2619,
"after": 0.2499,
"delta": -0.012,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4479,
"after": 0.3966,
"delta": -0.0513,
"percent_delta": -0.1145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3615,
"after": 0.3201,
"delta": -0.0414,
"percent_delta": -0.1145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4315,
"after": 0.3644,
"delta": -0.0671,
"percent_delta": -0.1555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8695,
"after": 0.8878,
"delta": 0.0183,
"percent_delta": 0.021,
"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_SLG",
"before": 0.4315,
"after": 0.3644,
"delta": -0.0671,
"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.31), rates preserved: AVG=0.198 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1244,
"after": 0.0,
"delta": -0.1244,
"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.3136,
"after": 3.0,
"delta": -0.3136,
"percent_delta": -0.0946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.228,
"after": 0.0,
"delta": -0.228,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6572,
"after": 1.0,
"delta": 0.3428,
"percent_delta": 0.5216,
"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.1412,
"after": 0.0,
"delta": -0.1412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3201,
"after": 0.0,
"delta": -0.3201,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8878,
"after": 1.0,
"delta": 0.1122,
"percent_delta": 0.1264,
"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.6572,
"after": 1.0,
"delta": 0.3428,
"percent_delta": 0.5216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3201,
"after": 0.0,
"delta": -0.3201,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3966,
"after": 0.0,
"delta": -0.3966,
"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.3966,
"after": 0.0,
"delta": -0.3966,
"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.1983,
"after": 0.333,
"delta": 0.1347,
"percent_delta": 0.6793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3644,
"after": 0.333,
"delta": -0.0314,
"percent_delta": -0.0862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1983,
"after": 0.333,
"delta": 0.1347,
"percent_delta": 0.6793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3644,
"after": 0.333,
"delta": -0.0314,
"percent_delta": -0.0862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.1983,
"predicted_BB": 0.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_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3644,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1983,
"delta": -0.1347,
"percent_delta": -0.4044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2494,
"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.3644,
"delta": 0.0314,
"percent_delta": 0.0944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3644,
"delta": 0.0314,
"percent_delta": 0.0944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1983,
"delta": -0.1347,
"percent_delta": -0.4044,
"direction": "deboost",
"projection_effect": "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.226,
"after": 3.0,
"delta": -0.226,
"percent_delta": -0.0701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.1983,
"delta": -0.0317,
"percent_delta": -0.1378,
"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.71,
"after": 0.0,
"delta": -0.71,
"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.266,
"after": 0.2499,
"delta": -0.0161,
"percent_delta": -0.0605,
"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.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.3644,
"delta": -0.0976,
"percent_delta": -0.2113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.871,
"after": 1.0,
"delta": 0.129,
"percent_delta": 0.1481,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.871,
"after": 1.0,
"delta": 0.129,
"percent_delta": 0.1481,
"direction": "boost",
"projection_effect": "worse",
"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.129 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.226 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.226 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.266 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.462 | - |
| 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.124 | -0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.314 | 0.088 |
| predicted_AVG | 0.219 | -0.011 |
| predicted_BB | 0.233 | 0.007 |
| predicted_H | 0.704 | -0.006 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.151 | 0.011 |
| predicted_OBP | 0.262 | -0.004 |
| predicted_R | 0.448 | 0.029 |
| predicted_RBI | 0.361 | 0.002 |
| predicted_SLG | 0.431 | -0.031 |
| predicted_SO | 0.870 | -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.124 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.314 | 0.000 |
| predicted_AVG | 0.198 | -0.020 |
| predicted_BB | 0.228 | -0.005 |
| predicted_H | 0.657 | -0.047 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.141 | -0.010 |
| predicted_OBP | 0.250 | -0.012 |
| predicted_R | 0.397 | -0.051 |
| predicted_RBI | 0.320 | -0.041 |
| predicted_SLG | 0.364 | -0.067 |
| predicted_SO | 0.888 | 0.018 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.198 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 | 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.314 |
| predicted_AVG | 0.333 | 0.135 |
| predicted_BB | 0.000 | -0.228 |
| predicted_H | 1.000 | 0.343 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.333 | 0.083 |
| predicted_R | 0.000 | -0.397 |
| predicted_RBI | 0.000 | -0.320 |
| predicted_SLG | 0.333 | -0.031 |
| predicted_SO | 1.000 | 0.112 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.1579 | 0.2000 | 0.3158 | 0.1579 | 0.0526 | 0.1053 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 33.000 | 6.000 | 1.000 | 0.000 | 2.000 | 5.000 | 6.000 | 3.000 | 9.000 | 0.1818 | 0.2500 | 0.3939 | 0.1818 | 0.0606 | 0.1515 | 0.0909 | 0.2727 |
| season | 0.60 | 31 | - | 100.000 | 20.000 | 4.000 | 0.000 | 5.000 | 8.000 | 13.000 | 7.000 | 27.000 | 0.2000 | 0.2523 | 0.3900 | 0.2000 | 0.0500 | 0.0800 | 0.0700 | 0.2700 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1170 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.4530 |
| predicted_AVG | 0.2010 |
| predicted_BB | 0.2440 |
| predicted_H | 0.6940 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1680 |
| predicted_OBP | 0.2555 |
| predicted_R | 0.4940 |
| predicted_RBI | 0.3640 |
| predicted_SLG | 0.3830 |
| predicted_SO | 0.8670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.1170 | 0.1244 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.2260 | 3.4530 | 3.3136 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2010 | 0.2188 | model_form_blend |
| predicted_BB | 0.2260 | 0.2440 | 0.2329 | model_form_blend |
| predicted_H | 0.7100 | 0.6940 | 0.7038 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1400 | 0.1680 | 0.1508 | model_form_blend |
| predicted_OBP | 0.2660 | 0.2555 | 0.2619 | model_form_blend |
| predicted_R | 0.4190 | 0.4940 | 0.4479 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3640 | 0.3615 | model_form_blend |
| predicted_SLG | 0.4620 | 0.3830 | 0.4315 | model_form_blend |
| predicted_SO | 0.8710 | 0.8670 | 0.8695 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 53 |
| Season rows before report date | 53 |
| Report year | 2026 |
| Profile rows used | 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 | 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.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 682622 |
| playerID | 682622 |
| playerName | Noelvi Marte |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-01 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.284 |
| sl_xwoba | 0.292 |
| sl_xba | 0.22 |
| sl_xslg | 0.387 |
| sl_sweet_spot_percent | 19.2 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 31.5 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 8.3 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 48.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.118 | 0.000 | 0.000 | Hitting_2B | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.059 | 3.000 | 3.000 | Hitting_AB | 2.907 | 3.000 | 0.093 | 0.000 |
| predicted_AVG | 0.260 | 0.000 | 0.333 | Hitting_AVG | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_BB | 0.059 | 0.000 | 0.000 | Hitting_BB | 0.070 | 0.000 | -0.070 | 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.442 | 0.000 | -0.442 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.264 | 0.000 | 0.333 | Hitting_OBP | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_R | 0.294 | 0.000 | 0.000 | Hitting_R | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_SLG | 0.407 | 0.000 | 0.333 | Hitting_SLG | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_SO | 0.471 | 1.000 | 0.000 | Hitting_SO | 0.535 | 0.000 | 0.465 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.4710 -> 1.0000 (boost 0.5290, worse) |
| 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 | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.0590 -> 3.1547 (boost 0.0957, better) | predicted_SLG: 0.4070 -> 0.3736 (deboost -0.0334, worse) | Final model input calibrated with local form: 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.3736 -> 0.2846 (deboost -0.0890, 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.6149 -> 1.0000 (boost 0.3851, better) | predicted_SO: 0.5182 -> 0.0000 (deboost -0.5182, better) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.195 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2948 -> 0.0000 (deboost -0.2948, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1949 -> 0.3330 (boost 0.1381, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1949 (deboost -0.1381, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624431",
"player_name": "Jose Trevino",
"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.118,
"predicted_3B": 0.0,
"predicted_AB": 3.059,
"predicted_AVG": 0.26,
"predicted_BB": 0.059,
"predicted_H": 0.61,
"predicted_HR": 0.06,
"predicted_OBP": 0.264,
"predicted_R": 0.294,
"predicted_RBI": 0.31,
"predicted_SLG": 0.407,
"predicted_SO": 0.471
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1283,
"predicted_3B": 0.0017,
"predicted_AB": 3.1547,
"predicted_AVG": 0.2479,
"predicted_BB": 0.0766,
"predicted_H": 0.6585,
"predicted_HBP": 0.01,
"predicted_HR": 0.0538,
"predicted_OBP": 0.2598,
"predicted_R": 0.3329,
"predicted_RBI": 0.3279,
"predicted_SLG": 0.3736,
"predicted_SO": 0.5075
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.1283,
"delta": 0.0103,
"percent_delta": 0.0873,
"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.059,
"after": 3.1547,
"delta": 0.0957,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2479,
"delta": -0.0121,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.059,
"after": 0.0766,
"delta": 0.0176,
"percent_delta": 0.2983,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.6585,
"delta": 0.0485,
"percent_delta": 0.0795,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0538,
"delta": -0.0062,
"percent_delta": -0.1033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2598,
"delta": -0.0042,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.3329,
"delta": 0.0389,
"percent_delta": 0.1323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3279,
"delta": 0.0179,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3736,
"delta": -0.0334,
"percent_delta": -0.0821,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.471,
"after": 0.5075,
"delta": 0.0365,
"percent_delta": 0.0775,
"direction": "no_change",
"projection_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.059,
"after": 3.1547,
"delta": 0.0957,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3736,
"delta": -0.0334,
"percent_delta": -0.0821,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1283,
"predicted_3B": 0.0017,
"predicted_AB": 3.1547,
"predicted_AVG": 0.1949,
"predicted_BB": 0.075,
"predicted_H": 0.6149,
"predicted_HBP": 0.01,
"predicted_HR": 0.0504,
"predicted_OBP": 0.2136,
"predicted_R": 0.2948,
"predicted_RBI": 0.2904,
"predicted_SLG": 0.2846,
"predicted_SO": 0.5182
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1283,
"after": 0.1283,
"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.1547,
"after": 3.1547,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2479,
"after": 0.1949,
"delta": -0.053,
"percent_delta": -0.2138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0766,
"after": 0.075,
"delta": -0.0016,
"percent_delta": -0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6585,
"after": 0.6149,
"delta": -0.0436,
"percent_delta": -0.0662,
"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.0538,
"after": 0.0504,
"delta": -0.0034,
"percent_delta": -0.0632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2598,
"after": 0.2136,
"delta": -0.0462,
"percent_delta": -0.1778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3329,
"after": 0.2948,
"delta": -0.0381,
"percent_delta": -0.1144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3279,
"after": 0.2904,
"delta": -0.0375,
"percent_delta": -0.1144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3736,
"after": 0.2846,
"delta": -0.089,
"percent_delta": -0.2382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5075,
"after": 0.5182,
"delta": 0.0107,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3736,
"after": 0.2846,
"delta": -0.089,
"percent_delta": -0.2382,
"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.195 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1283,
"after": 0.0,
"delta": -0.1283,
"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.1547,
"after": 3.0,
"delta": -0.1547,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.075,
"after": 0.0,
"delta": -0.075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6149,
"after": 1.0,
"delta": 0.3851,
"percent_delta": 0.6263,
"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.0504,
"after": 0.0,
"delta": -0.0504,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2904,
"after": 0.0,
"delta": -0.2904,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5182,
"after": 0.0,
"delta": -0.5182,
"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.6149,
"after": 1.0,
"delta": 0.3851,
"percent_delta": 0.6263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5182,
"after": 0.0,
"delta": -0.5182,
"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.2948,
"after": 0.0,
"delta": -0.2948,
"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.2948,
"after": 0.0,
"delta": -0.2948,
"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.1949,
"after": 0.333,
"delta": 0.1381,
"percent_delta": 0.7086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2136,
"after": 0.333,
"delta": 0.1194,
"percent_delta": 0.559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2846,
"after": 0.333,
"delta": 0.0484,
"percent_delta": 0.1701,
"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.1949,
"after": 0.333,
"delta": 0.1381,
"percent_delta": 0.7086,
"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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.1949,
"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.2136,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2846,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1949,
"delta": -0.1381,
"percent_delta": -0.4147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2136,
"delta": -0.1194,
"percent_delta": -0.3585,
"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.2846,
"delta": -0.0484,
"percent_delta": -0.1454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1949,
"delta": -0.1381,
"percent_delta": -0.4147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.059,
"after": 3.0,
"delta": -0.059,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.1949,
"delta": -0.0651,
"percent_delta": -0.2504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2136,
"delta": -0.0504,
"percent_delta": -0.1909,
"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.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.2846,
"delta": -0.1224,
"percent_delta": -0.3007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "worse",
"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.118 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.059 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.059 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.264 | - |
| predicted_R | 0.294 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.407 | - |
| predicted_SO | 0.471 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.010 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.155 | 0.096 |
| predicted_AVG | 0.248 | -0.012 |
| predicted_BB | 0.077 | 0.018 |
| predicted_H | 0.658 | 0.048 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.054 | -0.006 |
| predicted_OBP | 0.260 | -0.004 |
| predicted_R | 0.333 | 0.039 |
| predicted_RBI | 0.328 | 0.018 |
| predicted_SLG | 0.374 | -0.033 |
| predicted_SO | 0.507 | 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.128 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.155 | 0.000 |
| predicted_AVG | 0.195 | -0.053 |
| predicted_BB | 0.075 | -0.002 |
| predicted_H | 0.615 | -0.044 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.050 | -0.003 |
| predicted_OBP | 0.214 | -0.046 |
| predicted_R | 0.295 | -0.038 |
| predicted_RBI | 0.290 | -0.038 |
| predicted_SLG | 0.285 | -0.089 |
| predicted_SO | 0.518 | 0.011 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.195 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 | 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.128 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.155 |
| predicted_AVG | 0.333 | 0.138 |
| predicted_BB | 0.000 | -0.075 |
| predicted_H | 1.000 | 0.385 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.333 | 0.119 |
| predicted_R | 0.000 | -0.295 |
| predicted_RBI | 0.000 | -0.290 |
| predicted_SLG | 0.333 | 0.048 |
| predicted_SO | 0.000 | -0.518 |
Attached 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 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 0.000 | 2.000 | 2.000 | 0.000 | 2.000 | 0.2500 | 0.2500 | 0.3125 | 0.2500 | 0.0000 | 0.1250 | 0.0000 | 0.1250 |
| last_10 | 0.20 | 10 | - | 30.000 | 7.000 | 1.000 | 0.000 | 0.000 | 4.000 | 5.000 | 0.000 | 4.000 | 0.2333 | 0.2333 | 0.2667 | 0.2333 | 0.0000 | 0.1333 | 0.0000 | 0.1333 |
| season | 0.60 | 17 | - | 52.000 | 10.000 | 2.000 | 0.000 | 0.000 | 4.000 | 5.000 | 1.000 | 8.000 | 0.1923 | 0.2075 | 0.2308 | 0.1923 | 0.0000 | 0.0769 | 0.0192 | 0.1538 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1480 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.3370 |
| predicted_AVG | 0.2249 |
| predicted_BB | 0.1100 |
| predicted_H | 0.7510 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0420 |
| predicted_OBP | 0.2518 |
| predicted_R | 0.4070 |
| predicted_RBI | 0.3620 |
| predicted_SLG | 0.3100 |
| predicted_SO | 0.5770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1180 | 0.1480 | 0.1283 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 3.0590 | 3.3370 | 3.1547 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2249 | 0.2479 | model_form_blend |
| predicted_BB | 0.0590 | 0.1100 | 0.0766 | model_form_blend |
| predicted_H | 0.6100 | 0.7510 | 0.6585 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0600 | 0.0420 | 0.0538 | model_form_blend |
| predicted_OBP | 0.2640 | 0.2518 | 0.2598 | model_form_blend |
| predicted_R | 0.2940 | 0.4070 | 0.3329 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3620 | 0.3279 | model_form_blend |
| predicted_SLG | 0.4070 | 0.3100 | 0.3736 | model_form_blend |
| predicted_SO | 0.4710 | 0.5770 | 0.5075 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.192 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 1 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260630_CIN@MIL |
| game_type | full |
| mlbID | 624431 |
| playerID | 624431 |
| playerName | Jose Trevino |
| pos | C |
| started | True |
| startingPosition | C |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-30 |
| sl_k_percent | 14.5 |
| sl_bb_percent | 1.8 |
| sl_woba | 0.195 |
| sl_xwoba | 0.25 |
| sl_xba | 0.239 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 23.9 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 28.3 |
| sl_exit_velocity_avg | 85.5 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 23.3 |
| sl_swing_percent | 54.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.136 | 0.000 | 0.000 | Hitting_2B | 0.120 | 0.000 | -0.120 | 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 | 2.840 | 3.000 | 0.160 | 0.000 |
| predicted_AVG | 0.277 | 0.000 | 0.333 | Hitting_AVG | 0.268 | 0.333 | -0.268 | -0.333 |
| predicted_BB | 0.136 | 0.000 | 0.000 | Hitting_BB | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.760 | 1.000 | -0.760 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.324 | 0.000 | 0.333 | Hitting_OBP | 0.321 | 0.333 | -0.321 | -0.333 |
| predicted_R | 0.409 | 0.000 | 0.000 | Hitting_R | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.451 | 0.000 | 0.333 | Hitting_SLG | 0.310 | 0.333 | -0.310 | -0.333 |
| predicted_SO | 0.818 | 1.000 | 1.000 | Hitting_SO | 0.720 | 2.000 | 0.280 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.8180 -> 1.0000 (boost 0.1820, worse) |
| 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 | 3 | 1 | 3 | 1 | predicted_H: 0.7700 -> 0.8456 (boost 0.0756, better) | predicted_SLG: 0.4510 -> 0.4210 (deboost -0.0300, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_SLG: 0.4210 -> 0.3292 (deboost -0.0918, 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.7896 -> 1.0000 (boost 0.2104, better) | predicted_AB: 3.2830 -> 3.0000 (deboost -0.2830, worse) | AB rounded to 3 (raw=3.28), rates preserved: AVG=0.241 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3896 -> 0.0000 (deboost -0.3896, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2405 -> 0.3330 (boost 0.0925, 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.2405 (deboost -0.0925, 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.136,
"predicted_3B": 0.0,
"predicted_AB": 3.227,
"predicted_AVG": 0.277,
"predicted_BB": 0.136,
"predicted_H": 0.77,
"predicted_HR": 0.06,
"predicted_OBP": 0.324,
"predicted_R": 0.409,
"predicted_RBI": 0.31,
"predicted_SLG": 0.451,
"predicted_SO": 0.818
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1478,
"predicted_3B": 0.0015,
"predicted_AB": 3.283,
"predicted_AVG": 0.2813,
"predicted_BB": 0.1386,
"predicted_H": 0.8456,
"predicted_HBP": 0.116,
"predicted_HR": 0.05,
"predicted_OBP": 0.3294,
"predicted_R": 0.44,
"predicted_RBI": 0.3041,
"predicted_SLG": 0.421,
"predicted_SO": 0.8151
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1478,
"delta": 0.0118,
"percent_delta": 0.0868,
"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.227,
"after": 3.283,
"delta": 0.056,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.2813,
"delta": 0.0043,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.136,
"after": 0.1386,
"delta": 0.0026,
"percent_delta": 0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.8456,
"delta": 0.0756,
"percent_delta": 0.0982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.05,
"delta": -0.01,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3294,
"delta": 0.0054,
"percent_delta": 0.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.409,
"after": 0.44,
"delta": 0.031,
"percent_delta": 0.0758,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3041,
"delta": -0.0059,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.421,
"delta": -0.03,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 0.8151,
"delta": -0.0029,
"percent_delta": -0.0035,
"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": 0.77,
"after": 0.8456,
"delta": 0.0756,
"percent_delta": 0.0982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.421,
"delta": -0.03,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 22
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1478,
"predicted_3B": 0.0015,
"predicted_AB": 3.283,
"predicted_AVG": 0.2405,
"predicted_BB": 0.1357,
"predicted_H": 0.7896,
"predicted_HBP": 0.116,
"predicted_HR": 0.0468,
"predicted_OBP": 0.2707,
"predicted_R": 0.3896,
"predicted_RBI": 0.2693,
"predicted_SLG": 0.3292,
"predicted_SO": 0.8323
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1478,
"after": 0.1478,
"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.283,
"after": 3.283,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2813,
"after": 0.2405,
"delta": -0.0408,
"percent_delta": -0.145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1386,
"after": 0.1357,
"delta": -0.0029,
"percent_delta": -0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8456,
"after": 0.7896,
"delta": -0.056,
"percent_delta": -0.0662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.116,
"after": 0.116,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0468,
"delta": -0.0032,
"percent_delta": -0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3294,
"after": 0.2707,
"delta": -0.0587,
"percent_delta": -0.1782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.44,
"after": 0.3896,
"delta": -0.0504,
"percent_delta": -0.1145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3041,
"after": 0.2693,
"delta": -0.0348,
"percent_delta": -0.1144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.3292,
"delta": -0.0918,
"percent_delta": -0.2181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8151,
"after": 0.8323,
"delta": 0.0172,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.3292,
"delta": -0.0918,
"percent_delta": -0.2181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.28), rates preserved: AVG=0.241 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.1478,
"after": 0.0,
"delta": -0.1478,
"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.283,
"after": 3.0,
"delta": -0.283,
"percent_delta": -0.0862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1357,
"after": 0.0,
"delta": -0.1357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7896,
"after": 1.0,
"delta": 0.2104,
"percent_delta": 0.2665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.116,
"after": 0.0,
"delta": -0.116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0468,
"after": 0.0,
"delta": -0.0468,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2693,
"after": 0.0,
"delta": -0.2693,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8323,
"after": 1.0,
"delta": 0.1677,
"percent_delta": 0.2015,
"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.7896,
"after": 1.0,
"delta": 0.2104,
"percent_delta": 0.2665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.283,
"after": 3.0,
"delta": -0.283,
"percent_delta": -0.0862,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3896,
"after": 0.0,
"delta": -0.3896,
"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.3896,
"after": 0.0,
"delta": -0.3896,
"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.2405,
"after": 0.333,
"delta": 0.0925,
"percent_delta": 0.3846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2707,
"after": 0.333,
"delta": 0.0623,
"percent_delta": 0.2301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3292,
"after": 0.333,
"delta": 0.0038,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2405,
"after": 0.333,
"delta": 0.0925,
"percent_delta": 0.3846,
"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.2405,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2707,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3292,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2405,
"delta": -0.0925,
"percent_delta": -0.2777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2707,
"delta": -0.0623,
"percent_delta": -0.1872,
"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.3292,
"delta": -0.0038,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2405,
"delta": -0.0925,
"percent_delta": -0.2777,
"direction": "deboost",
"projection_effect": "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.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.277,
"after": 0.2405,
"delta": -0.0365,
"percent_delta": -0.1318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.2707,
"delta": -0.0533,
"percent_delta": -0.1645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.3292,
"delta": -0.1218,
"percent_delta": -0.2701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 1.0,
"delta": 0.182,
"percent_delta": 0.2225,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.818,
"after": 1.0,
"delta": 0.182,
"percent_delta": 0.2225,
"direction": "boost",
"projection_effect": "worse",
"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.136 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.227 | - |
| predicted_AVG | 0.277 | - |
| predicted_BB | 0.136 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.409 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.451 | - |
| predicted_SO | 0.818 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.148 | 0.012 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.283 | 0.056 |
| predicted_AVG | 0.281 | 0.004 |
| predicted_BB | 0.139 | 0.003 |
| predicted_H | 0.846 | 0.076 |
| predicted_HBP | 0.116 | - |
| predicted_HR | 0.050 | -0.010 |
| predicted_OBP | 0.329 | 0.005 |
| predicted_R | 0.440 | 0.031 |
| predicted_RBI | 0.304 | -0.006 |
| predicted_SLG | 0.421 | -0.030 |
| predicted_SO | 0.815 | -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.148 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.283 | 0.000 |
| predicted_AVG | 0.240 | -0.041 |
| predicted_BB | 0.136 | -0.003 |
| predicted_H | 0.790 | -0.056 |
| predicted_HBP | 0.116 | 0.000 |
| predicted_HR | 0.047 | -0.003 |
| predicted_OBP | 0.271 | -0.059 |
| predicted_R | 0.390 | -0.050 |
| predicted_RBI | 0.269 | -0.035 |
| predicted_SLG | 0.329 | -0.092 |
| predicted_SO | 0.832 | 0.017 |
AB rounded to 3 (raw=3.28), rates preserved: AVG=0.241 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.148 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.283 |
| predicted_AVG | 0.333 | 0.093 |
| predicted_BB | 0.000 | -0.136 |
| predicted_H | 1.000 | 0.210 |
| predicted_HR | 0.000 | -0.047 |
| predicted_OBP | 0.333 | 0.062 |
| predicted_R | 0.000 | -0.390 |
| predicted_RBI | 0.000 | -0.269 |
| predicted_SLG | 0.333 | 0.004 |
| 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 | 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 | - | 16.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.000 | 4.000 | 0.3750 | 0.4118 | 0.4375 | 0.3750 | 0.0000 | 0.1250 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 32.000 | 11.000 | 2.000 | 0.000 | 0.000 | 2.000 | 6.000 | 1.000 | 7.000 | 0.3438 | 0.3824 | 0.4062 | 0.3438 | 0.0000 | 0.0625 | 0.0312 | 0.2188 |
| season | 0.60 | 22 | - | 71.000 | 19.000 | 3.000 | 0.000 | 0.000 | 4.000 | 9.000 | 3.000 | 18.000 | 0.2676 | 0.3205 | 0.3099 | 0.2676 | 0.0000 | 0.0563 | 0.0423 | 0.2535 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.3790 |
| predicted_AVG | 0.2886 |
| predicted_BB | 0.1430 |
| predicted_H | 0.9750 |
| predicted_HBP | 0.1160 |
| predicted_HR | 0.0330 |
| predicted_OBP | 0.3386 |
| predicted_R | 0.4930 |
| predicted_RBI | 0.2940 |
| predicted_SLG | 0.3696 |
| predicted_SO | 0.8100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.1680 | 0.1478 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 3.2270 | 3.3790 | 3.2830 | model_form_blend |
| predicted_AVG | 0.2770 | 0.2886 | 0.2813 | model_form_blend |
| predicted_BB | 0.1360 | 0.1430 | 0.1386 | model_form_blend |
| predicted_H | 0.7700 | 0.9750 | 0.8456 | model_form_blend |
| predicted_HBP | - | 0.1160 | 0.1160 | form_only |
| predicted_HR | 0.0600 | 0.0330 | 0.0500 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3386 | 0.3294 | model_form_blend |
| predicted_R | 0.4090 | 0.4930 | 0.4400 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2940 | 0.3041 | model_form_blend |
| predicted_SLG | 0.4510 | 0.3696 | 0.4210 | model_form_blend |
| predicted_SO | 0.8180 | 0.8100 | 0.8151 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 22 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.268 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.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 | 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 | 2B |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 695490 |
| playerID | 695490 |
| playerName | Edwin Arroyo |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 3.8 |
| sl_woba | 0.286 |
| sl_xwoba | 0.314 |
| sl_xba | 0.297 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 47.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 21.8 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 61.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.125 | 0.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.375 | 3.000 | 3.000 | Hitting_AB | 3.726 | 1.000 | -0.726 | 2.000 |
| predicted_AVG | 0.205 | 0.000 | 0.333 | Hitting_AVG | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_BB | 0.292 | 0.000 | 0.000 | Hitting_BB | 0.324 | 1.000 | -0.324 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.630 | 0.000 | 1.000 | Hitting_H | 0.693 | 0.000 | -0.693 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_OBP | 0.242 | 0.000 | 0.333 | Hitting_OBP | 0.264 | 0.500 | -0.264 | -0.500 |
| predicted_R | 0.312 | 0.000 | 0.000 | Hitting_R | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_SLG | 0.338 | 0.000 | 0.333 | Hitting_SLG | 0.267 | 0.000 | -0.267 | 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 | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.9170 -> 1.0000 (boost 0.0830, worse) |
| Biggest Deboost | predicted_H: 0.6300 -> 0.0000 (deboost -0.6300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 3.3750 -> 3.2280 (deboost -0.1470, worse) | Final model input calibrated with local form: 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.2823 -> 0.2342 (deboost -0.0481, 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.9005 -> 1.0000 (boost 0.0995, worse) | predicted_H: 0.5098 -> 0.0000 (deboost -0.5098, worse) | AB rounded to 3 (raw=3.38), rates preserved: AVG=0.151 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.2448 -> 0.0000 (deboost -0.2448, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1579 -> 0.3330 (boost 0.1751, 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.1579 (deboost -0.1751, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670770",
"player_name": "TJ Friedl",
"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.125,
"predicted_3B": 0.0,
"predicted_AB": 3.375,
"predicted_AVG": 0.205,
"predicted_BB": 0.292,
"predicted_H": 0.63,
"predicted_HR": 0.06,
"predicted_OBP": 0.242,
"predicted_R": 0.312,
"predicted_RBI": 0.24,
"predicted_SLG": 0.338,
"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.1058,
"predicted_3B": 0.0008,
"predicted_AB": 3.228,
"predicted_AVG": 0.1787,
"predicted_BB": 0.2793,
"predicted_H": 0.5459,
"predicted_HBP": 0.042,
"predicted_HR": 0.0494,
"predicted_OBP": 0.2319,
"predicted_R": 0.2765,
"predicted_RBI": 0.2057,
"predicted_SLG": 0.2823,
"predicted_SO": 0.8819
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1058,
"delta": -0.0192,
"percent_delta": -0.1536,
"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.375,
"after": 3.228,
"delta": -0.147,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.1787,
"delta": -0.0263,
"percent_delta": -0.1283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.2793,
"delta": -0.0127,
"percent_delta": -0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.5459,
"delta": -0.0841,
"percent_delta": -0.1335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0494,
"delta": -0.0106,
"percent_delta": -0.1767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.242,
"after": 0.2319,
"delta": -0.0101,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.2765,
"delta": -0.0355,
"percent_delta": -0.1138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.2057,
"delta": -0.0343,
"percent_delta": -0.1429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.2823,
"delta": -0.0557,
"percent_delta": -0.1648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 0.8819,
"delta": -0.0351,
"percent_delta": -0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.375,
"after": 3.228,
"delta": -0.147,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1058,
"predicted_3B": 0.0008,
"predicted_AB": 3.228,
"predicted_AVG": 0.1579,
"predicted_BB": 0.2734,
"predicted_H": 0.5098,
"predicted_HBP": 0.042,
"predicted_HR": 0.0463,
"predicted_OBP": 0.2237,
"predicted_R": 0.2448,
"predicted_RBI": 0.1821,
"predicted_SLG": 0.2342,
"predicted_SO": 0.9005
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1058,
"after": 0.1058,
"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.228,
"after": 3.228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1787,
"after": 0.1579,
"delta": -0.0208,
"percent_delta": -0.1164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2793,
"after": 0.2734,
"delta": -0.0059,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5459,
"after": 0.5098,
"delta": -0.0361,
"percent_delta": -0.0661,
"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.0494,
"after": 0.0463,
"delta": -0.0031,
"percent_delta": -0.0628,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2319,
"after": 0.2237,
"delta": -0.0082,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2765,
"after": 0.2448,
"delta": -0.0317,
"percent_delta": -0.1146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2057,
"after": 0.1821,
"delta": -0.0236,
"percent_delta": -0.1147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2823,
"after": 0.2342,
"delta": -0.0481,
"percent_delta": -0.1704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8819,
"after": 0.9005,
"delta": 0.0186,
"percent_delta": 0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2823,
"after": 0.2342,
"delta": -0.0481,
"percent_delta": -0.1704,
"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.151 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.1058,
"after": 0.0,
"delta": -0.1058,
"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.228,
"after": 3.0,
"delta": -0.228,
"percent_delta": -0.0706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2734,
"after": 0.0,
"delta": -0.2734,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5098,
"after": 0.0,
"delta": -0.5098,
"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.0463,
"after": 0.0,
"delta": -0.0463,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1821,
"after": 0.0,
"delta": -0.1821,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9005,
"after": 1.0,
"delta": 0.0995,
"percent_delta": 0.1105,
"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.9005,
"after": 1.0,
"delta": 0.0995,
"percent_delta": 0.1105,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5098,
"after": 0.0,
"delta": -0.5098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2448,
"after": 0.0,
"delta": -0.2448,
"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.2448,
"after": 0.0,
"delta": -0.2448,
"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.1579,
"after": 0.333,
"delta": 0.1751,
"percent_delta": 1.1089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2237,
"after": 0.333,
"delta": 0.1093,
"percent_delta": 0.4886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2342,
"after": 0.333,
"delta": 0.0988,
"percent_delta": 0.4219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1579,
"after": 0.333,
"delta": 0.1751,
"percent_delta": 1.1089,
"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.1579,
"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.2237,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2342,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1579,
"delta": -0.1751,
"percent_delta": -0.5258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2237,
"delta": -0.1093,
"percent_delta": -0.3283,
"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.2342,
"delta": -0.0988,
"percent_delta": -0.2968,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1579,
"delta": -0.1751,
"percent_delta": -0.5258,
"direction": "deboost",
"projection_effect": "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.375,
"after": 3.0,
"delta": -0.375,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.1579,
"delta": -0.0471,
"percent_delta": -0.2298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.292,
"after": 0.0,
"delta": -0.292,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.242,
"after": 0.2237,
"delta": -0.0183,
"percent_delta": -0.0756,
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.2342,
"delta": -0.1038,
"percent_delta": -0.3071,
"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": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.375 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.292 | - |
| predicted_H | 0.630 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.242 | - |
| predicted_R | 0.312 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.338 | - |
| 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.106 | -0.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.228 | -0.147 |
| predicted_AVG | 0.179 | -0.026 |
| predicted_BB | 0.279 | -0.013 |
| predicted_H | 0.546 | -0.084 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.049 | -0.011 |
| predicted_OBP | 0.232 | -0.010 |
| predicted_R | 0.277 | -0.035 |
| predicted_RBI | 0.206 | -0.034 |
| predicted_SLG | 0.282 | -0.056 |
| predicted_SO | 0.882 | -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.106 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.228 | 0.000 |
| predicted_AVG | 0.158 | -0.021 |
| predicted_BB | 0.273 | -0.006 |
| predicted_H | 0.510 | -0.036 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.046 | -0.003 |
| predicted_OBP | 0.224 | -0.008 |
| predicted_R | 0.245 | -0.032 |
| predicted_RBI | 0.182 | -0.024 |
| predicted_SLG | 0.234 | -0.048 |
| predicted_SO | 0.900 | 0.019 |
AB rounded to 3 (raw=3.38), rates preserved: AVG=0.151 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.106 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.228 |
| predicted_AVG | 0.333 | 0.175 |
| predicted_BB | 0.000 | -0.273 |
| predicted_H | 1.000 | 0.490 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | 0.109 |
| predicted_R | 0.000 | -0.245 |
| predicted_RBI | 0.000 | -0.182 |
| predicted_SLG | 0.333 | 0.099 |
| predicted_SO | 1.000 | 0.100 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 11.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.0000 | 0.0833 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0909 | 0.2727 |
| last_10 | 0.20 | 10 | - | 21.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 7.000 | 0.0952 | 0.1667 | 0.0952 | 0.0952 | 0.0000 | 0.0476 | 0.0952 | 0.3333 |
| season | 0.60 | 48 | - | 162.000 | 28.000 | 6.000 | 0.000 | 2.000 | 8.000 | 15.000 | 14.000 | 44.000 | 0.1728 | 0.2541 | 0.2469 | 0.1728 | 0.0123 | 0.0494 | 0.0864 | 0.2716 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0780 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0150 |
| predicted_AVG | 0.1405 |
| predicted_BB | 0.2610 |
| predicted_H | 0.4240 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.2172 |
| predicted_R | 0.2250 |
| predicted_RBI | 0.1560 |
| predicted_SLG | 0.2015 |
| predicted_SO | 0.8310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.0780 | 0.1058 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3750 | 3.0150 | 3.2280 | model_form_blend |
| predicted_AVG | 0.2050 | 0.1405 | 0.1787 | model_form_blend |
| predicted_BB | 0.2920 | 0.2610 | 0.2793 | model_form_blend |
| predicted_H | 0.6300 | 0.4240 | 0.5459 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.0600 | 0.0340 | 0.0494 | model_form_blend |
| predicted_OBP | 0.2420 | 0.2172 | 0.2319 | model_form_blend |
| predicted_R | 0.3120 | 0.2250 | 0.2765 | model_form_blend |
| predicted_RBI | 0.2400 | 0.1560 | 0.2057 | model_form_blend |
| predicted_SLG | 0.3380 | 0.2015 | 0.2823 | model_form_blend |
| predicted_SO | 0.9170 | 0.8310 | 0.8819 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.173 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20260630_CIN@MIL |
| game_type | full |
| mlbID | 670770 |
| playerID | 670770 |
| playerName | TJ Friedl |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-30 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.232 |
| sl_xwoba | 0.247 |
| sl_xba | 0.191 |
| sl_xslg | 0.26 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 29.0 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.812 | 0.000 | 0.188 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.500 | 5.000 | 1.500 | -2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.375 | 9.000 | -1.375 | -6.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.656 | 6.000 | 0.344 | 0.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 7.000 | 10.000 | -1.000 | -4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 3 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 3 |
| Better Metrics | 3 |
| 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 | 3 | 1 | 2 | 3 | 0 | predicted_SO: 6.0000 -> 7.0000 (boost 1.0000, better) | predicted_HR: 3.0000 -> 1.0000 (deboost -2.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_HR: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 4.0000 -> 3.0000 (deboost -1.0000, better) | 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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 3.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": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 3.0,
"predicted_HR": 2.0,
"predicted_IP": 6.0,
"predicted_R": 3.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"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": {
"metric": "predicted_H",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 6.0,
"after": 6.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": 3,
"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 | 4.000 | - |
| predicted_HR | 3.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 | 3.000 | -1.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 1.000 | -2.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.100 | 10.000 | 28.000 | 9.000 | 40.000 | 3.000 | 3.2927 | 1.3537 | 0.3659 | 1.0244 | 0.3293 | 1.4634 | 0.1098 |
| last_10 | 0.35 | 10 | 57.200 | 14.000 | 44.000 | 17.000 | 73.000 | 6.000 | 2.1850 | 1.0578 | 0.2428 | 0.7630 | 0.2948 | 1.2659 | 0.1041 |
| season | 0.20 | 16 | 91.200 | 24.000 | 70.000 | 29.000 | 112.000 | 11.000 | 2.3564 | 1.0800 | 0.2618 | 0.7636 | 0.3164 | 1.2218 | 0.1200 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8300 |
| predicted_ER | 1.9630 |
| predicted_ERA | 3.1370 |
| predicted_H | 5.0730 |
| predicted_HR | 0.6680 |
| predicted_IP | 5.2000 |
| predicted_SO | 7.0540 |
| predicted_WHIP | 1.2257 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.8300 | 1.9066 | model_form_blend |
| predicted_ER | 4.0000 | 1.9630 | 2.8809 | model_form_blend |
| predicted_ERA | - | 3.1370 | 3.1370 | form_only |
| predicted_H | 4.0000 | 5.0730 | 4.5895 | model_form_blend |
| predicted_HR | 3.0000 | 0.6680 | 1.7188 | model_form_blend |
| predicted_IP | 6.0000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 6.0000 | 7.0540 | 6.5791 | model_form_blend |
| predicted_WHIP | - | 1.2257 | 1.2257 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 3 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 6 |
| HR | 2 |
| BF | 23 |
| Pitches | 99 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 5 |
| Pitching_ERA | 2.36 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 1 |
| Pitching_H | 9 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 93 |
| Pitching_R | 5 |
| Pitching_SO | 10 |
| Pitching_Strikes | 66 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260627_CIN@PIT |
| game_type | full |
| mlbID | 695505 |
| playerID | 695505 |
| playerName | Chase Burns |
| pos | P |
| started | True |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-27 |
| sl_k_percent | 30.5 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.278 |
| sl_xwoba | 0.27 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 33.2 |
| sl_swing_percent | 49.9 |
| sl_avg_best_speed | 78.425915833 |
| sl_avg_hyper_speed | 93.684012419 |
| 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.292 | 1.000 | -0.292 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.292 | 0.000 | -0.292 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.708 | 0.000 | -0.708 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.887 | 1.000 | 0.113 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.875 | 0.000 | -0.875 | 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": "622088",
"player_name": "Tejay Antone",
"position": "Middle Reliever",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 1.000 | 3.000 | 1.000 | 3.000 | 1.000 | 2.2500 | 1.0000 | 0.2500 | 0.7500 | 0.2500 | 0.7500 | 0.2500 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 5.000 | 3.000 | 7.000 | 2.000 | 1.7419 | 0.7742 | 0.1935 | 0.4839 | 0.2903 | 0.6774 | 0.1935 |
| season | 0.20 | 24 | 24.100 | 7.000 | 17.000 | 7.000 | 21.000 | 3.000 | 2.5890 | 0.9863 | 0.2877 | 0.6986 | 0.2877 | 0.8630 | 0.1233 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2920 |
| predicted_ER | 0.3430 |
| predicted_ERA | 3.3304 |
| predicted_H | 0.7490 |
| predicted_HR | 0.1620 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7890 |
| predicted_WHIP | 1.1242 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2920 | 0.1270 | model_form_blend |
| predicted_ER | 0.0000 | 0.3430 | 0.1492 | model_form_blend |
| predicted_ERA | - | 3.3304 | 3.3304 | form_only |
| predicted_H | 0.0000 | 0.7490 | 0.3258 | model_form_blend |
| predicted_HR | 0.0000 | 0.1620 | 0.0705 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7890 | 0.3432 | model_form_blend |
| predicted_WHIP | - | 1.1242 | 1.1242 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 24 |
| Season rows before report date | 24 |
| Report year | 2026 |
| Profile rows used | 24 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.59 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 622088 |
| playerID | 622088 |
| playerName | Tejay Antone |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.263 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 25.4 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 36.6 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 47.6 |
| sl_avg_best_speed | 79.857190968 |
| sl_avg_hyper_speed | 93.758459677 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.625 | 0.000 | 1.375 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.875 | 0.000 | 1.125 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.838 | 0.100 | 0.162 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.750 | 1.000 | -0.750 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 4 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_ER: 1.0000 -> 2.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 | 4 | 4 | 0 | 1 | 3 | predicted_ER: 1.0000 -> 2.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": "641941",
"player_name": "Emilio Pagán",
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"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": 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": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 2.000 | 1.000 |
| predicted_H | 2.000 | 1.000 |
| predicted_HR | 1.000 | 1.000 |
| predicted_IP | 1.000 | 0.900 |
| predicted_SO | 0.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 5.000 | 8.000 | 0.000 | 2.000 | 1.000 | 11.2500 | 2.0000 | 1.2500 | 2.0000 | 0.0000 | 0.5000 | 0.2500 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 8.000 | 3.000 | 6.000 | 1.000 | 5.0000 | 1.2222 | 0.5556 | 0.8889 | 0.3333 | 0.6667 | 0.1111 |
| season | 0.20 | 15 | 14.100 | 10.000 | 14.000 | 6.000 | 12.000 | 3.000 | 6.2791 | 1.3953 | 0.6977 | 0.9767 | 0.4186 | 0.8372 | 0.2093 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1570 |
| predicted_ER | 0.3340 |
| predicted_ERA | 5.7795 |
| predicted_H | 0.5860 |
| predicted_HR | 0.0850 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.4340 |
| predicted_WHIP | 1.4258 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1570 | 0.0598 | model_form_blend |
| predicted_ER | 1.0000 | 0.3340 | 0.7465 | model_form_blend |
| predicted_ERA | - | 5.7795 | 5.7795 | form_only |
| predicted_H | 1.0000 | 0.5860 | 0.8424 | model_form_blend |
| predicted_HR | 0.0000 | 0.0850 | 0.0324 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.4340 | 0.1652 | model_form_blend |
| predicted_WHIP | - | 1.4258 | 1.4258 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 15 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 6.28 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 641941 |
| playerID | 641941 |
| playerName | Emilio Pagán |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-07-01 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.361 |
| sl_xwoba | 0.341 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 56.8 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 49.4 |
| sl_avg_best_speed | 82.670711364 |
| sl_avg_hyper_speed | 95.369850455 |
| Field | Value |
|---|---|
| Pitcher | Jacob Misiorowski |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 1.3267 |
| ESPN Rank | 2 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 96.9300 |
| Avg Spin | 2533.8928 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 7 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 7 |
| Season ERA | 1.4545 |
| Season WHIP | 0.7677 |
| Role Avg IP | 6.1880 |
| Recent Avg IP | 7 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 94,
"wins": 57,
"losses": 37,
"win_pct": 0.6064,
"runs_scored": 477.0,
"runs_allowed": 343.0,
"run_differential": 134.0,
"run_differential_per_game": 1.4255,
"avg_runs_scored": 5.0745,
"avg_runs_allowed": 3.6489,
"offense_index": 1.1212,
"defense_index": 1.2403,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.1,
"run_differential": 15.0
},
"available": true,
"quality_score": 0.3687
},
"opponent": {
"team": "CIN",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 390.0,
"runs_allowed": 466.0,
"run_differential": -76.0,
"run_differential_per_game": -0.8085,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.9574,
"offense_index": 0.9167,
"defense_index": 0.9129,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2225
},
"edges": {
"quality_edge": 0.5912,
"offense_edge": 0.1212,
"opponent_offense_edge": -0.0833,
"defense_strength": 0.2403,
"opponent_defense_weakness": 0.0871,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9331,
"strikeout": 1.0244
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694819",
"profile": {
"available": true,
"pitcher_id": "694819",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 247.0,
"k_percent": 38.8,
"bb_percent": 7.2,
"woba": 0.199,
"xwoba": 0.228,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 33.2,
"avg_best_speed": 76.4436,
"avg_hyper_speed": 92.9531,
"whiff_percent": 37.9,
"swing_percent": 49.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.6889,
"command_and_miss": 1.7596,
"regression_edge": -0.8286,
"xwoba_edge": 2.4143,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.7286,
"whiff_edge": 1.7714,
"bb_edge": 0.475,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694819",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 96.93002914629734,
"release_spin_rate": 2533.892791335776,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 96.93002914629734,
"release_spin_rate": 2533.892791335776,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 96.93,
"release_spin_rate": 2533.8928,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 1.3267,
"sample_weight": 0.988,
"run_prevention_factor": 0.8872,
"strikeout_factor": 1.16,
"walk_factor": 0.9625,
"homer_factor": 0.8153,
"woba_minus_xwoba": -0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694819",
"espn_id": 5080761,
"player_name": "Jacob Misiorowski",
"team": "MIL",
"role": "pitcher",
"espn_rank": 2,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 2,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 16.0,
"gs_rank": 47,
"qs_value": 11.0,
"qs_rank": 5,
"era_value": 1.4545,
"era_rank": 1.0,
"w_value": 9.0,
"w_rank": 4,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 99.0,
"ip_rank": 19,
"h_value": 49.0,
"h_rank": 144,
"er_value": 16.0,
"er_rank": 239,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 27.0,
"bb_rank": 75,
"k_value": 146.0,
"k_rank": 1,
"k_per_9_value": 13.272727,
"k_per_9_rank": 1,
"whip_value": 0.7676,
"whip_rank": 1.0,
"war_value": 4.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.8886,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.8886,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9629,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.82,
"adjusted": 0
},
"predicted_SO": {
"original": 9.0,
"factor": 1.1581,
"adjusted": 10
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 66.1,
"ER": 4,
"H": 26,
"BB": 14,
"SO": 95,
"HR": 1,
"ERA": 0.542713567839196,
"WHIP": 0.6030150753768845,
"K9": 12.889447236180905,
"HR9": 0.135678391959799,
"games_pitched": 10,
"quality_starts": 9,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "694819",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 96.93002914629734,
"release_spin_rate": 2533.892791335776,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 96.93002914629734,
"release_spin_rate": 2533.892791335776,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 96.93,
"release_spin_rate": 2533.8928,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "694819",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 7.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 35.0,
"ER": 3.0,
"R": 4.0,
"H": 15.0,
"BB": 8.0,
"SO": 46.0,
"HR": 1.0,
"BF": 128.0,
"Pitches": 479.0
},
"per_game": {
"IP": 7.0,
"ER": 0.6,
"R": 0.8,
"H": 3.0,
"BB": 1.6,
"SO": 9.2,
"HR": 0.2,
"BF": 25.6,
"Pitches": 95.8
},
"rates": {
"ERA": 0.7714,
"WHIP": 0.6571,
"ER_per_IP": 0.08571,
"H_per_IP": 0.42857,
"BB_per_IP": 0.22857,
"SO_per_IP": 1.31429,
"HR_per_IP": 0.02857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 66.1,
"ER": 4.0,
"R": 5.0,
"H": 26.0,
"BB": 14.0,
"SO": 95.0,
"HR": 1.0,
"BF": 239.0,
"Pitches": 922.0
},
"per_game": {
"IP": 6.2,
"ER": 0.4,
"R": 0.5,
"H": 2.6,
"BB": 1.4,
"SO": 9.5,
"HR": 0.1,
"BF": 23.9,
"Pitches": 92.2
},
"rates": {
"ERA": 0.5427,
"WHIP": 0.603,
"ER_per_IP": 0.0603,
"H_per_IP": 0.39196,
"BB_per_IP": 0.21106,
"SO_per_IP": 1.43216,
"HR_per_IP": 0.01508
}
},
"season": {
"games": 16,
"totals": {
"IP": 99.0,
"ER": 16.0,
"R": 19.0,
"H": 49.0,
"BB": 27.0,
"SO": 146.0,
"HR": 5.0,
"BF": 376.0,
"Pitches": 1475.0
},
"per_game": {
"IP": 6.1,
"ER": 1.0,
"R": 1.1875,
"H": 3.0625,
"BB": 1.6875,
"SO": 9.125,
"HR": 0.3125,
"BF": 23.5,
"Pitches": 92.1875
},
"rates": {
"ERA": 1.4545,
"WHIP": 0.7677,
"ER_per_IP": 0.16162,
"H_per_IP": 0.49495,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.47475,
"HR_per_IP": 0.05051
}
}
},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 1.284,
"predicted_H": 3.791,
"predicted_BB": 1.78,
"predicted_SO": 8.745,
"predicted_HR": 0.385,
"predicted_ERA": 1.6972,
"predicted_WHIP": 0.818
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 7.0,
"form": 6.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.284,
"final": 0.7054,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 3.791,
"final": 2.984,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.78,
"final": 1.4285,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 8.745,
"final": 6.6069,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.385,
"final": 0.2115,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.6972,
"final": 1.6972,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.818,
"final": 0.818,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Abner Uribe |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3976 |
| ESPN Rank | 133 |
| 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.0303 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 94,
"wins": 57,
"losses": 37,
"win_pct": 0.6064,
"runs_scored": 477.0,
"runs_allowed": 343.0,
"run_differential": 134.0,
"run_differential_per_game": 1.4255,
"avg_runs_scored": 5.0745,
"avg_runs_allowed": 3.6489,
"offense_index": 1.1212,
"defense_index": 1.2403,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.1,
"run_differential": 15.0
},
"available": true,
"quality_score": 0.3687
},
"opponent": {
"team": "CIN",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 390.0,
"runs_allowed": 466.0,
"run_differential": -76.0,
"run_differential_per_game": -0.8085,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.9574,
"offense_index": 0.9167,
"defense_index": 0.9129,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2225
},
"edges": {
"quality_edge": 0.5912,
"offense_edge": 0.1212,
"opponent_offense_edge": -0.0833,
"defense_strength": 0.2403,
"opponent_defense_weakness": 0.0871,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9331,
"strikeout": 1.0244
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682842",
"profile": {
"available": true,
"pitcher_id": "682842",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 80.0,
"k_percent": 24.4,
"bb_percent": 8.4,
"woba": 0.242,
"xwoba": 0.25,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 29.5,
"avg_best_speed": 75.5023,
"avg_hyper_speed": 92.6901,
"whiff_percent": 27.8,
"swing_percent": 44.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.4937,
"command_and_miss": 0.2689,
"regression_edge": -0.2286,
"xwoba_edge": 1.7857,
"barrel_edge": 1.1333,
"hard_hit_edge": 1.2571,
"whiff_edge": 0.3286,
"bb_edge": 0.175,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682842",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3976,
"sample_weight": 0.45,
"run_prevention_factor": 0.9662,
"strikeout_factor": 1.0107,
"walk_factor": 0.9937,
"homer_factor": 0.9125,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682842",
"espn_id": 4917865,
"player_name": "Abner Uribe",
"team": "MIL",
"role": "pitcher",
"espn_rank": 133,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 133,
"gp_value": 34.0,
"gp_rank": 68,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.0,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 5.0,
"sv_rank": 32,
"hld_value": 12.0,
"hld_rank": 16,
"ip_value": 33.0,
"ip_rank": 274,
"h_value": 23.0,
"h_rank": 337,
"er_value": 11.0,
"er_rank": 344,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 32.0,
"k_rank": 274,
"k_per_9_value": 8.727273,
"k_per_9_rank": 26,
"whip_value": 1.0303,
"whip_rank": null,
"war_value": 0.87,
"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.9972,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9606,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0048,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 1,
"H": 4,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 0.8437499999999999,
"WHIP": 0.5624999999999999,
"K9": 7.593749999999999,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "682842",
"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.542,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5668,
"prior_weight": 0.4332
},
"role": "pitcher",
"player_id": "682842",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 34,
"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": 3.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 3.4,
"Pitches": 11.6
},
"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": 0.52941,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 3.6,
"Pitches": 13.4
},
"rates": {
"ERA": 0.8438,
"WHIP": 0.5625,
"ER_per_IP": 0.09375,
"H_per_IP": 0.375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.84375,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 34,
"totals": {
"IP": 33.0,
"ER": 11.0,
"R": 11.0,
"H": 23.0,
"BB": 11.0,
"SO": 32.0,
"HR": 3.0,
"BF": 131.0,
"Pitches": 497.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3235,
"R": 0.3235,
"H": 0.6765,
"BB": 0.3235,
"SO": 0.9412,
"HR": 0.0882,
"BF": 3.8529,
"Pitches": 14.6176
},
"rates": {
"ERA": 3.0,
"WHIP": 1.0303,
"ER_per_IP": 0.33333,
"H_per_IP": 0.69697,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.9697,
"HR_per_IP": 0.09091
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.272,
"predicted_H": 0.662,
"predicted_BB": 0.23,
"predicted_SO": 0.825,
"predicted_HR": 0.093,
"predicted_ERA": 2.4476,
"predicted_WHIP": 0.8915
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.533,
"form_weight": 0.467,
"form_reliability": 0.5668,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.542,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5668,
"prior_weight": 0.4332
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.272,
"final": 0.127,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.662,
"final": 0.3091,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.23,
"final": 0.1074,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.825,
"final": 0.9183,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.093,
"final": 0.0434,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4476,
"final": 2.4476,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8915,
"final": 0.8915,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Trevor Megill |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4868 |
| ESPN Rank | 173 |
| 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.1818 |
| Season WHIP | 0.9091 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 94,
"wins": 57,
"losses": 37,
"win_pct": 0.6064,
"runs_scored": 477.0,
"runs_allowed": 343.0,
"run_differential": 134.0,
"run_differential_per_game": 1.4255,
"avg_runs_scored": 5.0745,
"avg_runs_allowed": 3.6489,
"offense_index": 1.1212,
"defense_index": 1.2403,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.1,
"run_differential": 15.0
},
"available": true,
"quality_score": 0.3687
},
"opponent": {
"team": "CIN",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 390.0,
"runs_allowed": 466.0,
"run_differential": -76.0,
"run_differential_per_game": -0.8085,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.9574,
"offense_index": 0.9167,
"defense_index": 0.9129,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2225
},
"edges": {
"quality_edge": 0.5912,
"offense_edge": 0.1212,
"opponent_offense_edge": -0.0833,
"defense_strength": 0.2403,
"opponent_defense_weakness": 0.0871,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9331,
"strikeout": 1.0244
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656730",
"profile": {
"available": true,
"pitcher_id": "656730",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 79.0,
"k_percent": 33.1,
"bb_percent": 6.8,
"woba": 0.226,
"xwoba": 0.229,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 40.5,
"avg_best_speed": 81.6246,
"avg_hyper_speed": 94.2131,
"whiff_percent": 33.6,
"swing_percent": 52.2
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.3907,
"command_and_miss": 1.1982,
"regression_edge": -0.0857,
"xwoba_edge": 2.3857,
"barrel_edge": 0.8,
"hard_hit_edge": -0.3143,
"whiff_edge": 1.1571,
"bb_edge": 0.575,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656730",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4868,
"sample_weight": 0.45,
"run_prevention_factor": 0.9586,
"strikeout_factor": 1.048,
"walk_factor": 0.9793,
"homer_factor": 0.9446,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656730",
"espn_id": 40080,
"player_name": "Trevor Megill",
"team": "MIL",
"role": "pitcher",
"espn_rank": 173,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 173,
"gp_value": 34.0,
"gp_rank": 68,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.2727,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 12.0,
"sv_rank": 13,
"hld_value": 7.0,
"hld_rank": 67,
"ip_value": 33.0,
"ip_rank": 274,
"h_value": 23.0,
"h_rank": 337,
"er_value": 12.0,
"er_rank": 319,
"hr_value": 0.0,
"hr_rank": 614,
"bb_value": 9.0,
"bb_rank": 379,
"k_value": 44.0,
"k_rank": 174,
"k_per_9_value": 12.0,
"k_per_9_rank": 17,
"whip_value": 0.9696,
"whip_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9814,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9814,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9907,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9751,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0216,
"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": 2,
"SO": 15,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.6,
"K9": 13.5,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "656730",
"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.542,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5668,
"prior_weight": 0.4332
},
"role": "pitcher",
"player_id": "656730",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 2.0,
"SO": 15.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 143.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.5,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.3
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 33,
"totals": {
"IP": 33.0,
"ER": 8.0,
"R": 9.0,
"H": 21.0,
"BB": 9.0,
"SO": 44.0,
"HR": 0.0,
"BF": 128.0,
"Pitches": 499.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2424,
"R": 0.2727,
"H": 0.6364,
"BB": 0.2727,
"SO": 1.3333,
"HR": 0.0,
"BF": 3.8788,
"Pitches": 15.1212
},
"rates": {
"ERA": 2.1818,
"WHIP": 0.9091,
"ER_per_IP": 0.24242,
"H_per_IP": 0.63636,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.243,
"predicted_H": 0.672,
"predicted_BB": 0.277,
"predicted_SO": 1.168,
"predicted_HR": 0.064,
"predicted_ERA": 2.1875,
"predicted_WHIP": 0.9482
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.533,
"form_weight": 0.467,
"form_reliability": 0.5668,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.542,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5668,
"prior_weight": 0.4332
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.243,
"final": 0.1135,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.672,
"final": 0.3138,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.277,
"final": 0.1294,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.168,
"final": 1.0785,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.064,
"final": 0.0299,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1875,
"final": 2.1875,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9482,
"final": 0.9482,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Aaron Ashby |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4221 |
| ESPN Rank | 156 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.1558 |
| Season WHIP | 1.3442 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 94,
"wins": 57,
"losses": 37,
"win_pct": 0.6064,
"runs_scored": 477.0,
"runs_allowed": 343.0,
"run_differential": 134.0,
"run_differential_per_game": 1.4255,
"avg_runs_scored": 5.0745,
"avg_runs_allowed": 3.6489,
"offense_index": 1.1212,
"defense_index": 1.2403,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 3.1,
"run_differential": 15.0
},
"available": true,
"quality_score": 0.3687
},
"opponent": {
"team": "CIN",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 390.0,
"runs_allowed": 466.0,
"run_differential": -76.0,
"run_differential_per_game": -0.8085,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.9574,
"offense_index": 0.9167,
"defense_index": 0.9129,
"current_streak": "L4",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 4.7,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2225
},
"edges": {
"quality_edge": 0.5912,
"offense_edge": 0.1212,
"opponent_offense_edge": -0.0833,
"defense_strength": 0.2403,
"opponent_defense_weakness": 0.0871,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0342,
"run_prevention": 0.9331,
"strikeout": 1.0244
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676879",
"profile": {
"available": true,
"pitcher_id": "676879",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 146.0,
"k_percent": 31.7,
"bb_percent": 11.8,
"woba": 0.293,
"xwoba": 0.268,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 40.7,
"avg_best_speed": 75.2411,
"avg_hyper_speed": 94.3522,
"whiff_percent": 31.9,
"swing_percent": 40.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8043,
"command_and_miss": 0.7732,
"regression_edge": 0.7143,
"xwoba_edge": 1.2714,
"barrel_edge": 0.7333,
"hard_hit_edge": -0.3429,
"whiff_edge": 0.9143,
"bb_edge": -0.675,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676879",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4221,
"sample_weight": 0.584,
"run_prevention_factor": 0.9641,
"strikeout_factor": 1.0519,
"walk_factor": 1.0315,
"homer_factor": 0.9515,
"woba_minus_xwoba": 0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676879",
"espn_id": 41325,
"player_name": "Aaron Ashby",
"team": "MIL",
"role": "pitcher",
"espn_rank": 156,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 156,
"gp_value": 40.0,
"gp_rank": 10,
"gs_value": 1.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.1558,
"era_rank": null,
"w_value": 12.0,
"w_rank": 1,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 4.0,
"hld_rank": 138,
"ip_value": 51.1,
"ip_rank": 151,
"h_value": 43.0,
"h_rank": 160,
"er_value": 18.0,
"er_rank": 205,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 26.0,
"bb_rank": 79,
"k_value": 70.0,
"k_rank": 79,
"k_per_9_value": 12.272727,
"k_per_9_rank": 14,
"whip_value": 1.3441,
"whip_rank": null,
"war_value": 0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.979,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.979,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0184,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9717,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0303,
"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": 6,
"BB": 6,
"SO": 14,
"HR": 1,
"ERA": 4.35483870967742,
"WHIP": 1.1612903225806452,
"K9": 12.193548387096776,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "676879",
"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": 10.176,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6705,
"prior_weight": 0.3295
},
"role": "pitcher",
"player_id": "676879",
"report_date": "20260702_C",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 4.0,
"SO": 6.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.8,
"SO": 1.2,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.6
},
"rates": {
"ERA": 3.6,
"WHIP": 1.4,
"ER_per_IP": 0.4,
"H_per_IP": 0.6,
"BB_per_IP": 0.8,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 6.0,
"SO": 14.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 178.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.6,
"BB": 0.6,
"SO": 1.4,
"HR": 0.1,
"BF": 4.4,
"Pitches": 17.8
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.1613,
"ER_per_IP": 0.48387,
"H_per_IP": 0.58065,
"BB_per_IP": 0.58065,
"SO_per_IP": 1.35484,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 40,
"totals": {
"IP": 51.1,
"ER": 18.0,
"R": 22.0,
"H": 43.0,
"BB": 26.0,
"SO": 70.0,
"HR": 4.0,
"BF": 221.0,
"Pitches": 886.0
},
"per_game": {
"IP": 1.1,
"ER": 0.45,
"R": 0.55,
"H": 1.075,
"BB": 0.65,
"SO": 1.75,
"HR": 0.1,
"BF": 5.525,
"Pitches": 22.15
},
"rates": {
"ERA": 3.1558,
"WHIP": 1.3442,
"ER_per_IP": 0.35065,
"H_per_IP": 0.83766,
"BB_per_IP": 0.50649,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.07792
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.367,
"predicted_H": 0.617,
"predicted_BB": 0.465,
"predicted_SO": 0.971,
"predicted_HR": 0.067,
"predicted_ERA": 4.0071,
"predicted_WHIP": 1.3111
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4892,
"form_weight": 0.5108,
"form_reliability": 0.6705,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.176,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6705,
"prior_weight": 0.3295
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.367,
"final": 0.6767,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.617,
"final": 1.2936,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.465,
"final": 0.2375,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.971,
"final": 0.9852,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0342,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0071,
"final": 4.0071,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3111,
"final": 1.3111,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_AB | 4.370 | 3.000 | 4.000 | Hitting_AB | 3.919 | 4.000 | -0.919 | -1.000 |
| predicted_AVG | 0.227 | 0.000 | 0.250 | Hitting_AVG | 0.280 | 0.000 | -0.280 | 0.000 |
| predicted_BB | 0.440 | 1.000 | 0.000 | Hitting_BB | 0.398 | 1.000 | 0.602 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.098 | 0.000 | -1.098 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.313 | 0.250 | 0.250 | Hitting_OBP | 0.348 | 0.200 | -0.098 | 0.050 |
| predicted_R | 0.720 | 1.000 | 1.000 | Hitting_R | 0.691 | 0.000 | 0.309 | 1.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.561 | 0.000 | -0.561 | 0.000 |
| predicted_SLG | 0.440 | 0.000 | 0.250 | Hitting_SLG | 0.463 | 0.000 | -0.463 | 0.000 |
| predicted_SO | 1.280 | 1.000 | 1.000 | Hitting_SO | 1.154 | 3.000 | -0.154 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.4400 -> 1.0000 (boost 0.5600, better) |
| Biggest Deboost | predicted_AB: 4.3700 -> 3.0000 (deboost -1.3700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.3700 -> 4.0929 (deboost -0.2771, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 3 | 1 | 3 | 1 | predicted_R: 0.6599 -> 0.7273 (boost 0.0674, better) | predicted_SLG: 0.4027 -> 0.3667 (deboost -0.0360, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_RBI: 0.5089 -> 0.0000 (deboost -0.5089, worse) | AB rounded to 4 (raw=4.37), rates preserved: AVG=0.228 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7273 -> 1.0000 (boost 0.2727, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2435 -> 0.2500 (boost 0.0065, better) | predicted_SLG: 0.3667 -> 0.2500 (deboost -0.1167, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3667 (boost 0.1167, better) | predicted_AVG: 0.2500 -> 0.2435 (deboost -0.0065, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592885",
"player_name": "Christian Yelich",
"position": "DH",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.02,
"predicted_AB": 4.37,
"predicted_AVG": 0.227,
"predicted_BB": 0.44,
"predicted_H": 0.99,
"predicted_HR": 0.1,
"predicted_OBP": 0.313,
"predicted_R": 0.72,
"predicted_RBI": 0.48,
"predicted_SLG": 0.44,
"predicted_SO": 1.28
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1996,
"predicted_3B": 0.0167,
"predicted_AB": 4.0929,
"predicted_AVG": 0.2309,
"predicted_BB": 0.4338,
"predicted_H": 0.9423,
"predicted_HBP": 0.042,
"predicted_HR": 0.0859,
"predicted_OBP": 0.3166,
"predicted_R": 0.6599,
"predicted_RBI": 0.4618,
"predicted_SLG": 0.4027,
"predicted_SO": 1.3074
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1996,
"delta": -0.0004,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0167,
"delta": -0.0033,
"percent_delta": -0.165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.37,
"after": 4.0929,
"delta": -0.2771,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2309,
"delta": 0.0039,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 0.4338,
"delta": -0.0062,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9423,
"delta": -0.0477,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0859,
"delta": -0.0141,
"percent_delta": -0.141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3166,
"delta": 0.0036,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.72,
"after": 0.6599,
"delta": -0.0601,
"percent_delta": -0.0835,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4618,
"delta": -0.0182,
"percent_delta": -0.0379,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4027,
"delta": -0.0373,
"percent_delta": -0.0848,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.28,
"after": 1.3074,
"delta": 0.0274,
"percent_delta": 0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.37,
"after": 4.0929,
"delta": -0.2771,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1996,
"predicted_3B": 0.0167,
"predicted_AB": 4.0929,
"predicted_AVG": 0.2435,
"predicted_BB": 0.4436,
"predicted_H": 0.9967,
"predicted_HBP": 0.042,
"predicted_HR": 0.0904,
"predicted_OBP": 0.3175,
"predicted_R": 0.7273,
"predicted_RBI": 0.5089,
"predicted_SLG": 0.3667,
"predicted_SO": 1.2779
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1996,
"after": 0.1996,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0167,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0929,
"after": 4.0929,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.2435,
"delta": 0.0126,
"percent_delta": 0.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4338,
"after": 0.4436,
"delta": 0.0098,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9423,
"after": 0.9967,
"delta": 0.0544,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0859,
"after": 0.0904,
"delta": 0.0045,
"percent_delta": 0.0524,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3166,
"after": 0.3175,
"delta": 0.0009,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6599,
"after": 0.7273,
"delta": 0.0674,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4618,
"after": 0.5089,
"delta": 0.0471,
"percent_delta": 0.102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4027,
"after": 0.3667,
"delta": -0.036,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3074,
"after": 1.2779,
"delta": -0.0295,
"percent_delta": -0.0226,
"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.6599,
"after": 0.7273,
"delta": 0.0674,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4027,
"after": 0.3667,
"delta": -0.036,
"percent_delta": -0.0894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.37), rates preserved: AVG=0.228 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.1996,
"after": 0.0,
"delta": -0.1996,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0167,
"after": 0.0,
"delta": -0.0167,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0929,
"after": 4.0,
"delta": -0.0929,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4436,
"after": 0.0,
"delta": -0.4436,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9967,
"after": 1.0,
"delta": 0.0033,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0904,
"after": 0.0,
"delta": -0.0904,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5089,
"after": 0.0,
"delta": -0.5089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2779,
"after": 1.0,
"delta": -0.2779,
"percent_delta": -0.2175,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5089,
"after": 0.0,
"delta": -0.5089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.7273,
"after": 1.0,
"delta": 0.2727,
"percent_delta": 0.3749,
"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.7273,
"after": 1.0,
"delta": 0.2727,
"percent_delta": 0.3749,
"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.2435,
"after": 0.25,
"delta": 0.0065,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3175,
"after": 0.25,
"delta": -0.0675,
"percent_delta": -0.2126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3667,
"after": 0.25,
"delta": -0.1167,
"percent_delta": -0.3182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2435,
"after": 0.25,
"delta": 0.0065,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3667,
"after": 0.25,
"delta": -0.1167,
"percent_delta": -0.3182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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.2435,
"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.3175,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3667,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2435,
"delta": -0.0065,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3175,
"delta": 0.0675,
"percent_delta": 0.2699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3667,
"delta": 0.1167,
"percent_delta": 0.4669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3667,
"delta": 0.1167,
"percent_delta": 0.4669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2435,
"delta": -0.0065,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "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.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.37,
"after": 3.0,
"delta": -1.37,
"percent_delta": -0.3135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2435,
"delta": 0.0165,
"percent_delta": 0.0727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3175,
"delta": 0.0045,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.3667,
"delta": -0.0733,
"percent_delta": -0.1666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.28,
"after": 1.0,
"delta": -0.28,
"percent_delta": -0.2188,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.37,
"after": 3.0,
"delta": -1.37,
"percent_delta": -0.3135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.370 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.440 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.720 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 1.280 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | -0.000 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 4.093 | -0.277 |
| predicted_AVG | 0.231 | 0.004 |
| predicted_BB | 0.434 | -0.006 |
| predicted_H | 0.942 | -0.048 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.086 | -0.014 |
| predicted_OBP | 0.317 | 0.004 |
| predicted_R | 0.660 | -0.060 |
| predicted_RBI | 0.462 | -0.018 |
| predicted_SLG | 0.403 | -0.037 |
| predicted_SO | 1.307 | 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.200 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 4.093 | 0.000 |
| predicted_AVG | 0.243 | 0.013 |
| predicted_BB | 0.444 | 0.010 |
| predicted_H | 0.997 | 0.054 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.090 | 0.004 |
| predicted_OBP | 0.318 | 0.001 |
| predicted_R | 0.727 | 0.067 |
| predicted_RBI | 0.509 | 0.047 |
| predicted_SLG | 0.367 | -0.036 |
| predicted_SO | 1.278 | -0.029 |
AB rounded to 4 (raw=4.37), rates preserved: AVG=0.228 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 | 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.200 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | -0.093 |
| predicted_AVG | 0.250 | 0.007 |
| predicted_BB | 0.000 | -0.444 |
| predicted_H | 1.000 | 0.003 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.250 | -0.068 |
| predicted_R | 1.000 | 0.273 |
| predicted_RBI | 0.000 | -0.509 |
| predicted_SLG | 0.250 | -0.117 |
| predicted_SO | 1.000 | -0.278 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 16.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 9.000 | 0.2500 | 0.3333 | 0.3125 | 0.2500 | 0.0000 | 0.1250 | 0.1250 | 0.5625 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 2.000 | 0.000 | 0.000 | 2.000 | 4.000 | 5.000 | 13.000 | 0.1667 | 0.2857 | 0.2222 | 0.1667 | 0.0000 | 0.0556 | 0.1389 | 0.3611 |
| season | 0.60 | 50 | - | 194.000 | 49.000 | 10.000 | 1.000 | 5.000 | 26.000 | 36.000 | 22.000 | 64.000 | 0.2526 | 0.3333 | 0.3918 | 0.2526 | 0.0258 | 0.1340 | 0.1134 | 0.3299 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1990 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.7020 |
| predicted_AVG | 0.2364 |
| predicted_BB | 0.4250 |
| predicted_H | 0.8750 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.3216 |
| predicted_R | 0.5750 |
| predicted_RBI | 0.4360 |
| predicted_SLG | 0.3500 |
| predicted_SO | 1.3460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1990 | 0.1996 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0167 | model_form_blend |
| predicted_AB | 4.3700 | 3.7020 | 4.0929 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2364 | 0.2309 | model_form_blend |
| predicted_BB | 0.4400 | 0.4250 | 0.4338 | model_form_blend |
| predicted_H | 0.9900 | 0.8750 | 0.9423 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.1000 | 0.0660 | 0.0859 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3216 | 0.3166 | model_form_blend |
| predicted_R | 0.7200 | 0.5750 | 0.6599 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4360 | 0.4618 | model_form_blend |
| predicted_SLG | 0.4400 | 0.3500 | 0.4027 | model_form_blend |
| predicted_SO | 1.2800 | 1.3460 | 1.3074 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.253 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260630_CIN@MIL |
| game_type | full |
| mlbID | 592885 |
| playerID | 592885 |
| playerName | Christian Yelich |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-30 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.32 |
| sl_xwoba | 0.293 |
| sl_xba | 0.221 |
| sl_xslg | 0.361 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 41.0 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 3.4 |
| sl_whiff_percent | 32.3 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.280 | 0.000 | 0.000 | Hitting_2B | 0.345 | 0.000 | -0.345 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.680 | 4.000 | 5.000 | Hitting_AB | 4.319 | 3.000 | -0.319 | 1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.200 | Hitting_AVG | 0.288 | 0.333 | -0.288 | -0.333 |
| predicted_BB | 0.380 | 0.000 | 0.000 | Hitting_BB | 0.319 | 2.000 | -0.319 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 1.130 | 0.000 | 1.000 | Hitting_H | 1.244 | 1.000 | -1.244 | -1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.338 | 0.000 | 0.200 | Hitting_OBP | 0.338 | 0.600 | -0.338 | -0.600 |
| predicted_R | 0.700 | 0.000 | 1.000 | Hitting_R | 0.571 | 1.000 | -0.571 | -1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_SLG | 0.550 | 0.000 | 0.200 | Hitting_SLG | 0.455 | 0.333 | -0.455 | -0.333 |
| predicted_SO | 1.120 | 1.000 | 1.000 | Hitting_SO | 1.303 | 0.000 | -0.303 | 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_AVG: 0.2410 -> 0.2705 (boost 0.0295, better) |
| Biggest Deboost | predicted_H: 1.1300 -> 0.0000 (deboost -1.1300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_BB: 0.3800 -> 0.4329 (boost 0.0529, better) | predicted_AB: 4.6800 -> 4.4449 (deboost -0.2351, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 4 | 2 | 4 | 2 | predicted_R: 0.6754 -> 0.7444 (boost 0.0690, better) | predicted_SLG: 0.5339 -> 0.4961 (deboost -0.0378, 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.4449 -> 5.0000 (boost 0.5551, better) | predicted_BB: 0.4427 -> 0.0000 (deboost -0.4427, worse) | AB rounded to 5 (raw=4.68), rates preserved: AVG=0.257 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7444 -> 1.0000 (boost 0.2556, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4961 -> 0.2000 (deboost -0.2961, 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.4961 (boost 0.2961, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.28,
"predicted_3B": 0.0,
"predicted_AB": 4.68,
"predicted_AVG": 0.241,
"predicted_BB": 0.38,
"predicted_H": 1.13,
"predicted_HR": 0.23,
"predicted_OBP": 0.338,
"predicted_R": 0.7,
"predicted_RBI": 0.58,
"predicted_SLG": 0.55,
"predicted_SO": 1.12
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2471,
"predicted_3B": 0.0008,
"predicted_AB": 4.4449,
"predicted_AVG": 0.2566,
"predicted_BB": 0.4329,
"predicted_H": 1.1367,
"predicted_HBP": 0.014,
"predicted_HR": 0.2388,
"predicted_OBP": 0.3462,
"predicted_R": 0.6754,
"predicted_RBI": 0.5813,
"predicted_SLG": 0.5339,
"predicted_SO": 1.1196
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.28,
"after": 0.2471,
"delta": -0.0329,
"percent_delta": -0.1175,
"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.68,
"after": 4.4449,
"delta": -0.2351,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2566,
"delta": 0.0156,
"percent_delta": 0.0647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.38,
"after": 0.4329,
"delta": 0.0529,
"percent_delta": 0.1392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.1367,
"delta": 0.0067,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2388,
"delta": 0.0088,
"percent_delta": 0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3462,
"delta": 0.0082,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7,
"after": 0.6754,
"delta": -0.0246,
"percent_delta": -0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5813,
"delta": 0.0013,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.55,
"after": 0.5339,
"delta": -0.0161,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.12,
"after": 1.1196,
"delta": -0.0004,
"percent_delta": -0.0004,
"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_BB",
"before": 0.38,
"after": 0.4329,
"delta": 0.0529,
"percent_delta": 0.1392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.68,
"after": 4.4449,
"delta": -0.2351,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.2471,
"predicted_3B": 0.0008,
"predicted_AB": 4.4449,
"predicted_AVG": 0.2705,
"predicted_BB": 0.4427,
"predicted_H": 1.2023,
"predicted_HBP": 0.014,
"predicted_HR": 0.2514,
"predicted_OBP": 0.3366,
"predicted_R": 0.7444,
"predicted_RBI": 0.6407,
"predicted_SLG": 0.4961,
"predicted_SO": 1.0943
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2471,
"after": 0.2471,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4449,
"after": 4.4449,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2566,
"after": 0.2705,
"delta": 0.0139,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4329,
"after": 0.4427,
"delta": 0.0098,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1367,
"after": 1.2023,
"delta": 0.0656,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.2388,
"after": 0.2514,
"delta": 0.0126,
"percent_delta": 0.0528,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3462,
"after": 0.3366,
"delta": -0.0096,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6754,
"after": 0.7444,
"delta": 0.069,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5813,
"after": 0.6407,
"delta": 0.0594,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5339,
"after": 0.4961,
"delta": -0.0378,
"percent_delta": -0.0708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1196,
"after": 1.0943,
"delta": -0.0253,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6754,
"after": 0.7444,
"delta": 0.069,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5339,
"after": 0.4961,
"delta": -0.0378,
"percent_delta": -0.0708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.68), rates preserved: AVG=0.257 HR/AB=0.054",
"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.2471,
"after": 0.0,
"delta": -0.2471,
"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.4449,
"after": 5.0,
"delta": 0.5551,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4427,
"after": 0.0,
"delta": -0.4427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2023,
"after": 1.0,
"delta": -0.2023,
"percent_delta": -0.1683,
"direction": "deboost",
"projection_effect": "worse",
"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.2514,
"after": 0.0,
"delta": -0.2514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6407,
"after": 1.0,
"delta": 0.3593,
"percent_delta": 0.5608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0943,
"after": 1.0,
"delta": -0.0943,
"percent_delta": -0.0862,
"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.4449,
"after": 5.0,
"delta": 0.5551,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4427,
"after": 0.0,
"delta": -0.4427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.7444,
"after": 1.0,
"delta": 0.2556,
"percent_delta": 0.3434,
"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.7444,
"after": 1.0,
"delta": 0.2556,
"percent_delta": 0.3434,
"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.2705,
"after": 0.2,
"delta": -0.0705,
"percent_delta": -0.2606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3366,
"after": 0.2,
"delta": -0.1366,
"percent_delta": -0.4058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4961,
"after": 0.2,
"delta": -0.2961,
"percent_delta": -0.5969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4961,
"after": 0.2,
"delta": -0.2961,
"percent_delta": -0.5969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2705,
"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.3366,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4961,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2705,
"delta": 0.0705,
"percent_delta": 0.3524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3366,
"delta": 0.1366,
"percent_delta": 0.6828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4961,
"delta": 0.2961,
"percent_delta": 1.4806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4961,
"delta": 0.2961,
"percent_delta": 1.4806,
"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.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.68,
"after": 4.0,
"delta": -0.68,
"percent_delta": -0.1453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2705,
"delta": 0.0295,
"percent_delta": 0.1224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"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.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3366,
"delta": -0.0014,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.55,
"after": 0.4961,
"delta": -0.0539,
"percent_delta": -0.098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.12,
"after": 1.0,
"delta": -0.12,
"percent_delta": -0.1071,
"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.241,
"after": 0.2705,
"delta": 0.0295,
"percent_delta": 0.1224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.13,
"after": 0.0,
"delta": -1.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.280 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.680 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.380 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.700 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.550 | - |
| predicted_SO | 1.120 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.033 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.445 | -0.235 |
| predicted_AVG | 0.257 | 0.016 |
| predicted_BB | 0.433 | 0.053 |
| predicted_H | 1.137 | 0.007 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.239 | 0.009 |
| predicted_OBP | 0.346 | 0.008 |
| predicted_R | 0.675 | -0.025 |
| predicted_RBI | 0.581 | 0.001 |
| predicted_SLG | 0.534 | -0.016 |
| predicted_SO | 1.120 | -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.247 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.445 | 0.000 |
| predicted_AVG | 0.271 | 0.014 |
| predicted_BB | 0.443 | 0.010 |
| predicted_H | 1.202 | 0.066 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.251 | 0.013 |
| predicted_OBP | 0.337 | -0.010 |
| predicted_R | 0.744 | 0.069 |
| predicted_RBI | 0.641 | 0.059 |
| predicted_SLG | 0.496 | -0.038 |
| predicted_SO | 1.094 | -0.025 |
AB rounded to 5 (raw=4.68), rates preserved: AVG=0.257 HR/AB=0.054
| 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.247 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.555 |
| predicted_AVG | 0.200 | -0.071 |
| predicted_BB | 0.000 | -0.443 |
| predicted_H | 1.000 | -0.202 |
| predicted_HR | 0.000 | -0.251 |
| predicted_OBP | 0.200 | -0.137 |
| predicted_R | 1.000 | 0.256 |
| predicted_RBI | 1.000 | 0.359 |
| predicted_SLG | 0.200 | -0.296 |
| predicted_SO | 1.000 | -0.094 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 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 | 5.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 5.000 | 6.000 | 0.2632 | 0.4167 | 0.5789 | 0.2632 | 0.1053 | 0.1579 | 0.2632 | 0.3158 |
| last_10 | 0.20 | 10 | - | 42.000 | 11.000 | 2.000 | 0.000 | 2.000 | 4.000 | 6.000 | 5.000 | 12.000 | 0.2619 | 0.3404 | 0.4524 | 0.2619 | 0.0476 | 0.0952 | 0.1191 | 0.2857 |
| season | 0.60 | 50 | - | 213.000 | 63.000 | 14.000 | 0.000 | 12.000 | 33.000 | 35.000 | 19.000 | 56.000 | 0.2958 | 0.3547 | 0.5305 | 0.2958 | 0.0563 | 0.1549 | 0.0892 | 0.2629 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.1160 |
| predicted_AVG | 0.2785 |
| predicted_BB | 0.5070 |
| predicted_H | 1.1460 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.2510 |
| predicted_OBP | 0.3576 |
| predicted_R | 0.6410 |
| predicted_RBI | 0.5830 |
| predicted_SLG | 0.5114 |
| predicted_SO | 1.1190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2800 | 0.2010 | 0.2471 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.6800 | 4.1160 | 4.4449 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2785 | 0.2566 | model_form_blend |
| predicted_BB | 0.3800 | 0.5070 | 0.4329 | model_form_blend |
| predicted_H | 1.1300 | 1.1460 | 1.1367 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.2300 | 0.2510 | 0.2388 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3576 | 0.3462 | model_form_blend |
| predicted_R | 0.7000 | 0.6410 | 0.6754 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5830 | 0.5813 | model_form_blend |
| predicted_SLG | 0.5500 | 0.5114 | 0.5339 | model_form_blend |
| predicted_SO | 1.1200 | 1.1190 | 1.1196 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 119 |
| Season rows before report date | 119 |
| Report year | 2026 |
| Profile rows used | 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 | 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 | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 694192 |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.38 |
| sl_xwoba | 0.341 |
| sl_xba | 0.255 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 14.1 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 92.4 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 22.8 |
| 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.215 | 0.000 | 0.000 | Hitting_2B | 0.211 | 1.000 | -0.211 | -1.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 4.120 | 4.000 | 4.000 | Hitting_AB | 3.793 | 4.000 | 0.207 | 0.000 |
| predicted_AVG | 0.239 | 0.250 | 0.250 | Hitting_AVG | 0.281 | 0.250 | -0.031 | 0.000 |
| predicted_BB | 0.620 | 0.000 | 1.000 | Hitting_BB | 0.727 | 1.000 | -0.727 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 0.990 | 1.000 | 1.000 | Hitting_H | 1.066 | 1.000 | -0.066 | 0.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.152 | 0.000 | 0.848 | 1.000 |
| predicted_OBP | 0.319 | 0.250 | 0.400 | Hitting_OBP | 0.394 | 0.400 | -0.144 | -0.150 |
| predicted_R | 0.759 | 1.000 | 1.000 | Hitting_R | 0.887 | 1.000 | 0.113 | 0.000 |
| predicted_RBI | 0.460 | 1.000 | 0.000 | Hitting_RBI | 0.652 | 0.000 | 0.348 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_SLG | 0.504 | 1.000 | 0.250 | Hitting_SLG | 0.480 | 0.500 | 0.520 | 0.500 |
| predicted_SO | 1.165 | 0.000 | 1.000 | Hitting_SO | 1.074 | 0.000 | -1.074 | 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_HR: 0.1500 -> 1.0000 (boost 0.8500, better) |
| Biggest Deboost | predicted_SO: 1.1650 -> 0.0000 (deboost -1.1650, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2390 -> 0.2483 (boost 0.0093, better) | predicted_BB: 0.6200 -> 0.5405 (deboost -0.0795, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 4 | 1 | 4 | 1 | predicted_R: 0.7064 -> 0.7785 (boost 0.0721, better) | predicted_SLG: 0.4780 -> 0.4500 (deboost -0.0280, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_BB: 0.5527 -> 1.0000 (boost 0.4473, better) | predicted_RBI: 0.5074 -> 0.0000 (deboost -0.5074, worse) | AB rounded to 4 (raw=4.12), rates preserved: AVG=0.262 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7785 -> 1.0000 (boost 0.2215, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3511 -> 0.4000 (boost 0.0489, better) | predicted_SLG: 0.4500 -> 0.2500 (deboost -0.2000, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4500 (boost 0.2000, better) | predicted_OBP: 0.4000 -> 0.3511 (deboost -0.0489, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668930",
"player_name": "Brice Turang",
"position": "2B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.215,
"predicted_3B": 0.038,
"predicted_AB": 4.12,
"predicted_AVG": 0.239,
"predicted_BB": 0.62,
"predicted_H": 0.99,
"predicted_HR": 0.15,
"predicted_OBP": 0.319,
"predicted_R": 0.759,
"predicted_RBI": 0.46,
"predicted_SLG": 0.504,
"predicted_SO": 1.165
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.0389,
"predicted_AB": 4.0922,
"predicted_AVG": 0.2483,
"predicted_BB": 0.5405,
"predicted_H": 1.0191,
"predicted_HBP": 0.003,
"predicted_HR": 0.15,
"predicted_OBP": 0.3235,
"predicted_R": 0.7064,
"predicted_RBI": 0.4604,
"predicted_SLG": 0.478,
"predicted_SO": 1.1607
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.212,
"delta": -0.003,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0389,
"delta": 0.0009,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0922,
"delta": -0.0278,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2483,
"delta": 0.0093,
"percent_delta": 0.0389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.62,
"after": 0.5405,
"delta": -0.0795,
"percent_delta": -0.1282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0191,
"delta": 0.0291,
"percent_delta": 0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.15,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3235,
"delta": 0.0045,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.759,
"after": 0.7064,
"delta": -0.0526,
"percent_delta": -0.0693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4604,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.478,
"delta": -0.026,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.165,
"after": 1.1607,
"delta": -0.0043,
"percent_delta": -0.0037,
"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.239,
"after": 0.2483,
"delta": 0.0093,
"percent_delta": 0.0389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.62,
"after": 0.5405,
"delta": -0.0795,
"percent_delta": -0.1282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.0389,
"predicted_AB": 4.0922,
"predicted_AVG": 0.2634,
"predicted_BB": 0.5527,
"predicted_H": 1.0779,
"predicted_HBP": 0.003,
"predicted_HR": 0.1579,
"predicted_OBP": 0.3511,
"predicted_R": 0.7785,
"predicted_RBI": 0.5074,
"predicted_SLG": 0.45,
"predicted_SO": 1.1345
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0389,
"after": 0.0389,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0922,
"after": 4.0922,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2483,
"after": 0.2634,
"delta": 0.0151,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5405,
"after": 0.5527,
"delta": 0.0122,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0191,
"after": 1.0779,
"delta": 0.0588,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1579,
"delta": 0.0079,
"percent_delta": 0.0527,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3235,
"after": 0.3511,
"delta": 0.0276,
"percent_delta": 0.0853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7064,
"after": 0.7785,
"delta": 0.0721,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4604,
"after": 0.5074,
"delta": 0.047,
"percent_delta": 0.1021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.45,
"delta": -0.028,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1607,
"after": 1.1345,
"delta": -0.0262,
"percent_delta": -0.0226,
"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.7064,
"after": 0.7785,
"delta": 0.0721,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.45,
"delta": -0.028,
"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.12), rates preserved: AVG=0.262 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"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.0389,
"after": 0.0,
"delta": -0.0389,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0922,
"after": 4.0,
"delta": -0.0922,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5527,
"after": 1.0,
"delta": 0.4473,
"percent_delta": 0.8093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0779,
"after": 1.0,
"delta": -0.0779,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1579,
"after": 0.0,
"delta": -0.1579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5074,
"after": 0.0,
"delta": -0.5074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1345,
"after": 1.0,
"delta": -0.1345,
"percent_delta": -0.1186,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5527,
"after": 1.0,
"delta": 0.4473,
"percent_delta": 0.8093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5074,
"after": 0.0,
"delta": -0.5074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.7785,
"after": 1.0,
"delta": 0.2215,
"percent_delta": 0.2845,
"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.7785,
"after": 1.0,
"delta": 0.2215,
"percent_delta": 0.2845,
"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.2634,
"after": 0.25,
"delta": -0.0134,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3511,
"after": 0.4,
"delta": 0.0489,
"percent_delta": 0.1393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.45,
"after": 0.25,
"delta": -0.2,
"percent_delta": -0.4444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3511,
"after": 0.4,
"delta": 0.0489,
"percent_delta": 0.1393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.25,
"delta": -0.2,
"percent_delta": -0.4444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"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.2634,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3511,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.45,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2634,
"delta": 0.0134,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3511,
"delta": -0.0489,
"percent_delta": -0.1224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.45,
"delta": 0.2,
"percent_delta": 0.8,
"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.45,
"delta": 0.2,
"percent_delta": 0.8,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3511,
"delta": -0.0489,
"percent_delta": -0.1224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.0,
"delta": -0.215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0,
"delta": -0.12,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2634,
"delta": 0.0244,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3511,
"delta": 0.0321,
"percent_delta": 0.1006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.759,
"after": 1.0,
"delta": 0.241,
"percent_delta": 0.3175,
"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.504,
"after": 0.45,
"delta": -0.054,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.165,
"after": 0.0,
"delta": -1.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"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_SO",
"before": 1.165,
"after": 0.0,
"delta": -1.165,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.215 | - |
| predicted_3B | 0.038 | - |
| predicted_AB | 4.120 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.620 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.759 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.504 | - |
| predicted_SO | 1.165 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | -0.003 |
| predicted_3B | 0.039 | 0.001 |
| predicted_AB | 4.092 | -0.028 |
| predicted_AVG | 0.248 | 0.009 |
| predicted_BB | 0.540 | -0.080 |
| predicted_H | 1.019 | 0.029 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.150 | 0.000 |
| predicted_OBP | 0.324 | 0.005 |
| predicted_R | 0.706 | -0.053 |
| predicted_RBI | 0.460 | 0.000 |
| predicted_SLG | 0.478 | -0.026 |
| predicted_SO | 1.161 | -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.212 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 4.092 | 0.000 |
| predicted_AVG | 0.263 | 0.015 |
| predicted_BB | 0.553 | 0.012 |
| predicted_H | 1.078 | 0.059 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.158 | 0.008 |
| predicted_OBP | 0.351 | 0.028 |
| predicted_R | 0.778 | 0.072 |
| predicted_RBI | 0.507 | 0.047 |
| predicted_SLG | 0.450 | -0.028 |
| predicted_SO | 1.135 | -0.026 |
AB rounded to 4 (raw=4.12), rates preserved: AVG=0.262 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 | 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.212 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 4.000 | -0.092 |
| predicted_AVG | 0.250 | -0.013 |
| predicted_BB | 1.000 | 0.447 |
| predicted_H | 1.000 | -0.078 |
| predicted_HR | 0.000 | -0.158 |
| predicted_OBP | 0.400 | 0.049 |
| predicted_R | 1.000 | 0.222 |
| predicted_RBI | 0.000 | -0.507 |
| predicted_SLG | 0.250 | -0.200 |
| predicted_SO | 1.000 | -0.135 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 5.000 | 0.2727 | 0.3043 | 0.4545 | 0.2727 | 0.0454 | 0.0454 | 0.0454 | 0.2273 |
| last_10 | 0.20 | 10 | - | 44.000 | 11.000 | 2.000 | 1.000 | 1.000 | 2.000 | 5.000 | 1.000 | 14.000 | 0.2500 | 0.2667 | 0.4091 | 0.2500 | 0.0227 | 0.0454 | 0.0227 | 0.3182 |
| season | 0.60 | 79 | - | 305.000 | 80.000 | 17.000 | 3.000 | 12.000 | 48.000 | 60.000 | 49.000 | 92.000 | 0.2623 | 0.3624 | 0.4557 | 0.2623 | 0.0393 | 0.1574 | 0.1607 | 0.3016 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2080 |
| predicted_3B | 0.0400 |
| predicted_AB | 4.0550 |
| predicted_AVG | 0.2608 |
| predicted_BB | 0.4340 |
| predicted_H | 1.0580 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1500 |
| predicted_OBP | 0.3296 |
| predicted_R | 0.6360 |
| predicted_RBI | 0.4610 |
| predicted_SLG | 0.4432 |
| predicted_SO | 1.1550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2150 | 0.2080 | 0.2120 | model_form_blend |
| predicted_3B | 0.0380 | 0.0400 | 0.0389 | model_form_blend |
| predicted_AB | 4.1200 | 4.0550 | 4.0922 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2608 | 0.2483 | model_form_blend |
| predicted_BB | 0.6200 | 0.4340 | 0.5405 | model_form_blend |
| predicted_H | 0.9900 | 1.0580 | 1.0191 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1500 | 0.1500 | 0.1500 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3296 | 0.3235 | model_form_blend |
| predicted_R | 0.7590 | 0.6360 | 0.7064 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4610 | 0.4604 | model_form_blend |
| predicted_SLG | 0.5040 | 0.4432 | 0.4780 | model_form_blend |
| predicted_SO | 1.1650 | 1.1550 | 1.1607 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 668930 |
| playerID | 668930 |
| playerName | Brice Turang |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.353 |
| sl_xwoba | 0.349 |
| sl_xba | 0.252 |
| sl_xslg | 0.444 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 7.2 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 42.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.152 | 0.000 | 0.000 | Hitting_2B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.110 | 4.000 | 4.000 | Hitting_AB | 3.992 | 4.000 | 0.008 | 0.000 |
| predicted_AVG | 0.246 | 0.000 | 0.250 | Hitting_AVG | 0.299 | 0.250 | -0.299 | -0.250 |
| predicted_BB | 0.380 | 0.000 | 0.000 | Hitting_BB | 0.437 | 0.000 | -0.437 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.010 | 0.000 | 1.000 | Hitting_H | 1.194 | 1.000 | -1.194 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.331 | 0.000 | 0.250 | Hitting_OBP | 0.370 | 0.400 | -0.370 | -0.400 |
| predicted_R | 0.595 | 0.000 | 1.000 | Hitting_R | 0.619 | 0.000 | -0.619 | 0.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.692 | 1.000 | -0.692 | -1.000 |
| predicted_SLG | 0.485 | 0.000 | 0.250 | Hitting_SLG | 0.412 | 0.250 | -0.412 | -0.250 |
| predicted_SO | 0.570 | 2.000 | 1.000 | Hitting_SO | 0.538 | 0.000 | 1.462 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.5700 -> 2.0000 (boost 1.4300, worse) |
| Biggest Deboost | predicted_H: 1.0100 -> 0.0000 (deboost -1.0100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_AVG: 0.2460 -> 0.2568 (boost 0.0108, better) | predicted_AB: 4.1100 -> 3.9198 (deboost -0.1902, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 4 | 2 | 4 | 2 | predicted_RBI: 0.5774 -> 0.6364 (boost 0.0590, better) | predicted_SLG: 0.4501 -> 0.4123 (deboost -0.0378, 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.5551 -> 1.0000 (boost 0.4449, worse) | predicted_BB: 0.3528 -> 0.0000 (deboost -0.3528, worse) | AB rounded to 4 (raw=4.11), rates preserved: AVG=0.258 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6153 -> 1.0000 (boost 0.3847, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4123 -> 0.2500 (deboost -0.1623, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 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.2500 -> 0.4123 (boost 0.1623, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.152,
"predicted_3B": 0.0,
"predicted_AB": 4.11,
"predicted_AVG": 0.246,
"predicted_BB": 0.38,
"predicted_H": 1.01,
"predicted_HR": 0.14,
"predicted_OBP": 0.331,
"predicted_R": 0.595,
"predicted_RBI": 0.58,
"predicted_SLG": 0.485,
"predicted_SO": 0.57
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1268,
"predicted_3B": 0.0004,
"predicted_AB": 3.9198,
"predicted_AVG": 0.2568,
"predicted_BB": 0.345,
"predicted_H": 1.0032,
"predicted_HBP": 0.146,
"predicted_HR": 0.1353,
"predicted_OBP": 0.3379,
"predicted_R": 0.5583,
"predicted_RBI": 0.5774,
"predicted_SLG": 0.4501,
"predicted_SO": 0.5679
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1268,
"delta": -0.0252,
"percent_delta": -0.1658,
"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.11,
"after": 3.9198,
"delta": -0.1902,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2568,
"delta": 0.0108,
"percent_delta": 0.0439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.38,
"after": 0.345,
"delta": -0.035,
"percent_delta": -0.0921,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0032,
"delta": -0.0068,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1353,
"delta": -0.0047,
"percent_delta": -0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3379,
"delta": 0.0069,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.5583,
"delta": -0.0367,
"percent_delta": -0.0617,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5774,
"delta": -0.0026,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.4501,
"delta": -0.0349,
"percent_delta": -0.072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.57,
"after": 0.5679,
"delta": -0.0021,
"percent_delta": -0.0037,
"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_AVG",
"before": 0.246,
"after": 0.2568,
"delta": 0.0108,
"percent_delta": 0.0439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.11,
"after": 3.9198,
"delta": -0.1902,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1268,
"predicted_3B": 0.0004,
"predicted_AB": 3.9198,
"predicted_AVG": 0.2707,
"predicted_BB": 0.3528,
"predicted_H": 1.0611,
"predicted_HBP": 0.146,
"predicted_HR": 0.1424,
"predicted_OBP": 0.3309,
"predicted_R": 0.6153,
"predicted_RBI": 0.6364,
"predicted_SLG": 0.4123,
"predicted_SO": 0.5551
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1268,
"after": 0.1268,
"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.9198,
"after": 3.9198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2568,
"after": 0.2707,
"delta": 0.0139,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.345,
"after": 0.3528,
"delta": 0.0078,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0032,
"after": 1.0611,
"delta": 0.0579,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.146,
"after": 0.146,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1353,
"after": 0.1424,
"delta": 0.0071,
"percent_delta": 0.0525,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3379,
"after": 0.3309,
"delta": -0.007,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5583,
"after": 0.6153,
"delta": 0.057,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5774,
"after": 0.6364,
"delta": 0.059,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4501,
"after": 0.4123,
"delta": -0.0378,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5679,
"after": 0.5551,
"delta": -0.0128,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5774,
"after": 0.6364,
"delta": 0.059,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4501,
"after": 0.4123,
"delta": -0.0378,
"percent_delta": -0.084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.11), rates preserved: AVG=0.258 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.1268,
"after": 0.0,
"delta": -0.1268,
"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.9198,
"after": 4.0,
"delta": 0.0802,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3528,
"after": 0.0,
"delta": -0.3528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0611,
"after": 1.0,
"delta": -0.0611,
"percent_delta": -0.0576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1424,
"after": 0.0,
"delta": -0.1424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6364,
"after": 1.0,
"delta": 0.3636,
"percent_delta": 0.5713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5551,
"after": 1.0,
"delta": 0.4449,
"percent_delta": 0.8015,
"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.5551,
"after": 1.0,
"delta": 0.4449,
"percent_delta": 0.8015,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3528,
"after": 0.0,
"delta": -0.3528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6153,
"after": 1.0,
"delta": 0.3847,
"percent_delta": 0.6252,
"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.6153,
"after": 1.0,
"delta": 0.3847,
"percent_delta": 0.6252,
"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.2707,
"after": 0.25,
"delta": -0.0207,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3309,
"after": 0.25,
"delta": -0.0809,
"percent_delta": -0.2445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4123,
"after": 0.25,
"delta": -0.1623,
"percent_delta": -0.3936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4123,
"after": 0.25,
"delta": -0.1623,
"percent_delta": -0.3936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 4.0,
"predicted_AVG": 0.2707,
"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.3309,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4123,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2707,
"delta": 0.0207,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3309,
"delta": 0.0809,
"percent_delta": 0.3237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4123,
"delta": 0.1623,
"percent_delta": 0.6491,
"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.4123,
"delta": 0.1623,
"percent_delta": 0.6491,
"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.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.11,
"after": 4.0,
"delta": -0.11,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2707,
"delta": 0.0247,
"percent_delta": 0.1004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3309,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.0,
"delta": -0.595,
"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.485,
"after": 0.4123,
"delta": -0.0727,
"percent_delta": -0.1499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"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.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.110 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.380 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.485 | - |
| predicted_SO | 0.570 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.127 | -0.025 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.920 | -0.190 |
| predicted_AVG | 0.257 | 0.011 |
| predicted_BB | 0.345 | -0.035 |
| predicted_H | 1.003 | -0.007 |
| predicted_HBP | 0.146 | - |
| predicted_HR | 0.135 | -0.005 |
| predicted_OBP | 0.338 | 0.007 |
| predicted_R | 0.558 | -0.037 |
| predicted_RBI | 0.577 | -0.003 |
| predicted_SLG | 0.450 | -0.035 |
| predicted_SO | 0.568 | -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.127 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.920 | 0.000 |
| predicted_AVG | 0.271 | 0.014 |
| predicted_BB | 0.353 | 0.008 |
| predicted_H | 1.061 | 0.058 |
| predicted_HBP | 0.146 | 0.000 |
| predicted_HR | 0.142 | 0.007 |
| predicted_OBP | 0.331 | -0.007 |
| predicted_R | 0.615 | 0.057 |
| predicted_RBI | 0.636 | 0.059 |
| predicted_SLG | 0.412 | -0.038 |
| predicted_SO | 0.555 | -0.013 |
AB rounded to 4 (raw=4.11), rates preserved: AVG=0.258 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.127 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.080 |
| predicted_AVG | 0.250 | -0.021 |
| predicted_BB | 0.000 | -0.353 |
| predicted_H | 1.000 | -0.061 |
| predicted_HR | 0.000 | -0.142 |
| predicted_OBP | 0.250 | -0.081 |
| predicted_R | 1.000 | 0.385 |
| predicted_RBI | 1.000 | 0.364 |
| predicted_SLG | 0.250 | -0.162 |
| predicted_SO | 1.000 | 0.445 |
Attached 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 | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 2.000 | 0.1250 | 0.2222 | 0.1250 | 0.1250 | 0.0000 | 0.0625 | 0.0000 | 0.1250 |
| last_10 | 0.20 | 10 | - | 34.000 | 12.000 | 0.000 | 0.000 | 3.000 | 8.000 | 6.000 | 4.000 | 6.000 | 0.3529 | 0.4500 | 0.6176 | 0.3529 | 0.0882 | 0.2353 | 0.1177 | 0.1765 |
| season | 0.60 | 79 | - | 307.000 | 91.000 | 12.000 | 0.000 | 9.000 | 51.000 | 47.000 | 30.000 | 45.000 | 0.2964 | 0.3605 | 0.4235 | 0.2964 | 0.0293 | 0.1661 | 0.0977 | 0.1466 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6640 |
| predicted_AVG | 0.2714 |
| predicted_BB | 0.2980 |
| predicted_H | 0.9940 |
| predicted_HBP | 0.1460 |
| predicted_HR | 0.1290 |
| predicted_OBP | 0.3471 |
| predicted_R | 0.5090 |
| predicted_RBI | 0.5740 |
| predicted_SLG | 0.4031 |
| predicted_SO | 0.5650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.0930 | 0.1268 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1100 | 3.6640 | 3.9198 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2714 | 0.2568 | model_form_blend |
| predicted_BB | 0.3800 | 0.2980 | 0.3450 | model_form_blend |
| predicted_H | 1.0100 | 0.9940 | 1.0032 | model_form_blend |
| predicted_HBP | - | 0.1460 | 0.1460 | form_only |
| predicted_HR | 0.1400 | 0.1290 | 0.1353 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3471 | 0.3379 | model_form_blend |
| predicted_R | 0.5950 | 0.5090 | 0.5583 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5740 | 0.5774 | model_form_blend |
| predicted_SLG | 0.4850 | 0.4031 | 0.4501 | model_form_blend |
| predicted_SO | 0.5700 | 0.5650 | 0.5679 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.296 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| 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 | 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 | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.344 |
| sl_xwoba | 0.35 |
| sl_xba | 0.282 |
| sl_xslg | 0.462 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 44.7 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 19.2 |
| sl_swing_percent | 46.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.164 | 0.000 | 0.000 | Hitting_2B | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 3.500 | 2.000 | 4.000 | Hitting_AB | 3.683 | 4.000 | -1.683 | -2.000 |
| predicted_AVG | 0.250 | 0.500 | 0.250 | Hitting_AVG | 0.282 | 0.000 | 0.218 | 0.500 |
| predicted_BB | 0.507 | 1.000 | 1.000 | Hitting_BB | 0.438 | 0.000 | 0.562 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 1.038 | 0.000 | -0.038 | 1.000 |
| predicted_HR | 0.180 | 1.000 | 0.000 | Hitting_HR | 0.197 | 0.000 | 0.803 | 1.000 |
| predicted_OBP | 0.326 | 0.667 | 0.400 | Hitting_OBP | 0.363 | 0.000 | 0.304 | 0.667 |
| predicted_R | 0.671 | 1.000 | 1.000 | Hitting_R | 0.697 | 0.000 | 0.303 | 1.000 |
| predicted_RBI | 0.580 | 1.000 | 1.000 | Hitting_RBI | 0.712 | 1.000 | 0.288 | 0.000 |
| predicted_SLG | 0.531 | 2.000 | 0.250 | Hitting_SLG | 0.497 | 0.000 | 1.503 | 2.000 |
| predicted_SO | 1.027 | 1.000 | 1.000 | Hitting_SO | 0.957 | 2.000 | 0.043 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_HR: 0.1800 -> 1.0000 (boost 0.8200, better) |
| Biggest Deboost | predicted_AB: 3.5000 -> 2.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 | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2500 -> 0.2565 (boost 0.0065, better) | predicted_SLG: 0.5310 -> 0.5120 (deboost -0.0190, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 5 | 1 | 5 | 1 | predicted_R: 0.6702 -> 0.7386 (boost 0.0684, better) | predicted_SLG: 0.5120 -> 0.4929 (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 | 4 | 2 | 4 | 2 | predicted_AB: 3.4594 -> 4.0000 (boost 0.5406, better) | predicted_HR: 0.1975 -> 0.0000 (deboost -0.1975, worse) | AB rounded to 4 (raw=3.50), rates preserved: AVG=0.267 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7386 -> 1.0000 (boost 0.2614, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3571 -> 0.4000 (boost 0.0429, better) | predicted_SLG: 0.4929 -> 0.2500 (deboost -0.2429, 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_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.4929 (boost 0.2429, better) | predicted_OBP: 0.4000 -> 0.3571 (deboost -0.0429, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "1B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.164,
"predicted_3B": 0.014,
"predicted_AB": 3.5,
"predicted_AVG": 0.25,
"predicted_BB": 0.507,
"predicted_H": 0.87,
"predicted_HR": 0.18,
"predicted_OBP": 0.326,
"predicted_R": 0.671,
"predicted_RBI": 0.58,
"predicted_SLG": 0.531,
"predicted_SO": 1.027
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1386,
"predicted_3B": 0.0195,
"predicted_AB": 3.4594,
"predicted_AVG": 0.2565,
"predicted_BB": 0.4571,
"predicted_H": 0.884,
"predicted_HBP": 0.025,
"predicted_HR": 0.1876,
"predicted_OBP": 0.332,
"predicted_R": 0.6702,
"predicted_RBI": 0.5994,
"predicted_SLG": 0.512,
"predicted_SO": 1.0655
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.1386,
"delta": -0.0254,
"percent_delta": -0.1549,
"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": 3.5,
"after": 3.4594,
"delta": -0.0406,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2565,
"delta": 0.0065,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.507,
"after": 0.4571,
"delta": -0.0499,
"percent_delta": -0.0984,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.884,
"delta": 0.014,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1876,
"delta": 0.0076,
"percent_delta": 0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.332,
"delta": 0.006,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.671,
"after": 0.6702,
"delta": -0.0008,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5994,
"delta": 0.0194,
"percent_delta": 0.0334,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.531,
"after": 0.512,
"delta": -0.019,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.027,
"after": 1.0655,
"delta": 0.0385,
"percent_delta": 0.0375,
"direction": "no_change",
"projection_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.2565,
"delta": 0.0065,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.531,
"after": 0.512,
"delta": -0.019,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1386,
"predicted_3B": 0.0195,
"predicted_AB": 3.4594,
"predicted_AVG": 0.2703,
"predicted_BB": 0.4674,
"predicted_H": 0.935,
"predicted_HBP": 0.025,
"predicted_HR": 0.1975,
"predicted_OBP": 0.3571,
"predicted_R": 0.7386,
"predicted_RBI": 0.6606,
"predicted_SLG": 0.4929,
"predicted_SO": 1.0414
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1386,
"after": 0.1386,
"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": 3.4594,
"after": 3.4594,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2565,
"after": 0.2703,
"delta": 0.0138,
"percent_delta": 0.0538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4571,
"after": 0.4674,
"delta": 0.0103,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.884,
"after": 0.935,
"delta": 0.051,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1876,
"after": 0.1975,
"delta": 0.0099,
"percent_delta": 0.0528,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3571,
"delta": 0.0251,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6702,
"after": 0.7386,
"delta": 0.0684,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5994,
"after": 0.6606,
"delta": 0.0612,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.512,
"after": 0.4929,
"delta": -0.0191,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0655,
"after": 1.0414,
"delta": -0.0241,
"percent_delta": -0.0226,
"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.6702,
"after": 0.7386,
"delta": 0.0684,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.512,
"after": 0.4929,
"delta": -0.0191,
"percent_delta": -0.0373,
"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.267 HR/AB=0.056",
"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.1386,
"after": 0.0,
"delta": -0.1386,
"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": 3.4594,
"after": 4.0,
"delta": 0.5406,
"percent_delta": 0.1563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4674,
"after": 1.0,
"delta": 0.5326,
"percent_delta": 1.1395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.935,
"after": 1.0,
"delta": 0.065,
"percent_delta": 0.0695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1975,
"after": 0.0,
"delta": -0.1975,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6606,
"after": 1.0,
"delta": 0.3394,
"percent_delta": 0.5138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0414,
"after": 1.0,
"delta": -0.0414,
"percent_delta": -0.0398,
"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": 3.4594,
"after": 4.0,
"delta": 0.5406,
"percent_delta": 0.1563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1975,
"after": 0.0,
"delta": -0.1975,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.7386,
"after": 1.0,
"delta": 0.2614,
"percent_delta": 0.3539,
"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.7386,
"after": 1.0,
"delta": 0.2614,
"percent_delta": 0.3539,
"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.2703,
"after": 0.25,
"delta": -0.0203,
"percent_delta": -0.0751,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3571,
"after": 0.4,
"delta": 0.0429,
"percent_delta": 0.1201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4929,
"after": 0.25,
"delta": -0.2429,
"percent_delta": -0.4928,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3571,
"after": 0.4,
"delta": 0.0429,
"percent_delta": 0.1201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4929,
"after": 0.25,
"delta": -0.2429,
"percent_delta": -0.4928,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"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_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.2703,
"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.3571,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4929,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2703,
"delta": 0.0203,
"percent_delta": 0.0811,
"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.4,
"after": 0.3571,
"delta": -0.0429,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4929,
"delta": 0.2429,
"percent_delta": 0.9716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4929,
"delta": 0.2429,
"percent_delta": 0.9716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3571,
"delta": -0.0429,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 2.0,
"delta": -1.5,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2703,
"delta": 0.0203,
"percent_delta": 0.0812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.507,
"after": 1.0,
"delta": 0.493,
"percent_delta": 0.9724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3571,
"delta": 0.0311,
"percent_delta": 0.0954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.671,
"after": 1.0,
"delta": 0.329,
"percent_delta": 0.4903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.531,
"after": 0.4929,
"delta": -0.0381,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.027,
"after": 1.0,
"delta": -0.027,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.18,
"after": 1.0,
"delta": 0.82,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.5,
"after": 2.0,
"delta": -1.5,
"percent_delta": -0.4286,
"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.164 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.507 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.671 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.531 | - |
| predicted_SO | 1.027 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.025 |
| predicted_3B | 0.019 | 0.005 |
| predicted_AB | 3.459 | -0.041 |
| predicted_AVG | 0.257 | 0.007 |
| predicted_BB | 0.457 | -0.050 |
| predicted_H | 0.884 | 0.014 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.188 | 0.008 |
| predicted_OBP | 0.332 | 0.006 |
| predicted_R | 0.670 | -0.001 |
| predicted_RBI | 0.599 | 0.019 |
| predicted_SLG | 0.512 | -0.019 |
| predicted_SO | 1.065 | 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.139 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.459 | 0.000 |
| predicted_AVG | 0.270 | 0.014 |
| predicted_BB | 0.467 | 0.010 |
| predicted_H | 0.935 | 0.051 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.198 | 0.010 |
| predicted_OBP | 0.357 | 0.025 |
| predicted_R | 0.739 | 0.068 |
| predicted_RBI | 0.661 | 0.061 |
| predicted_SLG | 0.493 | -0.019 |
| predicted_SO | 1.041 | -0.024 |
AB rounded to 4 (raw=3.50), rates preserved: AVG=0.267 HR/AB=0.056
| 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.139 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.541 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 1.000 | 0.533 |
| predicted_H | 1.000 | 0.065 |
| predicted_HR | 0.000 | -0.198 |
| predicted_OBP | 0.400 | 0.043 |
| predicted_R | 1.000 | 0.261 |
| predicted_RBI | 1.000 | 0.339 |
| predicted_SLG | 0.250 | -0.243 |
| 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 | 2.000 | -2.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 | 3.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 0.000 | 6.000 | 0.2500 | 0.2500 | 0.4375 | 0.2500 | 0.0625 | 0.1875 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 0.000 | 1.000 | 2.000 | 5.000 | 8.000 | 5.000 | 14.000 | 0.2727 | 0.3590 | 0.5152 | 0.2727 | 0.0606 | 0.1515 | 0.1515 | 0.4242 |
| season | 0.60 | 73 | - | 251.000 | 68.000 | 12.000 | 1.000 | 15.000 | 51.000 | 49.000 | 37.000 | 75.000 | 0.2709 | 0.3699 | 0.5060 | 0.2709 | 0.0598 | 0.2032 | 0.1474 | 0.2988 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1040 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.4040 |
| predicted_AVG | 0.2653 |
| predicted_BB | 0.3890 |
| predicted_H | 0.9030 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1980 |
| predicted_OBP | 0.3402 |
| predicted_R | 0.6690 |
| predicted_RBI | 0.6260 |
| predicted_SLG | 0.4861 |
| predicted_SO | 1.1180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1640 | 0.1040 | 0.1386 | model_form_blend |
| predicted_3B | 0.0140 | 0.0270 | 0.0195 | model_form_blend |
| predicted_AB | 3.5000 | 3.4040 | 3.4594 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2653 | 0.2565 | model_form_blend |
| predicted_BB | 0.5070 | 0.3890 | 0.4571 | model_form_blend |
| predicted_H | 0.8700 | 0.9030 | 0.8840 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1800 | 0.1980 | 0.1876 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3402 | 0.3320 | model_form_blend |
| predicted_R | 0.6710 | 0.6690 | 0.6702 | model_form_blend |
| predicted_RBI | 0.5800 | 0.6260 | 0.5994 | model_form_blend |
| predicted_SLG | 0.5310 | 0.4861 | 0.5120 | model_form_blend |
| predicted_SO | 1.0270 | 1.1180 | 1.0655 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| 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 | RF-1B |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.376 |
| sl_xwoba | 0.355 |
| sl_xba | 0.25 |
| sl_xslg | 0.461 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 52.5 |
| sl_exit_velocity_avg | 92.4 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 27.1 |
| 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.176 | 0.000 | 0.000 | Hitting_2B | 0.138 | 1.000 | -0.138 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.230 | 3.000 | 3.000 | Hitting_AB | 3.442 | 4.000 | -0.442 | -1.000 |
| predicted_AVG | 0.286 | 0.333 | 0.333 | Hitting_AVG | 0.233 | 0.750 | 0.100 | -0.417 |
| predicted_BB | 0.297 | 0.000 | 0.000 | Hitting_BB | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.870 | 1.000 | 1.000 | Hitting_H | 0.802 | 3.000 | 0.198 | -2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.364 | 0.333 | 0.333 | Hitting_OBP | 0.305 | 0.750 | 0.029 | -0.417 |
| predicted_R | 0.405 | 1.000 | 0.000 | Hitting_R | 0.452 | 1.000 | 0.548 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.401 | 1.000 | -0.401 | -1.000 |
| predicted_SLG | 0.496 | 0.333 | 0.333 | Hitting_SLG | 0.329 | 1.000 | 0.004 | -0.667 |
| predicted_SO | 0.338 | 0.000 | 0.000 | Hitting_SO | 0.429 | 0.000 | -0.429 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.4050 -> 1.0000 (boost 0.5950, 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 | 4 | 3 | 1 | 3 | 1 | predicted_H: 0.8700 -> 0.9448 (boost 0.0748, better) | predicted_SLG: 0.4960 -> 0.4786 (deboost -0.0174, worse) | Final model input calibrated with local form: 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_H: 0.9448 -> 0.9993 (boost 0.0545, better) | predicted_SLG: 0.4786 -> 0.4297 (deboost -0.0489, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 0 | 6 | 1 | 5 | - | predicted_RBI: 0.4440 -> 0.0000 (deboost -0.4440, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.309 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4417 -> 0.0000 (deboost -0.4417, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3140 -> 0.3330 (boost 0.0190, better) | predicted_SLG: 0.4297 -> 0.3330 (deboost -0.0967, 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_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.3330 -> 0.4297 (boost 0.0967, better) | predicted_AVG: 0.3330 -> 0.3140 (deboost -0.0190, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686217",
"player_name": "Sal Frelick",
"position": "RF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.0,
"predicted_AB": 3.23,
"predicted_AVG": 0.286,
"predicted_BB": 0.297,
"predicted_H": 0.87,
"predicted_HR": 0.06,
"predicted_OBP": 0.364,
"predicted_R": 0.405,
"predicted_RBI": 0.4,
"predicted_SLG": 0.496,
"predicted_SO": 0.338
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2151,
"predicted_3B": 0.0004,
"predicted_AB": 3.1821,
"predicted_AVG": 0.3071,
"predicted_BB": 0.2974,
"predicted_H": 0.9448,
"predicted_HBP": 0.01,
"predicted_HR": 0.0482,
"predicted_OBP": 0.3766,
"predicted_R": 0.4008,
"predicted_RBI": 0.4029,
"predicted_SLG": 0.4786,
"predicted_SO": 0.2998
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.2151,
"delta": 0.0391,
"percent_delta": 0.2222,
"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.23,
"after": 3.1821,
"delta": -0.0479,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.3071,
"delta": 0.0211,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.2974,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.9448,
"delta": 0.0748,
"percent_delta": 0.086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0482,
"delta": -0.0118,
"percent_delta": -0.1967,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3766,
"delta": 0.0126,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.4008,
"delta": -0.0042,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4029,
"delta": 0.0029,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4786,
"delta": -0.0174,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.338,
"after": 0.2998,
"delta": -0.0382,
"percent_delta": -0.113,
"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": 0.87,
"after": 0.9448,
"delta": 0.0748,
"percent_delta": 0.086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4786,
"delta": -0.0174,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2151,
"predicted_3B": 0.0004,
"predicted_AB": 3.1821,
"predicted_AVG": 0.314,
"predicted_BB": 0.3041,
"predicted_H": 0.9993,
"predicted_HBP": 0.01,
"predicted_HR": 0.0507,
"predicted_OBP": 0.3739,
"predicted_R": 0.4417,
"predicted_RBI": 0.444,
"predicted_SLG": 0.4297,
"predicted_SO": 0.293
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2151,
"after": 0.2151,
"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.1821,
"after": 3.1821,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3071,
"after": 0.314,
"delta": 0.0069,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2974,
"after": 0.3041,
"delta": 0.0067,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9448,
"after": 0.9993,
"delta": 0.0545,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.0482,
"after": 0.0507,
"delta": 0.0025,
"percent_delta": 0.0519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3766,
"after": 0.3739,
"delta": -0.0027,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4008,
"after": 0.4417,
"delta": 0.0409,
"percent_delta": 0.102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4029,
"after": 0.444,
"delta": 0.0411,
"percent_delta": 0.102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4786,
"after": 0.4297,
"delta": -0.0489,
"percent_delta": -0.1022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2998,
"after": 0.293,
"delta": -0.0068,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_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.9448,
"after": 0.9993,
"delta": 0.0545,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4786,
"after": 0.4297,
"delta": -0.0489,
"percent_delta": -0.1022,
"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.309 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2151,
"after": 0.0,
"delta": -0.2151,
"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.1821,
"after": 3.0,
"delta": -0.1821,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3041,
"after": 0.0,
"delta": -0.3041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9993,
"after": 1.0,
"delta": 0.0007,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0507,
"after": 0.0,
"delta": -0.0507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.293,
"after": 0.0,
"delta": -0.293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4417,
"after": 0.0,
"delta": -0.4417,
"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.4417,
"after": 0.0,
"delta": -0.4417,
"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.314,
"after": 0.333,
"delta": 0.019,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3739,
"after": 0.333,
"delta": -0.0409,
"percent_delta": -0.1094,
"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.4297,
"after": 0.333,
"delta": -0.0967,
"percent_delta": -0.225,
"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.314,
"after": 0.333,
"delta": 0.019,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4297,
"after": 0.333,
"delta": -0.0967,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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": 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.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.314,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3739,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4297,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.314,
"delta": -0.019,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3739,
"delta": 0.0409,
"percent_delta": 0.1228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4297,
"delta": 0.0967,
"percent_delta": 0.2905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4297,
"delta": 0.0967,
"percent_delta": 0.2905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.314,
"delta": -0.019,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.23,
"after": 3.0,
"delta": -0.23,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.314,
"delta": 0.028,
"percent_delta": 0.0979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.0,
"delta": -0.297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3739,
"delta": 0.0099,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4297,
"delta": -0.0663,
"percent_delta": -0.1337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"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_R",
"before": 0.405,
"after": 1.0,
"delta": 0.595,
"percent_delta": 1.4691,
"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.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.230 | - |
| predicted_AVG | 0.286 | - |
| predicted_BB | 0.297 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.364 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.496 | - |
| predicted_SO | 0.338 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.215 | 0.039 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.182 | -0.048 |
| predicted_AVG | 0.307 | 0.021 |
| predicted_BB | 0.297 | 0.000 |
| predicted_H | 0.945 | 0.075 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.048 | -0.012 |
| predicted_OBP | 0.377 | 0.013 |
| predicted_R | 0.401 | -0.004 |
| predicted_RBI | 0.403 | 0.003 |
| predicted_SLG | 0.479 | -0.017 |
| predicted_SO | 0.300 | -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.215 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.182 | 0.000 |
| predicted_AVG | 0.314 | 0.007 |
| predicted_BB | 0.304 | 0.007 |
| predicted_H | 0.999 | 0.054 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.051 | 0.003 |
| predicted_OBP | 0.374 | -0.003 |
| predicted_R | 0.442 | 0.041 |
| predicted_RBI | 0.444 | 0.041 |
| predicted_SLG | 0.430 | -0.049 |
| predicted_SO | 0.293 | -0.007 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.309 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 | 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.215 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.182 |
| predicted_AVG | 0.333 | 0.019 |
| predicted_BB | 0.000 | -0.304 |
| predicted_H | 1.000 | 0.001 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.333 | -0.041 |
| predicted_R | 0.000 | -0.442 |
| predicted_RBI | 0.000 | -0.444 |
| predicted_SLG | 0.333 | -0.097 |
| predicted_SO | 0.000 | -0.293 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 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 | - | 14.000 | 8.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 0.5714 | 0.6250 | 0.7143 | 0.5714 | 0.0000 | 0.1429 | 0.1429 | 0.0000 |
| last_10 | 0.20 | 10 | - | 27.000 | 11.000 | 4.000 | 0.000 | 0.000 | 4.000 | 3.000 | 2.000 | 0.000 | 0.4074 | 0.4483 | 0.5556 | 0.4074 | 0.0000 | 0.1482 | 0.0741 | 0.0000 |
| season | 0.60 | 74 | - | 239.000 | 60.000 | 13.000 | 0.000 | 3.000 | 29.000 | 30.000 | 22.000 | 25.000 | 0.2510 | 0.3156 | 0.3431 | 0.2510 | 0.0126 | 0.1213 | 0.0921 | 0.1046 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2690 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1160 |
| predicted_AVG | 0.3363 |
| predicted_BB | 0.2980 |
| predicted_H | 1.0480 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0320 |
| predicted_OBP | 0.3940 |
| predicted_R | 0.3950 |
| predicted_RBI | 0.4070 |
| predicted_SLG | 0.4546 |
| predicted_SO | 0.2470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.2690 | 0.2151 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2300 | 3.1160 | 3.1821 | model_form_blend |
| predicted_AVG | 0.2860 | 0.3363 | 0.3071 | model_form_blend |
| predicted_BB | 0.2970 | 0.2980 | 0.2974 | model_form_blend |
| predicted_H | 0.8700 | 1.0480 | 0.9448 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0600 | 0.0320 | 0.0482 | model_form_blend |
| predicted_OBP | 0.3640 | 0.3940 | 0.3766 | model_form_blend |
| predicted_R | 0.4050 | 0.3950 | 0.4008 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4070 | 0.4029 | model_form_blend |
| predicted_SLG | 0.4960 | 0.4546 | 0.4786 | model_form_blend |
| predicted_SO | 0.3380 | 0.2470 | 0.2998 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 217 |
| Season rows before report date | 217 |
| Report year | 2026 |
| Profile rows used | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.251 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | RF |
| gameID | 20260630_CIN@MIL |
| game_type | full |
| mlbID | 686217 |
| playerID | 686217 |
| playerName | Sal Frelick |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-30 |
| sl_k_percent | 9.0 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.297 |
| sl_xwoba | 0.295 |
| sl_xba | 0.255 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 27.3 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 9.6 |
| sl_whiff_percent | 10.8 |
| 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.217 | 0.000 | 0.000 | Hitting_2B | 0.231 | 2.000 | -0.231 | -2.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.036 | 1.000 | -0.036 | -1.000 |
| predicted_AB | 3.232 | 3.000 | 3.000 | Hitting_AB | 3.400 | 4.000 | -0.400 | -1.000 |
| predicted_AVG | 0.278 | 0.000 | 0.333 | Hitting_AVG | 0.252 | 1.000 | -0.252 | -1.000 |
| predicted_BB | 0.420 | 0.000 | 0.000 | Hitting_BB | 0.544 | 0.000 | -0.544 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_H | 0.860 | 0.000 | 1.000 | Hitting_H | 0.856 | 4.000 | -0.856 | -4.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_OBP | 0.361 | 0.000 | 0.333 | Hitting_OBP | 0.357 | 1.000 | -0.357 | -1.000 |
| predicted_R | 0.478 | 0.000 | 1.000 | Hitting_R | 0.492 | 1.000 | -0.492 | -1.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.600 | 1.000 | -0.600 | -1.000 |
| predicted_SLG | 0.563 | 0.000 | 0.333 | Hitting_SLG | 0.386 | 2.000 | -0.386 | -2.000 |
| predicted_SO | 1.261 | 1.000 | 1.000 | Hitting_SO | 1.318 | 0.000 | -0.318 | 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.2780 -> 0.3059 (boost 0.0279, better) |
| Biggest Deboost | predicted_H: 0.8600 -> 0.0000 (deboost -0.8600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_H: 0.8600 -> 0.9384 (boost 0.0784, better) | predicted_SO: 1.2610 -> 1.1830 (deboost -0.0780, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 5 | 1 | 5 | 1 | predicted_H: 0.9384 -> 0.9925 (boost 0.0541, better) | predicted_SLG: 0.5558 -> 0.5252 (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 | 1 | 6 | 2 | 5 | predicted_RBI: 0.5516 -> 1.0000 (boost 0.4484, better) | predicted_BB: 0.3969 -> 0.0000 (deboost -0.3969, worse) | AB rounded to 3 (raw=3.24), rates preserved: AVG=0.306 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5416 -> 1.0000 (boost 0.4584, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3059 -> 0.3330 (boost 0.0271, better) | predicted_SLG: 0.5252 -> 0.3330 (deboost -0.1922, 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.3330 -> 0.5252 (boost 0.1922, better) | predicted_AVG: 0.3330 -> 0.3059 (deboost -0.0271, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.217,
"predicted_3B": 0.043,
"predicted_AB": 3.232,
"predicted_AVG": 0.278,
"predicted_BB": 0.42,
"predicted_H": 0.86,
"predicted_HR": 0.12,
"predicted_OBP": 0.361,
"predicted_R": 0.478,
"predicted_RBI": 0.48,
"predicted_SLG": 0.563,
"predicted_SO": 1.261
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2296,
"predicted_3B": 0.0593,
"predicted_AB": 3.2446,
"predicted_AVG": 0.2959,
"predicted_BB": 0.3881,
"predicted_H": 0.9384,
"predicted_HBP": 0.019,
"predicted_HR": 0.115,
"predicted_OBP": 0.3731,
"predicted_R": 0.4914,
"predicted_RBI": 0.5005,
"predicted_SLG": 0.5558,
"predicted_SO": 1.183
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.2296,
"delta": 0.0126,
"percent_delta": 0.0581,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0593,
"delta": 0.0163,
"percent_delta": 0.3791,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.232,
"after": 3.2446,
"delta": 0.0126,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2959,
"delta": 0.0179,
"percent_delta": 0.0644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.42,
"after": 0.3881,
"delta": -0.0319,
"percent_delta": -0.076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.9384,
"delta": 0.0784,
"percent_delta": 0.0912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.115,
"delta": -0.005,
"percent_delta": -0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3731,
"delta": 0.0121,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.4914,
"delta": 0.0134,
"percent_delta": 0.028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.5005,
"delta": 0.0205,
"percent_delta": 0.0427,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.563,
"after": 0.5558,
"delta": -0.0072,
"percent_delta": -0.0128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.261,
"after": 1.183,
"delta": -0.078,
"percent_delta": -0.0619,
"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_H",
"before": 0.86,
"after": 0.9384,
"delta": 0.0784,
"percent_delta": 0.0912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.261,
"after": 1.183,
"delta": -0.078,
"percent_delta": -0.0619,
"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": 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.2296,
"predicted_3B": 0.0593,
"predicted_AB": 3.2446,
"predicted_AVG": 0.3059,
"predicted_BB": 0.3969,
"predicted_H": 0.9925,
"predicted_HBP": 0.019,
"predicted_HR": 0.1211,
"predicted_OBP": 0.3816,
"predicted_R": 0.5416,
"predicted_RBI": 0.5516,
"predicted_SLG": 0.5252,
"predicted_SO": 1.1563
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2296,
"after": 0.2296,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0593,
"after": 0.0593,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2446,
"after": 3.2446,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2959,
"after": 0.3059,
"delta": 0.01,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3881,
"after": 0.3969,
"delta": 0.0088,
"percent_delta": 0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9384,
"after": 0.9925,
"delta": 0.0541,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.115,
"after": 0.1211,
"delta": 0.0061,
"percent_delta": 0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3731,
"after": 0.3816,
"delta": 0.0085,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4914,
"after": 0.5416,
"delta": 0.0502,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5005,
"after": 0.5516,
"delta": 0.0511,
"percent_delta": 0.1021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5558,
"after": 0.5252,
"delta": -0.0306,
"percent_delta": -0.0551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.183,
"after": 1.1563,
"delta": -0.0267,
"percent_delta": -0.0226,
"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.9384,
"after": 0.9925,
"delta": 0.0541,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5558,
"after": 0.5252,
"delta": -0.0306,
"percent_delta": -0.0551,
"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.306 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2296,
"after": 0.0,
"delta": -0.2296,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0593,
"after": 0.0,
"delta": -0.0593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.2446,
"after": 3.0,
"delta": -0.2446,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3969,
"after": 0.0,
"delta": -0.3969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9925,
"after": 1.0,
"delta": 0.0075,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1211,
"after": 0.0,
"delta": -0.1211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5516,
"after": 1.0,
"delta": 0.4484,
"percent_delta": 0.8129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1563,
"after": 1.0,
"delta": -0.1563,
"percent_delta": -0.1352,
"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.5516,
"after": 1.0,
"delta": 0.4484,
"percent_delta": 0.8129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3969,
"after": 0.0,
"delta": -0.3969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.5416,
"after": 1.0,
"delta": 0.4584,
"percent_delta": 0.8464,
"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.5416,
"after": 1.0,
"delta": 0.4584,
"percent_delta": 0.8464,
"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.3059,
"after": 0.333,
"delta": 0.0271,
"percent_delta": 0.0886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": -0.0486,
"percent_delta": -0.1274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5252,
"after": 0.333,
"delta": -0.1922,
"percent_delta": -0.366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3059,
"after": 0.333,
"delta": 0.0271,
"percent_delta": 0.0886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5252,
"after": 0.333,
"delta": -0.1922,
"percent_delta": -0.366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 3.0,
"predicted_AVG": 0.3059,
"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.3816,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5252,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.3059,
"delta": -0.0271,
"percent_delta": -0.0814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3816,
"delta": 0.0486,
"percent_delta": 0.1458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5252,
"delta": 0.1922,
"percent_delta": 0.5771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5252,
"delta": 0.1922,
"percent_delta": 0.5771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3059,
"delta": -0.0271,
"percent_delta": -0.0814,
"direction": "deboost",
"projection_effect": "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.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.232,
"after": 3.0,
"delta": -0.232,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.3059,
"delta": 0.0279,
"percent_delta": 0.1004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.3816,
"delta": 0.0206,
"percent_delta": 0.0571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.0,
"delta": -0.478,
"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.563,
"after": 0.5252,
"delta": -0.0378,
"percent_delta": -0.0671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.261,
"after": 1.0,
"delta": -0.261,
"percent_delta": -0.207,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.3059,
"delta": 0.0279,
"percent_delta": 0.1004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.232 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.420 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.361 | - |
| predicted_R | 0.478 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.563 | - |
| predicted_SO | 1.261 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.230 | 0.013 |
| predicted_3B | 0.059 | 0.016 |
| predicted_AB | 3.245 | 0.013 |
| predicted_AVG | 0.296 | 0.018 |
| predicted_BB | 0.388 | -0.032 |
| predicted_H | 0.938 | 0.078 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.115 | -0.005 |
| predicted_OBP | 0.373 | 0.012 |
| predicted_R | 0.491 | 0.013 |
| predicted_RBI | 0.500 | 0.020 |
| predicted_SLG | 0.556 | -0.007 |
| predicted_SO | 1.183 | -0.078 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.230 | 0.000 |
| predicted_3B | 0.059 | 0.000 |
| predicted_AB | 3.245 | 0.000 |
| predicted_AVG | 0.306 | 0.010 |
| predicted_BB | 0.397 | 0.009 |
| predicted_H | 0.993 | 0.054 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.121 | 0.006 |
| predicted_OBP | 0.382 | 0.009 |
| predicted_R | 0.542 | 0.050 |
| predicted_RBI | 0.552 | 0.051 |
| predicted_SLG | 0.525 | -0.031 |
| predicted_SO | 1.156 | -0.027 |
AB rounded to 3 (raw=3.24), rates preserved: AVG=0.306 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 | 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.059 |
| predicted_AB | 3.000 | -0.245 |
| predicted_AVG | 0.333 | 0.027 |
| predicted_BB | 0.000 | -0.397 |
| predicted_H | 1.000 | 0.007 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.333 | -0.049 |
| predicted_R | 1.000 | 0.458 |
| predicted_RBI | 1.000 | 0.448 |
| predicted_SLG | 0.333 | -0.192 |
| 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 | 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 8.000 | 2.000 | 1.000 | 1.000 | 4.000 | 3.000 | 1.000 | 4.000 | 0.5333 | 0.5625 | 1.0000 | 0.5333 | 0.0667 | 0.2667 | 0.0667 | 0.2667 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 2.000 | 1.000 | 1.000 | 4.000 | 5.000 | 3.000 | 9.000 | 0.3333 | 0.3889 | 0.5455 | 0.3333 | 0.0303 | 0.1212 | 0.0909 | 0.2727 |
| season | 0.60 | 69 | - | 223.000 | 58.000 | 15.000 | 3.000 | 5.000 | 33.000 | 33.000 | 29.000 | 87.000 | 0.2601 | 0.3490 | 0.4215 | 0.2601 | 0.0224 | 0.1480 | 0.1300 | 0.3901 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2470 |
| predicted_3B | 0.0820 |
| predicted_AB | 3.2620 |
| predicted_AVG | 0.3208 |
| predicted_BB | 0.3440 |
| predicted_H | 1.0470 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.1080 |
| predicted_OBP | 0.3898 |
| predicted_R | 0.5100 |
| predicted_RBI | 0.5290 |
| predicted_SLG | 0.5458 |
| predicted_SO | 1.0750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.2470 | 0.2296 | model_form_blend |
| predicted_3B | 0.0430 | 0.0820 | 0.0593 | model_form_blend |
| predicted_AB | 3.2320 | 3.2620 | 3.2446 | model_form_blend |
| predicted_AVG | 0.2780 | 0.3208 | 0.2959 | model_form_blend |
| predicted_BB | 0.4200 | 0.3440 | 0.3881 | model_form_blend |
| predicted_H | 0.8600 | 1.0470 | 0.9384 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1200 | 0.1080 | 0.1150 | model_form_blend |
| predicted_OBP | 0.3610 | 0.3898 | 0.3731 | model_form_blend |
| predicted_R | 0.4780 | 0.5100 | 0.4914 | model_form_blend |
| predicted_RBI | 0.4800 | 0.5290 | 0.5005 | model_form_blend |
| predicted_SLG | 0.5630 | 0.5458 | 0.5558 | model_form_blend |
| predicted_SO | 1.2610 | 1.0750 | 1.1830 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.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 | 2 |
| Hitting_3B | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| 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 | 8 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 669003 |
| playerID | 669003 |
| playerName | Garrett Mitchell |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 33.8 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.351 |
| sl_xwoba | 0.341 |
| sl_xba | 0.244 |
| sl_xslg | 0.434 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 92.8 |
| sl_launch_angle_avg | 5.2 |
| sl_whiff_percent | 38.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.071 | 0.000 | 0.000 | Hitting_2B | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.929 | 3.000 | 3.000 | Hitting_AB | 2.929 | 3.000 | 0.071 | 0.000 |
| predicted_AVG | 0.233 | 0.667 | 0.333 | Hitting_AVG | 0.195 | 0.000 | 0.472 | 0.667 |
| predicted_BB | 0.429 | 0.000 | 0.000 | Hitting_BB | 0.429 | 1.000 | -0.429 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.640 | 2.000 | 1.000 | Hitting_H | 0.571 | 0.000 | 1.429 | 2.000 |
| predicted_HR | 0.070 | 1.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_OBP | 0.289 | 0.667 | 0.333 | Hitting_OBP | 0.292 | 0.250 | 0.375 | 0.417 |
| predicted_R | 0.286 | 1.000 | 0.000 | Hitting_R | 0.286 | 0.000 | 0.714 | 1.000 |
| predicted_RBI | 0.270 | 3.000 | 0.000 | Hitting_RBI | 0.143 | 0.000 | 2.857 | 3.000 |
| predicted_SLG | 0.386 | 1.667 | 0.333 | Hitting_SLG | 0.220 | 0.000 | 1.447 | 1.667 |
| predicted_SO | 0.714 | 0.000 | 1.000 | Hitting_SO | 0.714 | 0.000 | -0.714 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.2700 -> 3.0000 (boost 2.7300, better) |
| Biggest Deboost | predicted_SO: 0.7140 -> 0.0000 (deboost -0.7140, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.9290 -> 3.0357 (boost 0.1067, better) | predicted_SLG: 0.3860 -> 0.3492 (deboost -0.0368, worse) | Final model input calibrated with local 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.2883 -> 0.3190 (boost 0.0307, better) | predicted_SLG: 0.3492 -> 0.3163 (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 | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.6723 -> 1.0000 (boost 0.3277, better) | predicted_BB: 0.4349 -> 0.0000 (deboost -0.4349, worse) | AB rounded to 3 (raw=3.04), rates preserved: AVG=0.221 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3501 -> 0.0000 (deboost -0.3501, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2215 -> 0.3330 (boost 0.1115, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2215 (deboost -0.1115, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "806198",
"player_name": "Cooper Pratt",
"position": "SS",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.071,
"predicted_3B": 0.0,
"predicted_AB": 2.929,
"predicted_AVG": 0.233,
"predicted_BB": 0.429,
"predicted_H": 0.64,
"predicted_HR": 0.07,
"predicted_OBP": 0.289,
"predicted_R": 0.286,
"predicted_RBI": 0.27,
"predicted_SLG": 0.386,
"predicted_SO": 0.714
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0913,
"predicted_3B": 0.0017,
"predicted_AB": 3.0357,
"predicted_AVG": 0.2195,
"predicted_BB": 0.4253,
"predicted_H": 0.6356,
"predicted_HBP": 0.011,
"predicted_HR": 0.0612,
"predicted_OBP": 0.2883,
"predicted_R": 0.3177,
"predicted_RBI": 0.2524,
"predicted_SLG": 0.3492,
"predicted_SO": 0.7322
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.071,
"after": 0.0913,
"delta": 0.0203,
"percent_delta": 0.2859,
"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.929,
"after": 3.0357,
"delta": 0.1067,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2195,
"delta": -0.0135,
"percent_delta": -0.0579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 0.4253,
"delta": -0.0037,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6356,
"delta": -0.0044,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0612,
"delta": -0.0088,
"percent_delta": -0.1257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2883,
"delta": -0.0007,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.3177,
"delta": 0.0317,
"percent_delta": 0.1108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2524,
"delta": -0.0176,
"percent_delta": -0.0652,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3492,
"delta": -0.0368,
"percent_delta": -0.0953,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.7322,
"delta": 0.0182,
"percent_delta": 0.0255,
"direction": "no_change",
"projection_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.929,
"after": 3.0357,
"delta": 0.1067,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3492,
"delta": -0.0368,
"percent_delta": -0.0953,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0913,
"predicted_3B": 0.0017,
"predicted_AB": 3.0357,
"predicted_AVG": 0.2215,
"predicted_BB": 0.4349,
"predicted_H": 0.6723,
"predicted_HBP": 0.011,
"predicted_HR": 0.0644,
"predicted_OBP": 0.319,
"predicted_R": 0.3501,
"predicted_RBI": 0.2782,
"predicted_SLG": 0.3163,
"predicted_SO": 0.7157
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0913,
"after": 0.0913,
"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.0357,
"after": 3.0357,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2195,
"after": 0.2215,
"delta": 0.002,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4253,
"after": 0.4349,
"delta": 0.0096,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6356,
"after": 0.6723,
"delta": 0.0367,
"percent_delta": 0.0577,
"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.0612,
"after": 0.0644,
"delta": 0.0032,
"percent_delta": 0.0523,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2883,
"after": 0.319,
"delta": 0.0307,
"percent_delta": 0.1065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3177,
"after": 0.3501,
"delta": 0.0324,
"percent_delta": 0.102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2524,
"after": 0.2782,
"delta": 0.0258,
"percent_delta": 0.1022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3492,
"after": 0.3163,
"delta": -0.0329,
"percent_delta": -0.0942,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7322,
"after": 0.7157,
"delta": -0.0165,
"percent_delta": -0.0225,
"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.2883,
"after": 0.319,
"delta": 0.0307,
"percent_delta": 0.1065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3492,
"after": 0.3163,
"delta": -0.0329,
"percent_delta": -0.0942,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.04), rates preserved: AVG=0.221 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.0913,
"after": 0.0,
"delta": -0.0913,
"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.0357,
"after": 3.0,
"delta": -0.0357,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4349,
"after": 0.0,
"delta": -0.4349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6723,
"after": 1.0,
"delta": 0.3277,
"percent_delta": 0.4874,
"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.0644,
"after": 0.0,
"delta": -0.0644,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2782,
"after": 0.0,
"delta": -0.2782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7157,
"after": 1.0,
"delta": 0.2843,
"percent_delta": 0.3972,
"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.6723,
"after": 1.0,
"delta": 0.3277,
"percent_delta": 0.4874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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.3501,
"after": 0.0,
"delta": -0.3501,
"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.3501,
"after": 0.0,
"delta": -0.3501,
"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.2215,
"after": 0.333,
"delta": 0.1115,
"percent_delta": 0.5034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.333,
"delta": 0.014,
"percent_delta": 0.0439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2215,
"after": 0.333,
"delta": 0.1115,
"percent_delta": 0.5034,
"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": 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": 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": 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": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2215,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.319,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3163,
"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.2215,
"delta": -0.1115,
"percent_delta": -0.335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.319,
"delta": -0.014,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.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.2215,
"delta": -0.1115,
"percent_delta": -0.335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.929,
"after": 3.0,
"delta": 0.071,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2215,
"delta": -0.0115,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 2.0,
"delta": 1.36,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 1.0,
"delta": 0.93,
"percent_delta": 13.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.319,
"delta": 0.03,
"percent_delta": 0.1038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 1.0,
"delta": 0.714,
"percent_delta": 2.4965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 3.0,
"delta": 2.73,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3163,
"delta": -0.0697,
"percent_delta": -0.1806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.27,
"after": 3.0,
"delta": 2.73,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.714,
"after": 0.0,
"delta": -0.714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.929 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.429 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.286 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 0.714 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | 0.020 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.036 | 0.107 |
| predicted_AVG | 0.220 | -0.014 |
| predicted_BB | 0.425 | -0.004 |
| predicted_H | 0.636 | -0.004 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.061 | -0.009 |
| predicted_OBP | 0.288 | -0.001 |
| predicted_R | 0.318 | 0.032 |
| predicted_RBI | 0.252 | -0.018 |
| predicted_SLG | 0.349 | -0.037 |
| predicted_SO | 0.732 | 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.091 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.036 | 0.000 |
| predicted_AVG | 0.222 | 0.002 |
| predicted_BB | 0.435 | 0.010 |
| predicted_H | 0.672 | 0.037 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.064 | 0.003 |
| predicted_OBP | 0.319 | 0.031 |
| predicted_R | 0.350 | 0.032 |
| predicted_RBI | 0.278 | 0.026 |
| predicted_SLG | 0.316 | -0.033 |
| predicted_SO | 0.716 | -0.016 |
AB rounded to 3 (raw=3.04), rates preserved: AVG=0.221 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.091 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.036 |
| predicted_AVG | 0.333 | 0.112 |
| predicted_BB | 0.000 | -0.435 |
| predicted_H | 1.000 | 0.328 |
| predicted_HR | 0.000 | -0.064 |
| predicted_OBP | 0.333 | 0.014 |
| predicted_R | 0.000 | -0.350 |
| predicted_RBI | 0.000 | -0.278 |
| predicted_SLG | 0.333 | 0.017 |
| 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 | 3.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 | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 0.0714 | 0.2353 | 0.1429 | 0.0714 | 0.0000 | 0.0000 | 0.2143 | 0.2857 |
| last_10 | 0.20 | 10 | - | 29.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 5.000 | 6.000 | 0.1379 | 0.2647 | 0.1724 | 0.1379 | 0.0000 | 0.0000 | 0.1724 | 0.2069 |
| season | 0.60 | 14 | - | 41.000 | 8.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 6.000 | 10.000 | 0.1951 | 0.2917 | 0.2195 | 0.1951 | 0.0000 | 0.0488 | 0.1463 | 0.2439 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1310 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.2450 |
| predicted_AVG | 0.1931 |
| predicted_BB | 0.4180 |
| predicted_H | 0.6270 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0440 |
| predicted_OBP | 0.2869 |
| predicted_R | 0.3800 |
| predicted_RBI | 0.2180 |
| predicted_SLG | 0.2769 |
| predicted_SO | 0.7680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0710 | 0.1310 | 0.0913 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.9290 | 3.2450 | 3.0357 | model_form_blend |
| predicted_AVG | 0.2330 | 0.1931 | 0.2195 | model_form_blend |
| predicted_BB | 0.4290 | 0.4180 | 0.4253 | model_form_blend |
| predicted_H | 0.6400 | 0.6270 | 0.6356 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0700 | 0.0440 | 0.0612 | model_form_blend |
| predicted_OBP | 0.2890 | 0.2869 | 0.2883 | model_form_blend |
| predicted_R | 0.2860 | 0.3800 | 0.3177 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2180 | 0.2524 | model_form_blend |
| predicted_SLG | 0.3860 | 0.2769 | 0.3492 | model_form_blend |
| predicted_SO | 0.7140 | 0.7680 | 0.7322 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 14 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.195 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 806198 |
| playerID | 806198 |
| playerName | Cooper Pratt |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.244 |
| sl_xwoba | 0.323 |
| sl_xba | 0.269 |
| sl_xslg | 0.34 |
| sl_sweet_spot_percent | 28.1 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 25.0 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 4.0 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 45.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.079 | 0.000 | 0.000 | Hitting_2B | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 3.048 | 3.000 | 3.000 | Hitting_AB | 3.070 | 3.000 | -0.070 | 0.000 |
| predicted_AVG | 0.253 | 0.000 | 0.333 | Hitting_AVG | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_BB | 0.286 | 0.000 | 0.000 | Hitting_BB | 0.380 | 0.000 | -0.380 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 0.650 | 0.000 | 1.000 | Hitting_H | 0.725 | 0.000 | -0.725 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_OBP | 0.281 | 0.000 | 0.333 | Hitting_OBP | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_R | 0.476 | 0.000 | 0.000 | Hitting_R | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_SLG | 0.427 | 0.000 | 0.333 | Hitting_SLG | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_SO | 0.794 | 0.000 | 1.000 | Hitting_SO | 0.696 | 1.000 | -0.696 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_OBP: 0.2810 -> 0.2912 (boost 0.0102, better) |
| Biggest Deboost | predicted_SO: 0.7940 -> 0.0000 (deboost -0.7940, 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_R: 0.4760 -> 0.4193 (deboost -0.0567, worse) | Final model input calibrated with local form: 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.2790 -> 0.2912 (boost 0.0122, better) | predicted_SLG: 0.3933 -> 0.3454 (deboost -0.0479, 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.7137 -> 1.0000 (boost 0.2863, better) | predicted_RBI: 0.2811 -> 0.0000 (deboost -0.2811, worse) | AB rounded to 3 (raw=3.05), rates preserved: AVG=0.234 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4621 -> 0.0000 (deboost -0.4621, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2339 -> 0.3330 (boost 0.0991, better) | predicted_SLG: 0.3454 -> 0.3330 (deboost -0.0124, 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.3454 (boost 0.0124, better) | predicted_AVG: 0.3330 -> 0.2339 (deboost -0.0991, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666152",
"player_name": "David Hamilton",
"position": "3B",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.079,
"predicted_3B": 0.032,
"predicted_AB": 3.048,
"predicted_AVG": 0.253,
"predicted_BB": 0.286,
"predicted_H": 0.65,
"predicted_HR": 0.06,
"predicted_OBP": 0.281,
"predicted_R": 0.476,
"predicted_RBI": 0.27,
"predicted_SLG": 0.427,
"predicted_SO": 0.794
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.079,
"predicted_3B": 0.0502,
"predicted_AB": 3.0509,
"predicted_AVG": 0.2445,
"predicted_BB": 0.2409,
"predicted_H": 0.6748,
"predicted_HBP": 0.012,
"predicted_HR": 0.0509,
"predicted_OBP": 0.279,
"predicted_R": 0.4193,
"predicted_RBI": 0.2551,
"predicted_SLG": 0.3933,
"predicted_SO": 0.8316
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.079,
"after": 0.079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0502,
"delta": 0.0182,
"percent_delta": 0.5687,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.048,
"after": 3.0509,
"delta": 0.0029,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2445,
"delta": -0.0085,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.2409,
"delta": -0.0451,
"percent_delta": -0.1577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.6748,
"delta": 0.0248,
"percent_delta": 0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0509,
"delta": -0.0091,
"percent_delta": -0.1517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.279,
"delta": -0.002,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.476,
"after": 0.4193,
"delta": -0.0567,
"percent_delta": -0.1191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2551,
"delta": -0.0149,
"percent_delta": -0.0552,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.3933,
"delta": -0.0337,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.794,
"after": 0.8316,
"delta": 0.0376,
"percent_delta": 0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.476,
"after": 0.4193,
"delta": -0.0567,
"percent_delta": -0.1191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.079,
"predicted_3B": 0.0502,
"predicted_AB": 3.0509,
"predicted_AVG": 0.2339,
"predicted_BB": 0.2463,
"predicted_H": 0.7137,
"predicted_HBP": 0.012,
"predicted_HR": 0.0536,
"predicted_OBP": 0.2912,
"predicted_R": 0.4621,
"predicted_RBI": 0.2811,
"predicted_SLG": 0.3454,
"predicted_SO": 0.8128
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.079,
"after": 0.079,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0502,
"after": 0.0502,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0509,
"after": 3.0509,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2445,
"after": 0.2339,
"delta": -0.0106,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2409,
"after": 0.2463,
"delta": 0.0054,
"percent_delta": 0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6748,
"after": 0.7137,
"delta": 0.0389,
"percent_delta": 0.0576,
"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.0509,
"after": 0.0536,
"delta": 0.0027,
"percent_delta": 0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2912,
"delta": 0.0122,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4193,
"after": 0.4621,
"delta": 0.0428,
"percent_delta": 0.1021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2551,
"after": 0.2811,
"delta": 0.026,
"percent_delta": 0.1019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3933,
"after": 0.3454,
"delta": -0.0479,
"percent_delta": -0.1218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8316,
"after": 0.8128,
"delta": -0.0188,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_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.279,
"after": 0.2912,
"delta": 0.0122,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3933,
"after": 0.3454,
"delta": -0.0479,
"percent_delta": -0.1218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.05), rates preserved: AVG=0.234 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.079,
"after": 0.0,
"delta": -0.079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0502,
"after": 0.0,
"delta": -0.0502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.0509,
"after": 3.0,
"delta": -0.0509,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2463,
"after": 0.0,
"delta": -0.2463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7137,
"after": 1.0,
"delta": 0.2863,
"percent_delta": 0.4011,
"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.0536,
"after": 0.0,
"delta": -0.0536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2811,
"after": 0.0,
"delta": -0.2811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8128,
"after": 1.0,
"delta": 0.1872,
"percent_delta": 0.2303,
"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.7137,
"after": 1.0,
"delta": 0.2863,
"percent_delta": 0.4011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": 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.4621,
"after": 0.0,
"delta": -0.4621,
"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.4621,
"after": 0.0,
"delta": -0.4621,
"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.2339,
"after": 0.333,
"delta": 0.0991,
"percent_delta": 0.4237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2912,
"after": 0.333,
"delta": 0.0418,
"percent_delta": 0.1435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3454,
"after": 0.333,
"delta": -0.0124,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2339,
"after": 0.333,
"delta": 0.0991,
"percent_delta": 0.4237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3454,
"after": 0.333,
"delta": -0.0124,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2339,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2912,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3454,
"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.2339,
"delta": -0.0991,
"percent_delta": -0.2975,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2912,
"delta": -0.0418,
"percent_delta": -0.1256,
"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.3454,
"delta": 0.0124,
"percent_delta": 0.0374,
"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.3454,
"delta": 0.0124,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2339,
"delta": -0.0991,
"percent_delta": -0.2975,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.079,
"after": 0.0,
"delta": -0.079,
"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.048,
"after": 3.0,
"delta": -0.048,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2339,
"delta": -0.0191,
"percent_delta": -0.0755,
"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.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2912,
"delta": 0.0102,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.476,
"after": 0.0,
"delta": -0.476,
"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.427,
"after": 0.3454,
"delta": -0.0816,
"percent_delta": -0.1911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.794,
"after": 0.0,
"delta": -0.794,
"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_OBP",
"before": 0.281,
"after": 0.2912,
"delta": 0.0102,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.794,
"after": 0.0,
"delta": -0.794,
"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.079 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.048 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.281 | - |
| predicted_R | 0.476 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.427 | - |
| predicted_SO | 0.794 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.079 | 0.000 |
| predicted_3B | 0.050 | 0.018 |
| predicted_AB | 3.051 | 0.003 |
| predicted_AVG | 0.244 | -0.009 |
| predicted_BB | 0.241 | -0.045 |
| predicted_H | 0.675 | 0.025 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.051 | -0.009 |
| predicted_OBP | 0.279 | -0.002 |
| predicted_R | 0.419 | -0.057 |
| predicted_RBI | 0.255 | -0.015 |
| predicted_SLG | 0.393 | -0.034 |
| predicted_SO | 0.832 | 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.079 | 0.000 |
| predicted_3B | 0.050 | 0.000 |
| predicted_AB | 3.051 | 0.000 |
| predicted_AVG | 0.234 | -0.011 |
| predicted_BB | 0.246 | 0.005 |
| predicted_H | 0.714 | 0.039 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.054 | 0.003 |
| predicted_OBP | 0.291 | 0.012 |
| predicted_R | 0.462 | 0.043 |
| predicted_RBI | 0.281 | 0.026 |
| predicted_SLG | 0.345 | -0.048 |
| predicted_SO | 0.813 | -0.019 |
AB rounded to 3 (raw=3.05), rates preserved: AVG=0.234 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.079 |
| predicted_3B | 0.000 | -0.050 |
| predicted_AB | 3.000 | -0.051 |
| predicted_AVG | 0.333 | 0.099 |
| predicted_BB | 0.000 | -0.246 |
| predicted_H | 1.000 | 0.286 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.333 | 0.042 |
| predicted_R | 0.000 | -0.462 |
| predicted_RBI | 0.000 | -0.281 |
| predicted_SLG | 0.333 | -0.012 |
| predicted_SO | 1.000 | 0.187 |
Attached 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 | - | 14.000 | 3.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 5.000 | 0.2143 | 0.2143 | 0.3571 | 0.2143 | 0.0000 | 0.0714 | 0.0000 | 0.3571 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 1.000 | 1.000 | 0.000 | 2.000 | 2.000 | 0.000 | 10.000 | 0.2500 | 0.2500 | 0.3571 | 0.2500 | 0.0000 | 0.0714 | 0.0000 | 0.3571 |
| season | 0.60 | 63 | - | 192.000 | 44.000 | 5.000 | 2.000 | 3.000 | 13.000 | 30.000 | 18.000 | 50.000 | 0.2292 | 0.2986 | 0.3229 | 0.2292 | 0.0156 | 0.0677 | 0.0938 | 0.2604 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0790 |
| predicted_3B | 0.0760 |
| predicted_AB | 3.0550 |
| predicted_AVG | 0.2325 |
| predicted_BB | 0.1770 |
| predicted_H | 0.7100 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0380 |
| predicted_OBP | 0.2762 |
| predicted_R | 0.3390 |
| predicted_RBI | 0.2340 |
| predicted_SLG | 0.3455 |
| predicted_SO | 0.8850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0790 | 0.0790 | 0.0790 | model_form_blend |
| predicted_3B | 0.0320 | 0.0760 | 0.0502 | model_form_blend |
| predicted_AB | 3.0480 | 3.0550 | 3.0509 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2325 | 0.2445 | model_form_blend |
| predicted_BB | 0.2860 | 0.1770 | 0.2409 | model_form_blend |
| predicted_H | 0.6500 | 0.7100 | 0.6748 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0600 | 0.0380 | 0.0509 | model_form_blend |
| predicted_OBP | 0.2810 | 0.2762 | 0.2790 | model_form_blend |
| predicted_R | 0.4760 | 0.3390 | 0.4193 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2340 | 0.2551 | model_form_blend |
| predicted_SLG | 0.4270 | 0.3455 | 0.3933 | model_form_blend |
| predicted_SO | 0.7940 | 0.8850 | 0.8316 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.229 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 3B |
| gameID | 20260630_CIN@MIL |
| game_type | full |
| mlbID | 666152 |
| playerID | 666152 |
| playerName | David Hamilton |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-30 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.288 |
| sl_xwoba | 0.263 |
| sl_xba | 0.201 |
| sl_xslg | 0.294 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 26.3 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 45.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.688 | 4.000 | -0.688 | -3.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 3.062 | 2.000 | -1.062 | 0.000 |
| predicted_IP | 7.000 | 7.000 | 7.000 | Pitching_InningsPitched | 6.144 | 6.000 | 0.856 | 1.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 9.125 | 8.000 | -2.125 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 1 | 1 | 0 | 1 | 0 | predicted_SO: 4.0000 -> 9.0000 (boost 5.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: 9.0000 -> 7.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "694819",
"player_name": "Jacob Misiorowski",
"position": "Starter",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 7.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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 7.0,
"predicted_SO": 9.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 9.0,
"delta": 5.0,
"percent_delta": 1.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": 9.0,
"delta": 5.0,
"percent_delta": 1.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 7.0,
"predicted_R": 0.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 9.0,
"after": 7.0,
"delta": -2.0,
"percent_delta": -0.2222,
"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": 9.0,
"after": 7.0,
"delta": -2.0,
"percent_delta": -0.2222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 7.0,
"after": 7.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,
"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 | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 7.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 | 1.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 7.000 | 0.000 |
| predicted_SO | 9.000 | 5.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 35.000 | 3.000 | 15.000 | 8.000 | 46.000 | 1.000 | 0.7714 | 0.6571 | 0.0857 | 0.4286 | 0.2286 | 1.3143 | 0.0286 |
| last_10 | 0.35 | 10 | 66.100 | 4.000 | 26.000 | 14.000 | 95.000 | 1.000 | 0.5427 | 0.6030 | 0.0603 | 0.3920 | 0.2111 | 1.4322 | 0.0151 |
| season | 0.20 | 16 | 99.000 | 16.000 | 49.000 | 27.000 | 146.000 | 5.000 | 1.4545 | 0.7677 | 0.1616 | 0.4950 | 0.2727 | 1.4748 | 0.0505 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7800 |
| predicted_ER | 1.2840 |
| predicted_ERA | 1.6972 |
| predicted_H | 3.7910 |
| predicted_HR | 0.3850 |
| predicted_IP | 6.2000 |
| predicted_SO | 8.7450 |
| predicted_WHIP | 0.8180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.7800 | 1.4285 | model_form_blend |
| predicted_ER | 0.0000 | 1.2840 | 0.7054 | model_form_blend |
| predicted_ERA | - | 1.6972 | 1.6972 | form_only |
| predicted_H | 2.0000 | 3.7910 | 2.9840 | model_form_blend |
| predicted_HR | 0.0000 | 0.3850 | 0.2115 | model_form_blend |
| predicted_IP | 7.0000 | 6.2000 | 6.2000 | model_form_blend |
| predicted_SO | 4.0000 | 8.7450 | 6.6069 | model_form_blend |
| predicted_WHIP | - | 0.8180 | 0.8180 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 7.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 7 |
| HR | 0 |
| BF | 24 |
| Pitches | 98 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.45 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 7 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 107 |
| Pitching_R | 1 |
| Pitching_SO | 8 |
| Pitching_Strikes | 69 |
| Pitching_Wild Pitch | 2 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260626_CHC@MIL |
| game_type | full |
| mlbID | 694819 |
| playerID | 694819 |
| playerName | Jacob Misiorowski |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-06-26 |
| sl_k_percent | 38.8 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.199 |
| sl_xwoba | 0.228 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 33.2 |
| sl_whiff_percent | 37.9 |
| sl_swing_percent | 49.6 |
| sl_avg_best_speed | 76.443577526 |
| sl_avg_hyper_speed | 92.953116701 |
| 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.324 | 0.000 | -0.324 | 0.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.676 | 0.000 | -0.676 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.888 | 1.000 | 0.112 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.941 | 0.000 | -0.941 | 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": "682842",
"player_name": "Abner Uribe",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 2.000 | 0.000 | 3.000 | 0.000 | 0.0000 | 0.3529 | 0.0000 | 0.3529 | 0.0000 | 0.5294 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 1.000 | 4.000 | 2.000 | 9.000 | 1.000 | 0.8438 | 0.5625 | 0.0938 | 0.3750 | 0.1875 | 0.8438 | 0.0938 |
| season | 0.20 | 34 | 33.000 | 11.000 | 23.000 | 11.000 | 32.000 | 3.000 | 3.0000 | 1.0303 | 0.3333 | 0.6970 | 0.3333 | 0.9697 | 0.0909 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2300 |
| predicted_ER | 0.2720 |
| predicted_ERA | 2.4476 |
| predicted_H | 0.6620 |
| predicted_HR | 0.0930 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8250 |
| predicted_WHIP | 0.8915 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2300 | 0.1074 | model_form_blend |
| predicted_ER | 0.0000 | 0.2720 | 0.1270 | model_form_blend |
| predicted_ERA | - | 2.4476 | 2.4476 | form_only |
| predicted_H | 0.0000 | 0.6620 | 0.3091 | model_form_blend |
| predicted_HR | 0.0000 | 0.0930 | 0.0434 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8250 | 0.9183 | model_form_blend |
| predicted_WHIP | - | 0.8915 | 0.8915 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 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 | 3.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 5 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 682842 |
| playerID | 682842 |
| playerName | Abner Uribe |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.242 |
| sl_xwoba | 0.25 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 29.5 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 44.9 |
| sl_avg_best_speed | 75.502347674 |
| sl_avg_hyper_speed | 92.690079884 |
| 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.265 | 0.000 | -0.265 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.676 | 1.000 | -0.676 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.971 | 1.000 | 0.029 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.294 | 1.000 | -1.294 | -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": "656730",
"player_name": "Trevor Megill",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.4000 | 0.2000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 4.000 | 2.000 | 15.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.4000 | 0.2000 | 1.5000 | 0.0000 |
| season | 0.20 | 33 | 33.000 | 8.000 | 21.000 | 9.000 | 44.000 | 0.000 | 2.1818 | 0.9091 | 0.2424 | 0.6364 | 0.2727 | 1.3333 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2770 |
| predicted_ER | 0.2430 |
| predicted_ERA | 2.1875 |
| predicted_H | 0.6720 |
| predicted_HR | 0.0640 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1680 |
| predicted_WHIP | 0.9482 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2770 | 0.1294 | model_form_blend |
| predicted_ER | 0.0000 | 0.2430 | 0.1135 | model_form_blend |
| predicted_ERA | - | 2.1875 | 2.1875 | form_only |
| predicted_H | 0.0000 | 0.6720 | 0.3138 | model_form_blend |
| predicted_HR | 0.0000 | 0.0640 | 0.0299 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1680 | 1.0785 | model_form_blend |
| predicted_WHIP | - | 0.9482 | 0.9482 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 6 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.27 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 656730 |
| playerID | 656730 |
| playerName | Trevor Megill |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 33.1 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.226 |
| sl_xwoba | 0.229 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 40.5 |
| sl_whiff_percent | 33.6 |
| sl_swing_percent | 52.2 |
| sl_avg_best_speed | 81.624572368 |
| sl_avg_hyper_speed | 94.2130648 |
| 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.650 | 0.000 | -0.650 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.450 | 0.000 | 0.550 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.075 | 1.000 | 0.925 | 1.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 1.155 | 1.100 | -1.155 | -1.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.750 | 2.000 | -1.750 | -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": "676879",
"player_name": "Aaron Ashby",
"position": "Middle Reliever",
"team": "MIL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 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 | 5.000 | 2.000 | 3.000 | 4.000 | 6.000 | 0.000 | 3.6000 | 1.4000 | 0.4000 | 0.6000 | 0.8000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 5.000 | 6.000 | 6.000 | 14.000 | 1.000 | 4.3548 | 1.1613 | 0.4839 | 0.5806 | 0.5806 | 1.3548 | 0.0968 |
| season | 0.20 | 40 | 51.100 | 18.000 | 43.000 | 26.000 | 70.000 | 4.000 | 3.1558 | 1.3442 | 0.3507 | 0.8377 | 0.5065 | 1.3636 | 0.0779 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4650 |
| predicted_ER | 0.3670 |
| predicted_ERA | 4.0071 |
| predicted_H | 0.6170 |
| predicted_HR | 0.0670 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9710 |
| predicted_WHIP | 1.3111 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4650 | 0.2375 | model_form_blend |
| predicted_ER | 1.0000 | 0.3670 | 0.6767 | model_form_blend |
| predicted_ERA | - | 4.0071 | 4.0071 | form_only |
| predicted_H | 2.0000 | 0.6170 | 1.2936 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0342 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9710 | 0.9852 | model_form_blend |
| predicted_WHIP | - | 1.3111 | 1.3111 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 40 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.16 |
| 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 | 1.1 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260701_CIN@MIL |
| game_type | full |
| mlbID | 676879 |
| playerID | 676879 |
| playerName | Aaron Ashby |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-07-01 |
| sl_k_percent | 31.7 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.293 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 40.7 |
| sl_whiff_percent | 31.9 |
| sl_swing_percent | 40.3 |
| sl_avg_best_speed | 75.241089344 |
| sl_avg_hyper_speed | 94.352167951 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | DET 4 - 3 TEX | DET | 0.640 | scoring_simulation.final_score | True |
| Simulation draw | DET 5 - 3 TEX | DET | - | reconciled_final_score | 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.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6400 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | reconciled_final_score |
| 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 | 4.977 | 3.966 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 3 | 0.6400 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 4 | 3 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 4 | 3 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 5 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46077550143266477,
"base_low_score_probability": 0.419054441260745,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.04172106017191979,
"confidence": 0.64978,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.09956
},
"prediction": "normal_scoring",
"expected_total_runs": 8,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 8,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 86,
"near_bucket_sample_size": 9,
"medium_bucket_sample_size": 86,
"wide_bucket_sample_size": 88,
"global_sample_size": 88,
"bucket_scope": "pooled_0.08",
"sparse_bucket": false,
"empirical_hit_rate": 0.5349,
"bayesian_hit_rate": 0.5288,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8269,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5844,
"calibrated_pick_probability": 0.546,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "TEX",
"games": 87,
"wins": 44,
"losses": 43,
"win_pct": 0.5057471264367817,
"runs_scored": 354,
"runs_allowed": 362,
"run_differential": -8,
"run_differential_per_game": -0.09195402298850575,
"available": true
},
"away": {
"team": "DET",
"games": 87,
"wins": 38,
"losses": 49,
"win_pct": 0.4367816091954023,
"runs_scored": 366,
"runs_allowed": 355,
"run_differential": 11,
"run_differential_per_game": 0.12643678160919541,
"available": true
},
"run_differential_edge_per_game": -0.2184,
"win_pct_edge": 0.069,
"quality_edge": -0.1149,
"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": "TEX",
"final_score_winner": "DET",
"pre_simulation_winner": "DET",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "DET 4 - 3 TEX",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "DET 5 - 3 TEX",
"winner": "DET"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 0.1149,
"winner": "DET",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "TEX",
"games": 87,
"wins": 44,
"losses": 43,
"win_pct": 0.5057471264367817,
"runs_scored": 354,
"runs_allowed": 362,
"run_differential": -8,
"run_differential_per_game": -0.09195402298850575,
"available": true
},
"away": {
"team": "DET",
"games": 87,
"wins": 38,
"losses": 49,
"win_pct": 0.4367816091954023,
"runs_scored": 366,
"runs_allowed": 355,
"run_differential": 11,
"run_differential_per_game": 0.12643678160919541,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.9926,
"final_margin": -0.9926,
"margin_cap": 1.5,
"season_quality_edge": 0.1149,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.54595,
"final_confidence": 0.54595,
"confidence_cap": 0.66,
"score_gap": 0.9926,
"calibration_sample_size": 86,
"calibration_empirical_hit_rate": 0.5349,
"calibration_bayesian_hit_rate": 0.5288,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1149,
"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": 4,
"home_runs": 3,
"score_text": "DET 4 - 3 TEX",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "DET 5 - 3 TEX",
"winner": "DET"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 0.1149,
"winner": "DET",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 5,
"home_runs": 3,
"confidence": 0.64,
"home_win_probability": 0.36,
"away_win_probability": 0.64,
"predicted_score_text": "DET 5 - 3 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": "DET",
"original_runs": 4,
"run_delta": 0.0956,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": 0.2899885336042134,
"contact": 0.047030916685019325,
"power": 0.3008121855018705,
"discipline": -0.058098890281454006,
"xwoba": 0.32173333333333337,
"recent_xwoba": 0.32173333333333337,
"barrel": 9.486666666666668,
"ab_hard_contact": 0.20209767829137912,
"ab_bat_speed": 70.68050038410301,
"ab_strikeout_rate": 0.25819174742431117,
"available_players": 9,
"top_players": [
{
"player_id": "693307",
"player_name": "Dillon Dingler",
"position": "C",
"weight": 4.0,
"quality": 1.0425796441088346,
"contact": 1.3433143298299066,
"power": 1.3999345989016971,
"discipline": -0.09058551992225453,
"xwoba": 0.388,
"recent_xwoba": 0.388,
"barrel": 12.5,
"ab_hard_contact": 0.8611681685101288,
"ab_bat_speed": 70.73868148688047,
"ab_strikeout_rate": 0.22332361516034985,
"available": 1.0
},
{
"player_id": "682985",
"player_name": "Riley Greene",
"position": "LF",
"weight": 4.0,
"quality": 0.8667421780033463,
"contact": 0.8529763966202589,
"power": 1.2487056856554264,
"discipline": 0.11657575757575767,
"xwoba": 0.361,
"recent_xwoba": 0.361,
"barrel": 13.8,
"ab_hard_contact": 0.7141137131085362,
"ab_bat_speed": 73.9139733044733,
"ab_strikeout_rate": 0.2733766233766234,
"available": 1.0
},
{
"player_id": "656716",
"player_name": "Zach McKinstry",
"position": "SS",
"weight": 3.0,
"quality": -0.4692914043543561,
"contact": -1.1134928867942433,
"power": -1.4172315112143452,
"discipline": 0.6786041666666667,
"xwoba": 0.266,
"recent_xwoba": 0.266,
"barrel": 1.9,
"ab_hard_contact": -0.701963557620225,
"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.42140860757122983,
"contact": -2.0,
"power": -1.1591870918850828,
"discipline": -1.1760269151138714,
"xwoba": 0.224,
"recent_xwoba": 0.224,
"barrel": 5.5,
"ab_hard_contact": -1.218789456749284,
"ab_bat_speed": 70.11527777777778,
"ab_strikeout_rate": 0.39855072463768115,
"available": 1.0
},
{
"player_id": "805808",
"player_name": "Kevin McGonigle",
"position": "3B",
"weight": 4.0,
"quality": 0.6440545610520878,
"contact": 0.8048023827756128,
"power": 0.3366097003856882,
"discipline": 1.3350480682839172,
"xwoba": 0.368,
"recent_xwoba": 0.368,
"barrel": 8.4,
"ab_hard_contact": 0.45447972199948233,
"ab_bat_speed": 70.23968179095537,
"ab_strikeout_rate": 0.13254716981132075,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "543135",
"player_name": "Nathan Eovaldi",
"quality": 0.05988577570543589,
"contact": -0.08988720244126967,
"command": 0.4447142857142855,
"movement": -0.36292087805670903,
"xwoba": 0.312,
"whiff": 29.9,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "TEX",
"original_runs": 3,
"run_delta": 0.1007,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": 0.053791150322951876,
"contact": -0.16692493465903363,
"power": -0.32877975757499756,
"discipline": -0.0976434626431265,
"xwoba": 0.29786666666666667,
"recent_xwoba": 0.29786666666666667,
"barrel": 5.620000000000001,
"ab_hard_contact": -0.19330943721423452,
"ab_bat_speed": 69.83269886962675,
"ab_strikeout_rate": 0.2316029864526503,
"available_players": 8,
"top_players": [
{
"player_id": "695508",
"player_name": "Cameron Cauley",
"position": "CF",
"weight": 3.0,
"quality": -0.0,
"contact": -2.0,
"power": -2.0,
"discipline": 0.8172857142857142,
"xwoba": 0.178,
"recent_xwoba": 0.178,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26074450904393,
"ab_strikeout_rate": 0.221,
"available": 0.0
},
{
"player_id": "673962",
"player_name": "Josh Jung",
"position": "3B",
"weight": 4.0,
"quality": 0.5476853935862445,
"contact": 0.9872956863605181,
"power": 0.36863343907648527,
"discipline": 0.23202380952380952,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 5.9,
"ab_hard_contact": 0.6511449720058999,
"ab_bat_speed": 70.08618944444444,
"ab_strikeout_rate": 0.16699999999999998,
"available": 1.0
},
{
"player_id": "670032",
"player_name": "Nicky Lopez",
"position": "SS",
"weight": 3.0,
"quality": -0.059149776623376615,
"contact": -0.8187428571428568,
"power": -1.431257142857143,
"discipline": -0.40076190476190476,
"xwoba": 0.267,
"recent_xwoba": 0.267,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 61.67933333333333,
"ab_strikeout_rate": 0.25,
"available": 1.0
},
{
"player_id": "679822",
"player_name": "Justin Foscue",
"position": "2B",
"weight": 3.0,
"quality": 0.15994166569732843,
"contact": 0.7929547145615767,
"power": 0.9566696430768628,
"discipline": -0.12555555555555556,
"xwoba": 0.366,
"recent_xwoba": 0.366,
"barrel": 11.8,
"ab_hard_contact": -0.16108332893892285,
"ab_bat_speed": 69.4074074074074,
"ab_strikeout_rate": 0.27222222222222225,
"available": 1.0
},
{
"player_id": "696030",
"player_name": "Alejandro Osuna",
"position": "LF",
"weight": 3.0,
"quality": -0.10336270269439848,
"contact": 0.06705433205838396,
"power": -1.053524760985656,
"discipline": 0.54202052545156,
"xwoba": 0.311,
"recent_xwoba": 0.311,
"barrel": 0.0,
"ab_hard_contact": 0.21407620885831613,
"ab_bat_speed": 69.92044642857142,
"ab_strikeout_rate": 0.15057471264367814,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "664285",
"player_name": "Framber Valdez",
"quality": -0.31781416953262476,
"contact": -0.28671978020047617,
"command": -0.38214285714285723,
"movement": -0.47903045523593607,
"xwoba": 0.321,
"whiff": 21.0,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 4,
"home_runs": 3,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 4,
"home_runs": 3,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.1149,
"recent_form_edge_home_minus_away": -0.084,
"pitcher_matchup_edge_home_minus_away": -0.0597,
"composite_home_edge": -0.3955,
"existing_home_win_probability": 0.4541,
"refreshed_home_win_probability": 0.3119,
"winner_support_before_review": 0.3955
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"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": 3,
"predicted_score_text": "DET 4 - 3 TEX",
"confidence": 0.64,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "DET 4 - 3 TEX",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 3,
"score_text": "DET 5 - 3 TEX",
"winner": "DET"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 0,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 0.1149,
"winner": "DET",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "DET",
"display_confidence": 0.64,
"internal_fair_probability": 0.5958,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.0718,
"moneyline_fit": "press",
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 2,
"winner_quality_edge": 0.1149,
"winner_recent_form_edge": 0.084,
"winner_pitcher_matchup_edge": 0.0597,
"winner_simulation_draw_rate": 0.5625,
"blowout_draw_rate_margin_4_plus": 0.25,
"high_total_draw_rate_11_plus": 0.0625,
"low_total_draw_rate_6_or_less": 0.75,
"total_runs_spread": {
"min": 1,
"median": 5,
"max": 12,
"range": 11
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}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.0295 | 1.0295 | 1 | 9 | 0 |
| Home TEX | True | 0.9969 | 0.9969 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Kerry Carpenter | 301 | 1.0157 | 0.2095 | neutral | 0.3180 | 0.2220 | 0.4310 | 11.60 | 49.60 | 90.90 | 20.90 | 30.10 | 29.80 | 7.80 | -0.8286 |
| 3B | Kevin McGonigle | 3 | 1.0696 | 0.9285 | neutral | 0.3680 | 0.2720 | 0.4490 | 8.40 | 37.30 | 88.30 | 21.70 | 15.80 | 13.90 | 14.50 | 0.0857 |
| LF | Riley Greene | 82 | 1.0898 | 1.1970 | neutral | 0.3610 | 0.2610 | 0.4720 | 13.80 | 51.40 | 92 | 18.20 | 29.90 | 26.80 | 12.40 | -0.0286 |
| C | Dillon Dingler | 16 | 1.1135 | 1.5128 | neutral | 0.3880 | 0.2950 | 0.5460 | 12.50 | 48.50 | 90.20 | 17.30 | 21.70 | 21 | 6.90 | 0.6000 |
| DH | Colt Keith | 315 | 1.0221 | 0.2943 | neutral | 0.3150 | 0.2640 | 0.4160 | 7 | 41.70 | 88.60 | 12.50 | 20.60 | 18.90 | 4.80 | 0.6286 |
| SS | Zach McKinstry | 377 | 0.9679 | -0.4277 | neutral | 0.2660 | 0.2150 | 0.2890 | 1.90 | 20 | 84.10 | 13.40 | 16.10 | 16.90 | 10.30 | 0.3143 |
| 1B | Spencer Torkelson | 452 | 1.0498 | 0.6639 | neutral | 0.3280 | 0.2210 | 0.4210 | 14.40 | 45.60 | 90.40 | 19.90 | 31 | 32.20 | 11.60 | 0.0286 |
| CF | James Outman | 450 | 0.9502 | -0.6641 | neutral | 0.2240 | 0.1530 | 0.2540 | 5.50 | 29.10 | 86.40 | 17.10 | 41.30 | 42.10 | 8.80 | -0.7429 |
| 2B | Hao-Yu Lee | 391 | 0.9873 | -0.1687 | neutral | 0.2770 | 0.2250 | 0.3700 | 8.20 | 34 | 87.70 | 16.20 | 30.40 | 26.20 | 5 | -0.5714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Justin Foscue | 243 | 1.0387 | 0.5163 | neutral | 0.3660 | 0.2740 | 0.4980 | 11.80 | 45.60 | 89.10 | 17 | 22.70 | 23.50 | 7.80 | 0 |
| 3B | Josh Jung | 93 | 1.0541 | 0.7218 | neutral | 0.3460 | 0.2890 | 0.4340 | 5.90 | 47.80 | 90.30 | 11.20 | 19.10 | 18 | 7.70 | -0.1714 |
| RF | Ezequiel Duran | 86 | 0.9965 | -0.0466 | neutral | 0.3050 | 0.2580 | 0.3670 | 5.60 | 37.50 | 88.80 | 10.10 | 27.20 | 23.20 | 7.30 | -0.5714 |
| 1B | Jake Burger | 90 | 1.0167 | 0.2233 | neutral | 0.3110 | 0.2410 | 0.4030 | 9.50 | 46.80 | 90.30 | 12.30 | 34.30 | 25.90 | 8.20 | -0.4571 |
| C | Kyle Higashioka | 244 | 0.9936 | -0.0850 | neutral | 0.2930 | 0.2190 | 0.3430 | 9 | 37 | 87.70 | 16.80 | 27.70 | 25.80 | 10.70 | -0.1143 |
| CF | Cameron Cauley | 438 | 0.9295 | -0.9394 | negative_batter_regression | 0.1780 | 0.1300 | 0.1410 | 0 | 0 | 75.40 | 8.50 | 13.30 | 20 | 10 | -1.4857 |
| DH | Elias Díaz | 157 | 0.9846 | -0.2052 | negative_batter_regression | 0.2810 | 0.2560 | 0.3880 | 7.40 | 33.30 | 85.60 | 13.60 | 29.60 | 19.10 | 1.50 | -1.6286 |
| LF | Alejandro Osuna | 257 | 0.9949 | -0.0684 | neutral | 0.3110 | 0.2640 | 0.3170 | 0 | 30.10 | 87.60 | 5.40 | 15.50 | 14.30 | 8.30 | 0.6000 |
| SS | Nicky Lopez | 254 | 0.9634 | -0.4879 | negative_batter_regression | 0.2670 | 0.2540 | 0.3050 | 0 | 24.10 | 85.30 | 1.10 | 19.50 | 16 | 3 | -1.7714 |
{
"home": {
"applied": true,
"offense_factor": 0.9969,
"raw_average_factor": 0.9969,
"team_espn_average_rank": 206.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "679822",
"player_name": "Justin Foscue",
"offense_factor": 1.0387,
"quality_score": 0.5163,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679822",
"espn_id": 4298639,
"player_name": "Justin Foscue",
"team": "TEX",
"role": "batter",
"espn_rank": 243,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 243,
"gp_value": 39.0,
"gp_rank": 338,
"ab_value": 91.0,
"ab_rank": 366,
"r_value": 12.0,
"r_rank": 343,
"h_value": 25.0,
"h_rank": 332,
"avg_value": 0.2747252,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 266,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 15.0,
"rbi_rank": 288,
"tb_value": 46.0,
"tb_rank": 1659,
"bb_value": 8.0,
"bb_rank": 351,
"so_value": 24.0,
"so_rank": 350,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3431372,
"obp_rank": "-",
"slg_value": 0.5054945,
"slg_rank": "-",
"ops_value": 0.8486317,
"ops_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 52.0,
"k_percent": 23.5,
"bb_percent": 7.8,
"woba": 0.366,
"xwoba": 0.366,
"xba": 0.274,
"xslg": 0.498,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 45.6,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 17.0,
"whiff_percent": 22.7,
"swing_percent": 44.3
},
"components": {
"expected_quality": 1.334,
"regression_edge": 0.0,
"xwoba_edge": 1.8,
"xba_edge": 1.0,
"xslg_edge": 1.8143,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.0714,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "673962",
"player_name": "Josh Jung",
"offense_factor": 1.0541,
"quality_score": 0.7218,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673962",
"espn_id": 42437,
"player_name": "Josh Jung",
"team": "TEX",
"role": "batter",
"espn_rank": 93,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 93,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 316.0,
"ab_rank": 33,
"r_value": 40.0,
"r_rank": 83,
"h_value": 93.0,
"h_rank": 10,
"avg_value": 0.2943037,
"avg_rank": 13.0,
"2b_value": 20.0,
"2b_rank": 9,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 9.0,
"hr_rank": 112,
"rbi_value": 32.0,
"rbi_rank": 131,
"tb_value": 140.0,
"tb_rank": 783,
"bb_value": 27.0,
"bb_rank": 109,
"so_value": 63.0,
"so_rank": 109,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3571428,
"obp_rank": "39",
"slg_value": 0.4430379,
"slg_rank": "66",
"ops_value": 0.8001807,
"ops_rank": 27.0,
"war_value": 1.63,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 203.0,
"k_percent": 18.0,
"bb_percent": 7.7,
"woba": 0.352,
"xwoba": 0.346,
"xba": 0.289,
"xslg": 0.434,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 47.8,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 11.2,
"whiff_percent": 19.1,
"swing_percent": 46.4
},
"components": {
"expected_quality": 0.9375,
"regression_edge": -0.1714,
"xwoba_edge": 1.2286,
"xba_edge": 1.4286,
"xslg_edge": 0.9,
"barrel_edge": -0.2222,
"hard_hit_edge": 1.3857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 1.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"offense_factor": 0.9965,
"quality_score": -0.0466,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677649",
"espn_id": 42457,
"player_name": "Ezequiel Duran",
"team": "TEX",
"role": "batter",
"espn_rank": 86,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 86,
"gp_value": 78.0,
"gp_rank": 118,
"ab_value": 264.0,
"ab_rank": 118,
"r_value": 34.0,
"r_rank": 128,
"h_value": 72.0,
"h_rank": 88,
"avg_value": 0.2727272,
"avg_rank": 43.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 41.0,
"rbi_rank": 66,
"tb_value": 109.0,
"tb_rank": 746,
"bb_value": 21.0,
"bb_rank": 168,
"so_value": 67.0,
"so_rank": 95,
"sb_value": 6.0,
"sb_rank": 87,
"obp_value": 0.3263888,
"obp_rank": "86",
"slg_value": 0.4128787,
"slg_rank": "95",
"ops_value": 0.7392675,
"ops_rank": 181.0,
"war_value": 1.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 23.2,
"bb_percent": 7.3,
"woba": 0.325,
"xwoba": 0.305,
"xba": 0.258,
"xslg": 0.367,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 10.1,
"whiff_percent": 27.2,
"swing_percent": 50.8
},
"components": {
"expected_quality": 0.0171,
"regression_edge": -0.5714,
"xwoba_edge": 0.0571,
"xba_edge": 0.5429,
"xslg_edge": -0.0571,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "669394",
"player_name": "Jake Burger",
"offense_factor": 1.0167,
"quality_score": 0.2233,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669394",
"espn_id": 39882,
"player_name": "Jake Burger",
"team": "TEX",
"role": "batter",
"espn_rank": 90,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 90,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 308.0,
"ab_rank": 58,
"r_value": 38.0,
"r_rank": 96,
"h_value": 77.0,
"h_rank": 69,
"avg_value": 0.25,
"avg_rank": 87.0,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 52.0,
"rbi_rank": 27,
"tb_value": 133.0,
"tb_rank": 710,
"bb_value": 28.0,
"bb_rank": 97,
"so_value": 88.0,
"so_rank": 26,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3147058,
"obp_rank": "112",
"slg_value": 0.4318181,
"slg_rank": "76",
"ops_value": 0.7465239,
"ops_rank": 188.0,
"war_value": 1.68,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 25.9,
"bb_percent": 8.2,
"woba": 0.327,
"xwoba": 0.311,
"xba": 0.241,
"xslg": 0.403,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 46.8,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 12.3,
"whiff_percent": 34.3,
"swing_percent": 50.2
},
"components": {
"expected_quality": 0.3451,
"regression_edge": -0.4571,
"xwoba_edge": 0.2286,
"xba_edge": 0.0571,
"xslg_edge": 0.4571,
"barrel_edge": 0.5778,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "543309",
"player_name": "Kyle Higashioka",
"offense_factor": 0.9936,
"quality_score": -0.085,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543309",
"espn_id": 30545,
"player_name": "Kyle Higashioka",
"team": "TEX",
"role": "batter",
"espn_rank": 244,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 244,
"gp_value": 47.0,
"gp_rank": 307,
"ab_value": 141.0,
"ab_rank": 284,
"r_value": 17.0,
"r_rank": 283,
"h_value": 31.0,
"h_rank": 287,
"avg_value": 0.2198581,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 375,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 15.0,
"rbi_rank": 288,
"tb_value": 49.0,
"tb_rank": 1723,
"bb_value": 17.0,
"bb_rank": 211,
"so_value": 41.0,
"so_rank": 229,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3081761,
"obp_rank": "-",
"slg_value": 0.3475177,
"slg_rank": "-",
"ops_value": 0.6556938,
"ops_rank": null,
"war_value": 0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 91.0,
"k_percent": 25.8,
"bb_percent": 10.7,
"woba": 0.297,
"xwoba": 0.293,
"xba": 0.219,
"xslg": 0.343,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 37.0,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 16.8,
"whiff_percent": 27.7,
"swing_percent": 42.6
},
"components": {
"expected_quality": -0.201,
"regression_edge": -0.1143,
"xwoba_edge": -0.2857,
"xba_edge": -0.5714,
"xslg_edge": -0.4,
"barrel_edge": 0.4667,
"hard_hit_edge": -0.1571,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "695508",
"player_name": "Cameron Cauley",
"offense_factor": 0.9295,
"quality_score": -0.9394,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695508",
"espn_id": 4917917,
"player_name": "Cameron Cauley",
"team": "TEX",
"role": "batter",
"espn_rank": 438,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 438,
"gp_value": 3.0,
"gp_rank": 564,
"ab_value": 9.0,
"ab_rank": 556,
"r_value": 2.0,
"r_rank": 494,
"h_value": 1.0,
"h_rank": 549,
"avg_value": 0.1111111,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 508,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 0.0,
"rbi_rank": 540,
"tb_value": 3.0,
"tb_rank": 2627,
"bb_value": 1.0,
"bb_rank": 491,
"so_value": 2.0,
"so_rank": 556,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2,
"obp_rank": "-",
"slg_value": 0.3333333,
"slg_rank": "-",
"ops_value": 0.5333333,
"ops_rank": null,
"war_value": -0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 20.0,
"bb_percent": 10.0,
"woba": 0.23,
"xwoba": 0.178,
"xba": 0.13,
"xslg": 0.141,
"sweet_spot_percent": 14.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 0.0,
"exit_velocity_avg": 75.4,
"launch_angle_avg": 8.5,
"whiff_percent": 13.3,
"swing_percent": 46.9
},
"components": {
"expected_quality": -2.1855,
"regression_edge": -1.4857,
"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": "DH",
"player_id": "553869",
"player_name": "Elias Díaz",
"offense_factor": 0.9846,
"quality_score": -0.2052,
"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": 157,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 157,
"gp_value": 29.0,
"gp_rank": 390,
"ab_value": 66.0,
"ab_rank": 410,
"r_value": 8.0,
"r_rank": 396,
"h_value": 19.0,
"h_rank": 367,
"avg_value": 0.2878787,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 15.0,
"rbi_rank": 288,
"tb_value": 33.0,
"tb_rank": 1907,
"bb_value": 1.0,
"bb_rank": 491,
"so_value": 13.0,
"so_rank": 444,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2941176,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.7941176,
"ops_rank": null,
"war_value": 0.92,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 20.0,
"k_percent": 19.1,
"bb_percent": 1.5,
"woba": 0.338,
"xwoba": 0.281,
"xba": 0.256,
"xslg": 0.388,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 13.6,
"whiff_percent": 29.6,
"swing_percent": 58.7
},
"components": {
"expected_quality": -0.2652,
"regression_edge": -1.6286,
"xwoba_edge": -0.6286,
"xba_edge": 0.4857,
"xslg_edge": 0.2429,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.6857,
"exit_velocity_edge": -1.28,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"offense_factor": 0.9949,
"quality_score": -0.0684,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696030",
"espn_id": 4916547,
"player_name": "Alejandro Osuna",
"team": "TEX",
"role": "batter",
"espn_rank": 257,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 257,
"gp_value": 53.0,
"gp_rank": 262,
"ab_value": 146.0,
"ab_rank": 275,
"r_value": 16.0,
"r_rank": 297,
"h_value": 36.0,
"h_rank": 257,
"avg_value": 0.2465753,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 14.0,
"rbi_rank": 298,
"tb_value": 40.0,
"tb_rank": 2412,
"bb_value": 14.0,
"bb_rank": 245,
"so_value": 24.0,
"so_rank": 350,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.3413173,
"obp_rank": "-",
"slg_value": 0.2739726,
"slg_rank": "-",
"ops_value": 0.6152899,
"ops_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 14.3,
"bb_percent": 8.3,
"woba": 0.29,
"xwoba": 0.311,
"xba": 0.264,
"xslg": 0.317,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 30.1,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 5.4,
"whiff_percent": 15.5,
"swing_percent": 47.8
},
"components": {
"expected_quality": -0.2743,
"regression_edge": 0.6,
"xwoba_edge": 0.2286,
"xba_edge": 0.7143,
"xslg_edge": -0.7714,
"barrel_edge": -1.5333,
"hard_hit_edge": -1.1429,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670032",
"player_name": "Nicky Lopez",
"offense_factor": 0.9634,
"quality_score": -0.4879,
"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": 254,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 254,
"gp_value": 34.0,
"gp_rank": 366,
"ab_value": 93.0,
"ab_rank": 364,
"r_value": 10.0,
"r_rank": 369,
"h_value": 30.0,
"h_rank": 294,
"avg_value": 0.3225806,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 412,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 8.0,
"rbi_rank": 374,
"tb_value": 35.0,
"tb_rank": 2292,
"bb_value": 3.0,
"bb_rank": 439,
"so_value": 16.0,
"so_rank": 422,
"sb_value": 3.0,
"sb_rank": 169,
"obp_value": 0.3571428,
"obp_rank": "-",
"slg_value": 0.376344,
"slg_rank": "-",
"ops_value": 0.7334868,
"ops_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 12.0,
"k_percent": 16.0,
"bb_percent": 3.0,
"woba": 0.329,
"xwoba": 0.267,
"xba": 0.254,
"xslg": 0.305,
"sweet_spot_percent": 26.6,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 24.1,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 1.1,
"whiff_percent": 19.5,
"swing_percent": 53.8
},
"components": {
"expected_quality": -0.9723,
"regression_edge": -1.7714,
"xwoba_edge": -1.0286,
"xba_edge": 0.4286,
"xslg_edge": -0.9429,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.0,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": -1.1,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0295,
"raw_average_factor": 1.0295,
"team_espn_average_rank": 265.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "681481",
"player_name": "Kerry Carpenter",
"offense_factor": 1.0157,
"quality_score": 0.2095,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681481",
"espn_id": 42714,
"player_name": "Kerry Carpenter",
"team": "DET",
"role": "batter",
"espn_rank": 301,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 301,
"gp_value": 64.0,
"gp_rank": 201,
"ab_value": 181.0,
"ab_rank": 233,
"r_value": 22.0,
"r_rank": 225,
"h_value": 43.0,
"h_rank": 219,
"avg_value": 0.237569,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 36.0,
"rbi_rank": 98,
"tb_value": 91.0,
"tb_rank": 747,
"bb_value": 16.0,
"bb_rank": 224,
"so_value": 61.0,
"so_rank": 117,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3088235,
"obp_rank": "-",
"slg_value": 0.5027624,
"slg_rank": "-",
"ops_value": 0.8115859,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 116.0,
"k_percent": 29.8,
"bb_percent": 7.8,
"woba": 0.347,
"xwoba": 0.318,
"xba": 0.222,
"xslg": 0.431,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 49.6,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 20.9,
"whiff_percent": 30.1,
"swing_percent": 49.7
},
"components": {
"expected_quality": 0.597,
"regression_edge": -0.8286,
"xwoba_edge": 0.4286,
"xba_edge": -0.4857,
"xslg_edge": 0.8571,
"barrel_edge": 1.0444,
"hard_hit_edge": 1.6429,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "805808",
"player_name": "Kevin McGonigle",
"offense_factor": 1.0696,
"quality_score": 0.9285,
"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": 589,
"metrics": {
"espn_rank": 3,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 316.0,
"ab_rank": 33,
"r_value": 54.0,
"r_rank": 17,
"h_value": 89.0,
"h_rank": 20,
"avg_value": 0.2816455,
"avg_rank": 29.0,
"2b_value": 18.0,
"2b_rank": 23,
"3b_value": 3.0,
"3b_rank": 9,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 31.0,
"rbi_rank": 142,
"tb_value": 134.0,
"tb_rank": 505,
"bb_value": 54.0,
"bb_rank": 9,
"so_value": 52.0,
"so_rank": 163,
"sb_value": 11.0,
"sb_rank": 37,
"obp_value": 0.3914209,
"obp_rank": "10",
"slg_value": 0.4240506,
"slg_rank": "83",
"ops_value": 0.8154715,
"ops_rank": 73.0,
"war_value": 4.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 13.9,
"bb_percent": 14.5,
"woba": 0.365,
"xwoba": 0.368,
"xba": 0.272,
"xslg": 0.449,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 37.3,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 21.7,
"whiff_percent": 15.8,
"swing_percent": 42.1
},
"components": {
"expected_quality": 1.0657,
"regression_edge": 0.0857,
"xwoba_edge": 1.8571,
"xba_edge": 0.9429,
"xslg_edge": 1.1143,
"barrel_edge": 0.3333,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.65,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "682985",
"player_name": "Riley Greene",
"offense_factor": 1.0898,
"quality_score": 1.197,
"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": 589,
"metrics": {
"espn_rank": 82,
"gp_value": 86.0,
"gp_rank": 14,
"ab_value": 312.0,
"ab_rank": 47,
"r_value": 44.0,
"r_rank": 57,
"h_value": 89.0,
"h_rank": 20,
"avg_value": 0.2852564,
"avg_rank": 25.0,
"2b_value": 17.0,
"2b_rank": 32,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 11.0,
"hr_rank": 82,
"rbi_value": 38.0,
"rbi_rank": 84,
"tb_value": 139.0,
"tb_rank": 726,
"bb_value": 45.0,
"bb_rank": 22,
"so_value": 97.0,
"so_rank": 15,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3756906,
"obp_rank": "20",
"slg_value": 0.4455128,
"slg_rank": "64",
"ops_value": 0.8212034,
"ops_rank": 84.0,
"war_value": 1.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 231.0,
"k_percent": 26.8,
"bb_percent": 12.4,
"woba": 0.362,
"xwoba": 0.361,
"xba": 0.261,
"xslg": 0.472,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 51.4,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 18.2,
"whiff_percent": 29.9,
"swing_percent": 45.6
},
"components": {
"expected_quality": 1.3965,
"regression_edge": -0.0286,
"xwoba_edge": 1.6571,
"xba_edge": 0.6286,
"xslg_edge": 1.4429,
"barrel_edge": 1.5333,
"hard_hit_edge": 1.9,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "C",
"player_id": "693307",
"player_name": "Dillon Dingler",
"offense_factor": 1.1135,
"quality_score": 1.5128,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693307",
"espn_id": 4345620,
"player_name": "Dillon Dingler",
"team": "DET",
"role": "batter",
"espn_rank": 16,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 16,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 300.0,
"ab_rank": 78,
"r_value": 46.0,
"r_rank": 46,
"h_value": 80.0,
"h_rank": 59,
"avg_value": 0.2666666,
"avg_rank": 55.0,
"2b_value": 18.0,
"2b_rank": 23,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 19.0,
"hr_rank": 14,
"rbi_value": 59.0,
"rbi_rank": 5,
"tb_value": 159.0,
"tb_rank": 176,
"bb_value": 23.0,
"bb_rank": 145,
"so_value": 70.0,
"so_rank": 85,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3283132,
"obp_rank": "83",
"slg_value": 0.53,
"slg_rank": "12",
"ops_value": 0.8583132,
"ops_rank": 95.0,
"war_value": 3.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 201.0,
"k_percent": 21.0,
"bb_percent": 6.9,
"woba": 0.367,
"xwoba": 0.388,
"xba": 0.295,
"xslg": 0.546,
"sweet_spot_percent": 41.6,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 48.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 17.3,
"whiff_percent": 21.7,
"swing_percent": 48.4
},
"components": {
"expected_quality": 1.8277,
"regression_edge": 0.6,
"xwoba_edge": 2.4286,
"xba_edge": 1.6,
"xslg_edge": 2.5,
"barrel_edge": 1.2444,
"hard_hit_edge": 1.4857,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 1.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "690993",
"player_name": "Colt Keith",
"offense_factor": 1.0221,
"quality_score": 0.2943,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690993",
"espn_id": 4683384,
"player_name": "Colt Keith",
"team": "DET",
"role": "batter",
"espn_rank": 315,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 315,
"gp_value": 78.0,
"gp_rank": 118,
"ab_value": 233.0,
"ab_rank": 158,
"r_value": 31.0,
"r_rank": 148,
"h_value": 58.0,
"h_rank": 145,
"avg_value": 0.248927,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 191,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 18.0,
"rbi_rank": 263,
"tb_value": 86.0,
"tb_rank": 1021,
"bb_value": 12.0,
"bb_rank": 278,
"so_value": 47.0,
"so_rank": 192,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.2931726,
"obp_rank": "-",
"slg_value": 0.3690987,
"slg_rank": "-",
"ops_value": 0.6622713,
"ops_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 159.0,
"k_percent": 18.9,
"bb_percent": 4.8,
"woba": 0.293,
"xwoba": 0.315,
"xba": 0.264,
"xslg": 0.416,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 12.5,
"whiff_percent": 20.6,
"swing_percent": 44.0
},
"components": {
"expected_quality": 0.3712,
"regression_edge": 0.6286,
"xwoba_edge": 0.3429,
"xba_edge": 0.7143,
"xslg_edge": 0.6429,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.5143,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "656716",
"player_name": "Zach McKinstry",
"offense_factor": 0.9679,
"quality_score": -0.4277,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656716",
"espn_id": 38420,
"player_name": "Zach McKinstry",
"team": "DET",
"role": "batter",
"espn_rank": 377,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 377,
"gp_value": 62.0,
"gp_rank": 213,
"ab_value": 187.0,
"ab_rank": 221,
"r_value": 15.0,
"r_rank": 310,
"h_value": 36.0,
"h_rank": 257,
"avg_value": 0.1925133,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 16.0,
"rbi_rank": 277,
"tb_value": 54.0,
"tb_rank": 1421,
"bb_value": 22.0,
"bb_rank": 160,
"so_value": 36.0,
"so_rank": 257,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.2748815,
"obp_rank": "-",
"slg_value": 0.28877,
"slg_rank": "-",
"ops_value": 0.5636515,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 111.0,
"k_percent": 16.9,
"bb_percent": 10.3,
"woba": 0.255,
"xwoba": 0.266,
"xba": 0.215,
"xslg": 0.289,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 1.9,
"hard_hit_percent": 20.0,
"exit_velocity_avg": 84.1,
"launch_angle_avg": 13.4,
"whiff_percent": 16.1,
"swing_percent": 49.2
},
"components": {
"expected_quality": -1.0369,
"regression_edge": 0.3143,
"xwoba_edge": -1.0571,
"xba_edge": -0.6857,
"xslg_edge": -1.1714,
"barrel_edge": -1.1111,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.88,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "679529",
"player_name": "Spencer Torkelson",
"offense_factor": 1.0498,
"quality_score": 0.6639,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679529",
"espn_id": 4424286,
"player_name": "Spencer Torkelson",
"team": "DET",
"role": "batter",
"espn_rank": 452,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 452,
"gp_value": 86.0,
"gp_rank": 14,
"ab_value": 288.0,
"ab_rank": 95,
"r_value": 35.0,
"r_rank": 118,
"h_value": 62.0,
"h_rank": 129,
"avg_value": 0.2152777,
"avg_rank": 146.0,
"2b_value": 18.0,
"2b_rank": 23,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 38.0,
"rbi_rank": 84,
"tb_value": 122.0,
"tb_rank": 706,
"bb_value": 39.0,
"bb_rank": 37,
"so_value": 108.0,
"so_rank": 8,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3173652,
"obp_rank": "109",
"slg_value": 0.4236111,
"slg_rank": "83",
"ops_value": 0.7409763,
"ops_rank": 192.0,
"war_value": -0.17,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 32.2,
"bb_percent": 11.6,
"woba": 0.327,
"xwoba": 0.328,
"xba": 0.221,
"xslg": 0.421,
"sweet_spot_percent": 47.3,
"barrel_batted_rate": 14.4,
"hard_hit_percent": 45.6,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 19.9,
"whiff_percent": 31.0,
"swing_percent": 42.7
},
"components": {
"expected_quality": 0.7927,
"regression_edge": 0.0286,
"xwoba_edge": 0.7143,
"xba_edge": -0.5143,
"xslg_edge": 0.7143,
"barrel_edge": 1.6667,
"hard_hit_edge": 1.0714,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 2.35,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "681546",
"player_name": "James Outman",
"offense_factor": 0.9502,
"quality_score": -0.6641,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681546",
"espn_id": 41802,
"player_name": "James Outman",
"team": "DET",
"role": "batter",
"espn_rank": 450,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 450,
"gp_value": 65.0,
"gp_rank": 196,
"ab_value": 103.0,
"ab_rank": 345,
"r_value": 15.0,
"r_rank": 310,
"h_value": 17.0,
"h_rank": 380,
"avg_value": 0.1650485,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 11.0,
"rbi_rank": 337,
"tb_value": 32.0,
"tb_rank": 1706,
"bb_value": 10.0,
"bb_rank": 307,
"so_value": 48.0,
"so_rank": 184,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.245614,
"obp_rank": "-",
"slg_value": 0.3106796,
"slg_rank": "-",
"ops_value": 0.5562936,
"ops_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 62.0,
"k_percent": 42.1,
"bb_percent": 8.8,
"woba": 0.25,
"xwoba": 0.224,
"xba": 0.153,
"xslg": 0.254,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 29.1,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 17.1,
"whiff_percent": 41.3,
"swing_percent": 51.6
},
"components": {
"expected_quality": -1.5951,
"regression_edge": -0.7429,
"xwoba_edge": -2.2571,
"xba_edge": -2.4571,
"xslg_edge": -1.6714,
"barrel_edge": -0.3111,
"hard_hit_edge": -1.2857,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "701678",
"player_name": "Hao-Yu Lee",
"offense_factor": 0.9873,
"quality_score": -0.1687,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701678",
"espn_id": 5124113,
"player_name": "Hao-Yu Lee",
"team": "DET",
"role": "batter",
"espn_rank": 391,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 391,
"gp_value": 49.0,
"gp_rank": 292,
"ab_value": 133.0,
"ab_rank": 294,
"r_value": 10.0,
"r_rank": 369,
"h_value": 34.0,
"h_rank": 272,
"avg_value": 0.255639,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 266,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 13.0,
"rbi_rank": 312,
"tb_value": 51.0,
"tb_rank": 1529,
"bb_value": 7.0,
"bb_rank": 370,
"so_value": 37.0,
"so_rank": 254,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.2928571,
"obp_rank": "-",
"slg_value": 0.3834586,
"slg_rank": "-",
"ops_value": 0.6763157,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 72.0,
"k_percent": 26.2,
"bb_percent": 5.0,
"woba": 0.297,
"xwoba": 0.277,
"xba": 0.225,
"xslg": 0.37,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 8.2,
"hard_hit_percent": 34.0,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 16.2,
"whiff_percent": 30.4,
"swing_percent": 50.6
},
"components": {
"expected_quality": -0.343,
"regression_edge": -0.5714,
"xwoba_edge": -0.7429,
"xba_edge": -0.4,
"xslg_edge": -0.0143,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.5857,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.65,
"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 | 85 | -0.2156 | 1 | 1.0183 | 0.9511 | 0.9820 | 1.0225 | neutral | 0.3210 | 0.3160 | 18.50 | 8.20 | 21 | 7.10 | 41.90 | |
| Home TEX | True | 104 | 0.1503 | 1 | 0.9872 | 1.0357 | 0.9300 | 1.0103 | neutral | 0.3120 | 0.3130 | 24.40 | 5.60 | 29.90 | 8.10 | 38 |
| 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 TEX | True | None | 90 | 87.64 | 1897 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1187 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9872 |
| home_runs_vs_away_pitcher | 1.0183 |
| home_pitcher_quality_edge | 0.3659 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "543135",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 283.0,
"k_percent": 24.4,
"bb_percent": 5.6,
"woba": 0.313,
"xwoba": 0.312,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 38.0,
"avg_best_speed": 77.2207,
"avg_hyper_speed": 94.0133,
"whiff_percent": 29.9,
"swing_percent": 52.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0417,
"command_and_miss": 0.5139,
"regression_edge": 0.0286,
"xwoba_edge": 0.0143,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.0429,
"whiff_edge": 0.6286,
"bb_edge": 0.875,
"pitch_design_score": -0.1187
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "543135",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 87.63947227224524,
"release_spin_rate": 1896.9241518290642,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 87.63947227224524,
"release_spin_rate": 1896.9241518290642,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6395,
"release_spin_rate": 1896.9242,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1187,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8477,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1503,
"sample_weight": 1.0,
"run_prevention_factor": 0.9872,
"strikeout_factor": 1.0357,
"walk_factor": 0.93,
"homer_factor": 1.0103,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543135",
"espn_id": 31174,
"player_name": "Nathan Eovaldi",
"team": "TEX",
"role": "pitcher",
"espn_rank": 104,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 104,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 16.0,
"gs_rank": 47,
"qs_value": 9.0,
"qs_rank": 22,
"era_value": 3.9468,
"era_rank": 45.0,
"w_value": 8.0,
"w_rank": 12,
"l_value": 7.0,
"l_rank": 15,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 100.1,
"ip_rank": 14,
"h_value": 93.0,
"h_rank": 20,
"er_value": 44.0,
"er_rank": 28,
"hr_value": 17.0,
"hr_rank": 11,
"bb_value": 23.0,
"bb_rank": 112,
"k_value": 101.0,
"k_rank": 22,
"k_per_9_value": 9.0598,
"k_per_9_rank": 42,
"whip_value": 1.1561,
"whip_rank": 29.0,
"war_value": 1.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "664285",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 266.0,
"k_percent": 18.5,
"bb_percent": 8.2,
"woba": 0.316,
"xwoba": 0.321,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 41.9,
"avg_best_speed": 79.5284,
"avg_hyper_speed": 94.5528,
"whiff_percent": 21.0,
"swing_percent": 46.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1551,
"command_and_miss": -0.4404,
"regression_edge": -0.1429,
"xwoba_edge": -0.2429,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.5143,
"whiff_edge": -0.6429,
"bb_edge": 0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664285",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2156,
"sample_weight": 1.0,
"run_prevention_factor": 1.0183,
"strikeout_factor": 0.9511,
"walk_factor": 0.982,
"homer_factor": 1.0225,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664285",
"espn_id": 36581,
"player_name": "Framber Valdez",
"team": "DET",
"role": "pitcher",
"espn_rank": 85,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 85,
"gp_value": 17.0,
"gp_rank": 252,
"gs_value": 17.0,
"gs_rank": 17,
"qs_value": 9.0,
"qs_rank": 22,
"era_value": 4.0452,
"era_rank": 47.0,
"w_value": 4.0,
"w_rank": 88,
"l_value": 5.0,
"l_rank": 57,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 95.2,
"ip_rank": 30,
"h_value": 93.0,
"h_rank": 20,
"er_value": 43.0,
"er_rank": 37,
"hr_value": 10.0,
"hr_rank": 65,
"bb_value": 34.0,
"bb_rank": 24,
"k_value": 77.0,
"k_rank": 62,
"k_per_9_value": 7.243902,
"k_per_9_rank": 55,
"whip_value": 1.3275,
"whip_rank": 50.0,
"war_value": 1.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9872,
"home_runs_vs_away_pitcher": 1.0183,
"home_pitcher_quality_edge": 0.3659
},
"score_before": {
"away_runs": 4.1148,
"home_runs": 3.2592
},
"score_after": {
"away_runs": 4.0622,
"home_runs": 3.3189,
"home_win_probability": 0.4434
},
"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 | 5-5 | 0.500 | 5 | 3.40 | 16 | average | strong | |
| Home TEX | 6-4 | 0.600 | 4.30 | 4 | 3 | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away DET | 38-49 | 0.437 | 11 | 0.126 | True |
| Home TEX | 44-43 | 0.506 | -8 | -0.092 | True |
| Signal | - | - | -0.218 | -0.115 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target DET | - | - | 4 | - | - | - | - |
| Game target TEX | - | - | 3 | - | - | - | - |
| Player finalized DET | 30 | 8 | 3 | 0 | 4 | 1 | 9 |
| Player finalized TEX | 30 | 9 | 1 | 0 | 2 | 0 | 8 |
| Player model fractional DET | 30.59 | 7.08 | 3.83 | 1.24 | 3.85 | 2.98 | 8.03 |
| Player model fractional TEX | 29.72 | 6.35 | 3.67 | 0.74 | 3.26 | 2.32 | 6.67 |
| Simulation box DET | 35 | 8 | 5 | 1 | 5 | 2 | 7 |
| Simulation box TEX | 33 | 6 | 3 | 1 | 3 | 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 DET | Starter | Framber Valdez | 5.20 | 3 | 3 | 5 | 2 | 3.99 | 1.35 | True |
| Away DET | Middle Reliever | Tyler Holton | 1.10 | 0 | 1 | 0 | 0 | 2.69 | 1.31 | True |
| Away DET | Middle Reliever | Kenley Jansen | 1 | 0 | 0 | 0 | 1 | 5.21 | 1.28 | True |
| Away DET | Middle Reliever | Kyle Finnegan | 1 | 0 | 0 | 1 | 0 | 3.32 | 1.35 | True |
| Home TEX | Starter | Nathan Eovaldi | 6.10 | 3 | 6 | 6 | 0 | 3.85 | 1.19 | True |
| Home TEX | Middle Reliever | Jacob Latz | 1.10 | 2 | 0 | 2 | 1 | 2.92 | 0.92 | True |
| Home TEX | Middle Reliever | Jakob Junis | 1 | 0 | 0 | 0 | 0 | 5.41 | 1.52 | True |
| Home TEX | Middle Reliever | Peyton Gray | 0.10 | 0 | 1 | 0 | 1 | 2.81 | 0.90 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | DET | batter | RF | Kerry Carpenter | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 2.4300 | boost | better |
| home | TEX | batter | LF | Alejandro Osuna | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.6900 | boost | better |
| home | TEX | batter | CF | Cameron Cauley | better | 11 | 8 | 3 | 7 | 4 | predicted_SO | 1.3330 | boost | worse |
| home | TEX | batter | 3B | Josh Jung | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.2800 | deboost | worse |
| away | DET | batter | 1B | Spencer Torkelson | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -1.2710 | deboost | better |
| away | DET | batter | 3B | Kevin McGonigle | better | 10 | 5 | 5 | 6 | 4 | predicted_AB | -1.2400 | deboost | worse |
| home | TEX | batter | SS | Nicky Lopez | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | 1.1820 | boost | better |
| away | DET | batter | 2B | Hao-Yu Lee | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 1.1700 | boost | better |
| away | DET | batter | LF | Riley Greene | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.1290 | deboost | better |
| home | TEX | batter | 1B | Jake Burger | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 1.0900 | boost | better |
| home | TEX | pitcher | Starter | Nathan Eovaldi | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | TEX | pitcher | Middle Reliever | Peyton Gray | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | TEX | batter | DH | Elias Díaz | worse | 10 | 2 | 8 | 1 | 9 | predicted_BB | 0.9550 | boost | better |
| home | TEX | batter | C | Kyle Higashioka | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.9320 | deboost | better |
| away | DET | batter | C | Dillon Dingler | worse | 9 | 5 | 4 | 4 | 5 | predicted_AB | 0.9300 | boost | better |
| away | DET | batter | DH | Colt Keith | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 0.9000 | boost | better |
| away | DET | batter | SS | Zach McKinstry | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 0.8810 | boost | better |
| home | TEX | batter | 2B | Justin Foscue | worse | 11 | 2 | 9 | 3 | 8 | predicted_BB | 0.8290 | boost | better |
| away | DET | batter | CF | James Outman | worse | 10 | 3 | 7 | 2 | 8 | predicted_BB | 0.7950 | boost | better |
| home | TEX | batter | RF | Ezequiel Duran | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 0.5260 | boost | better |
| away | DET | pitcher | Starter | Framber Valdez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | DET | pitcher | Middle Reliever | Tyler Holton | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | TEX | pitcher | Middle Reliever | Jacob Latz | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Framber Valdez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2156 |
| ESPN Rank | 85 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 3 |
| Season ERA | 4.0453 |
| Season WHIP | 1.3275 |
| Role Avg IP | 5.6270 |
| Recent Avg IP | 5.6000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 94,
"wins": 40,
"losses": 54,
"win_pct": 0.4255,
"runs_scored": 390.0,
"runs_allowed": 377.0,
"run_differential": 13.0,
"run_differential_per_game": 0.1383,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.0106,
"offense_index": 0.9175,
"defense_index": 1.1274,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.6,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0465
},
"opponent": {
"team": "TEX",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 385.0,
"runs_allowed": 389.0,
"run_differential": -4.0,
"run_differential_per_game": -0.043,
"avg_runs_scored": 4.1398,
"avg_runs_allowed": 4.1828,
"offense_index": 0.9155,
"defense_index": 1.081,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.0785
},
"edges": {
"quality_edge": -0.125,
"offense_edge": -0.0825,
"opponent_offense_edge": -0.0845,
"defense_strength": 0.1274,
"opponent_defense_weakness": -0.081,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.98,
"strikeout": 1.003
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664285",
"profile": {
"available": true,
"pitcher_id": "664285",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 266.0,
"k_percent": 18.5,
"bb_percent": 8.2,
"woba": 0.316,
"xwoba": 0.321,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 41.9,
"avg_best_speed": 79.5284,
"avg_hyper_speed": 94.5528,
"whiff_percent": 21.0,
"swing_percent": 46.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1551,
"command_and_miss": -0.4404,
"regression_edge": -0.1429,
"xwoba_edge": -0.2429,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.5143,
"whiff_edge": -0.6429,
"bb_edge": 0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664285",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2156,
"sample_weight": 1.0,
"run_prevention_factor": 1.0183,
"strikeout_factor": 0.9511,
"walk_factor": 0.982,
"homer_factor": 1.0225,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664285",
"espn_id": 36581,
"player_name": "Framber Valdez",
"team": "DET",
"role": "pitcher",
"espn_rank": 85,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 85,
"gp_value": 17.0,
"gp_rank": 252,
"gs_value": 17.0,
"gs_rank": 17,
"qs_value": 9.0,
"qs_rank": 22,
"era_value": 4.0452,
"era_rank": 47.0,
"w_value": 4.0,
"w_rank": 88,
"l_value": 5.0,
"l_rank": 57,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 95.2,
"ip_rank": 30,
"h_value": 93.0,
"h_rank": 20,
"er_value": 43.0,
"er_rank": 37,
"hr_value": 10.0,
"hr_rank": 65,
"bb_value": 34.0,
"bb_rank": 24,
"k_value": 77.0,
"k_rank": 62,
"k_per_9_value": 7.243902,
"k_per_9_rank": 55,
"whip_value": 1.3275,
"whip_rank": 50.0,
"war_value": 1.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0183,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 1.0183,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.982,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0225,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9511,
"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": 55.1,
"ER": 28,
"H": 56,
"BB": 20,
"SO": 45,
"HR": 8,
"ERA": 4.554216867469879,
"WHIP": 1.3734939759036144,
"K9": 7.3192771084337345,
"HR9": 1.3012048192771084,
"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-27T00:00:00"
}{
"available": false,
"pitcher_id": "664285",
"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": 17.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7727,
"prior_weight": 0.2273
},
"role": "pitcher",
"player_id": "664285",
"report_date": "20260702_D",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 10.0,
"R": 11.0,
"H": 29.0,
"BB": 9.0,
"SO": 23.0,
"HR": 3.0,
"BF": 122.0,
"Pitches": 451.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0,
"R": 2.2,
"H": 5.8,
"BB": 1.8,
"SO": 4.6,
"HR": 0.6,
"BF": 24.4,
"Pitches": 90.2
},
"rates": {
"ERA": 3.2143,
"WHIP": 1.3571,
"ER_per_IP": 0.35714,
"H_per_IP": 1.03571,
"BB_per_IP": 0.32143,
"SO_per_IP": 0.82143,
"HR_per_IP": 0.10714
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.1,
"ER": 28.0,
"R": 32.0,
"H": 56.0,
"BB": 20.0,
"SO": 45.0,
"HR": 8.0,
"BF": 244.0,
"Pitches": 887.0
},
"per_game": {
"IP": 5.2,
"ER": 2.8,
"R": 3.2,
"H": 5.6,
"BB": 2.0,
"SO": 4.5,
"HR": 0.8,
"BF": 24.4,
"Pitches": 88.7
},
"rates": {
"ERA": 4.5542,
"WHIP": 1.3735,
"ER_per_IP": 0.50602,
"H_per_IP": 1.01205,
"BB_per_IP": 0.36145,
"SO_per_IP": 0.81325,
"HR_per_IP": 0.14458
}
},
"season": {
"games": 17,
"totals": {
"IP": 95.2,
"ER": 43.0,
"R": 48.0,
"H": 93.0,
"BB": 34.0,
"SO": 77.0,
"HR": 10.0,
"BF": 417.0,
"Pitches": 1521.0
},
"per_game": {
"IP": 5.2,
"ER": 2.5294,
"R": 2.8235,
"H": 5.4706,
"BB": 2.0,
"SO": 4.5294,
"HR": 0.5882,
"BF": 24.5294,
"Pitches": 89.4706
},
"rates": {
"ERA": 4.0453,
"WHIP": 1.3275,
"ER_per_IP": 0.44948,
"H_per_IP": 0.97213,
"BB_per_IP": 0.3554,
"SO_per_IP": 0.80488,
"HR_per_IP": 0.10453
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.514,
"predicted_H": 5.686,
"predicted_BB": 1.959,
"predicted_SO": 4.798,
"predicted_HR": 0.713,
"predicted_ERA": 3.9925,
"predicted_WHIP": 1.3492
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.446,
"form_weight": 0.554,
"form_reliability": 0.7727,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7727,
"prior_weight": 0.2273
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.514,
"final": 2.7308,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.686,
"final": 5.38,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.959,
"final": 1.9773,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.798,
"final": 3.996,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.713,
"final": 0.841,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9925,
"final": 3.9925,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3492,
"final": 1.3492,
"source": "form_only"
}
}
}{
"available": false,
"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.0468 |
| ESPN Rank | 223 |
| 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 | 3.4034 |
| Season WHIP | 1.3866 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 94,
"wins": 40,
"losses": 54,
"win_pct": 0.4255,
"runs_scored": 390.0,
"runs_allowed": 377.0,
"run_differential": 13.0,
"run_differential_per_game": 0.1383,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.0106,
"offense_index": 0.9175,
"defense_index": 1.1274,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.6,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0465
},
"opponent": {
"team": "TEX",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 385.0,
"runs_allowed": 389.0,
"run_differential": -4.0,
"run_differential_per_game": -0.043,
"avg_runs_scored": 4.1398,
"avg_runs_allowed": 4.1828,
"offense_index": 0.9155,
"defense_index": 1.081,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.0785
},
"edges": {
"quality_edge": -0.125,
"offense_edge": -0.0825,
"opponent_offense_edge": -0.0845,
"defense_strength": 0.1274,
"opponent_defense_weakness": -0.081,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.98,
"strikeout": 1.003
},
"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": 19.4,
"bb_percent": 5.9,
"woba": 0.343,
"xwoba": 0.303,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 38.4,
"avg_best_speed": 77.0369,
"avg_hyper_speed": 93.5642,
"whiff_percent": 24.2,
"swing_percent": 47.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0316,
"command_and_miss": -0.1075,
"regression_edge": 1.1429,
"xwoba_edge": 0.2714,
"barrel_edge": 0.4,
"hard_hit_edge": -0.0143,
"whiff_edge": -0.1857,
"bb_edge": 0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663947",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0468,
"sample_weight": 0.45,
"run_prevention_factor": 0.996,
"strikeout_factor": 0.9886,
"walk_factor": 0.9712,
"homer_factor": 0.9822,
"woba_minus_xwoba": 0.04,
"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": 223,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 223,
"gp_value": 37.0,
"gp_rank": 29,
"gs_value": 2.0,
"gs_rank": 223,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.4033,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 8.0,
"hld_rank": 55,
"ip_value": 39.2,
"ip_rank": 195,
"h_value": 45.0,
"h_rank": 154,
"er_value": 15.0,
"er_rank": 258,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 10.0,
"bb_rank": 346,
"k_value": 33.0,
"k_rank": 264,
"k_per_9_value": 7.4873953,
"k_per_9_rank": 36,
"whip_value": 1.3865,
"whip_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9982,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9982,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9949,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.2,
"ER": 1,
"H": 12,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 0.7714285714285714,
"WHIP": 1.2,
"K9": 6.942857142857142,
"HR9": 0.7714285714285714,
"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-30T00: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": 7.863,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6113,
"prior_weight": 0.3887
},
"role": "pitcher",
"player_id": "663947",
"report_date": "20260702_D",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 1.0,
"R": 3.0,
"H": 7.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 30.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.6,
"H": 1.4,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 6.0,
"Pitches": 20.4
},
"rates": {
"ERA": 1.35,
"WHIP": 1.35,
"ER_per_IP": 0.15,
"H_per_IP": 1.05,
"BB_per_IP": 0.3,
"SO_per_IP": 0.6,
"HR_per_IP": 0.15
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 1.0,
"R": 3.0,
"H": 12.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 50.0,
"Pitches": 186.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.3,
"H": 1.2,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 5.0,
"Pitches": 18.6
},
"rates": {
"ERA": 0.7714,
"WHIP": 1.2,
"ER_per_IP": 0.08571,
"H_per_IP": 1.02857,
"BB_per_IP": 0.17143,
"SO_per_IP": 0.77143,
"HR_per_IP": 0.08571
}
},
"season": {
"games": 37,
"totals": {
"IP": 39.2,
"ER": 15.0,
"R": 19.0,
"H": 45.0,
"BB": 10.0,
"SO": 33.0,
"HR": 5.0,
"BF": 170.0,
"Pitches": 660.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4054,
"R": 0.5135,
"H": 1.2162,
"BB": 0.2703,
"SO": 0.8919,
"HR": 0.1351,
"BF": 4.5946,
"Pitches": 17.8378
},
"rates": {
"ERA": 3.4034,
"WHIP": 1.3866,
"ER_per_IP": 0.37815,
"H_per_IP": 1.13445,
"BB_per_IP": 0.2521,
"SO_per_IP": 0.83193,
"HR_per_IP": 0.12605
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.387,
"predicted_H": 1.322,
"predicted_BB": 0.374,
"predicted_SO": 1.037,
"predicted_HR": 0.171,
"predicted_ERA": 2.6934,
"predicted_WHIP": 1.3118
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5142,
"form_weight": 0.4858,
"form_reliability": 0.6113,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.863,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6113,
"prior_weight": 0.3887
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.387,
"final": 0.188,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.322,
"final": 0.6422,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.374,
"final": 0.1817,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.037,
"final": 1.018,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.171,
"final": 0.0831,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6934,
"final": 2.6934,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3118,
"final": 1.3118,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kenley Jansen |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0897 |
| ESPN Rank | 597 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1048 |
| Avg Velo | 91.6292 |
| Avg Spin | 2616.0628 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 4.4262 |
| Season WHIP | 1.1311 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 94,
"wins": 40,
"losses": 54,
"win_pct": 0.4255,
"runs_scored": 390.0,
"runs_allowed": 377.0,
"run_differential": 13.0,
"run_differential_per_game": 0.1383,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.0106,
"offense_index": 0.9175,
"defense_index": 1.1274,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.6,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0465
},
"opponent": {
"team": "TEX",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 385.0,
"runs_allowed": 389.0,
"run_differential": -4.0,
"run_differential_per_game": -0.043,
"avg_runs_scored": 4.1398,
"avg_runs_allowed": 4.1828,
"offense_index": 0.9155,
"defense_index": 1.081,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.0785
},
"edges": {
"quality_edge": -0.125,
"offense_edge": -0.0825,
"opponent_offense_edge": -0.0845,
"defense_strength": 0.1274,
"opponent_defense_weakness": -0.081,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.98,
"strikeout": 1.003
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "445276",
"profile": {
"available": true,
"pitcher_id": "445276",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 58.0,
"k_percent": 27.1,
"bb_percent": 12.9,
"woba": 0.306,
"xwoba": 0.306,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 31.4,
"avg_best_speed": 74.5185,
"avg_hyper_speed": 93.2482,
"whiff_percent": 26.8,
"swing_percent": 48.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.2631,
"command_and_miss": 0.1675,
"regression_edge": 0.0,
"xwoba_edge": 0.1857,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.9857,
"whiff_edge": 0.1857,
"bb_edge": -0.95,
"pitch_design_score": 0.1048
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "445276",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 9,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 91.629183112639,
"release_spin_rate": 2616.062841651812,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 91.629183112639,
"release_spin_rate": 2616.062841651812,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6292,
"release_spin_rate": 2616.0628,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1048,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7482,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0897,
"sample_weight": 0.45,
"run_prevention_factor": 0.9924,
"strikeout_factor": 1.015,
"walk_factor": 1.0342,
"homer_factor": 0.9829,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "445276",
"espn_id": 29630,
"player_name": "Kenley Jansen",
"team": "DET",
"role": "pitcher",
"espn_rank": 597,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 597,
"gp_value": 23.0,
"gp_rank": 184,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.3114,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 9.0,
"sv_rank": 20,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 20.1,
"ip_rank": 409,
"h_value": 14.0,
"h_rank": 463,
"er_value": 12.0,
"er_rank": 319,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 23.0,
"k_rank": 362,
"k_per_9_value": 10.180328,
"k_per_9_rank": 23,
"whip_value": 1.2295,
"whip_rank": null,
"war_value": -0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9966,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9966,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0154,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9923,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0068,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 7,
"H": 6,
"BB": 6,
"SO": 8,
"HR": 2,
"ERA": 6.3,
"WHIP": 1.2,
"K9": 7.2,
"HR9": 1.8,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-28T00:00:00"
}{
"available": true,
"pitcher_id": "445276",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 9,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 91.629183112639,
"release_spin_rate": 2616.062841651812,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 9,
"pitch_usage": 0.0,
"release_speed": 91.629183112639,
"release_spin_rate": 2616.062841651812,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6292,
"release_spin_rate": 2616.0628,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1048,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7482,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.031,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4463,
"prior_weight": 0.5537
},
"role": "pitcher",
"player_id": "445276",
"report_date": "20260702_D",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 4.0,
"R": 5.0,
"H": 5.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 1.0,
"H": 1.0,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 4.6,
"Pitches": 14.4
},
"rates": {
"ERA": 6.75,
"WHIP": 1.3125,
"ER_per_IP": 0.75,
"H_per_IP": 0.9375,
"BB_per_IP": 0.375,
"SO_per_IP": 0.75,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 7.0,
"R": 8.0,
"H": 6.0,
"BB": 6.0,
"SO": 8.0,
"HR": 2.0,
"BF": 42.0,
"Pitches": 151.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 0.6,
"BB": 0.6,
"SO": 0.8,
"HR": 0.2,
"BF": 4.2,
"Pitches": 15.1
},
"rates": {
"ERA": 6.3,
"WHIP": 1.2,
"ER_per_IP": 0.7,
"H_per_IP": 0.6,
"BB_per_IP": 0.6,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"season": {
"games": 22,
"totals": {
"IP": 20.1,
"ER": 10.0,
"R": 11.0,
"H": 13.0,
"BB": 10.0,
"SO": 23.0,
"HR": 4.0,
"BF": 83.0,
"Pitches": 325.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4545,
"R": 0.5,
"H": 0.5909,
"BB": 0.4545,
"SO": 1.0455,
"HR": 0.1818,
"BF": 3.7727,
"Pitches": 14.7727
},
"rates": {
"ERA": 4.4262,
"WHIP": 1.1311,
"ER_per_IP": 0.4918,
"H_per_IP": 0.63934,
"BB_per_IP": 0.4918,
"SO_per_IP": 1.13115,
"HR_per_IP": 0.19672
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.579,
"predicted_H": 0.874,
"predicted_BB": 0.411,
"predicted_SO": 0.904,
"predicted_HR": 0.168,
"predicted_ERA": 5.2146,
"predicted_WHIP": 1.2845
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5839,
"form_weight": 0.4161,
"form_reliability": 0.4463,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.031,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4463,
"prior_weight": 0.5537
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.579,
"final": 0.2409,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.874,
"final": 0.3636,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.411,
"final": 0.7549,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.904,
"final": 0.3761,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.168,
"final": 0.0699,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2146,
"final": 5.2146,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2845,
"final": 1.2845,
"source": "form_only"
}
}
}{
"available": false,
"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.1109 |
| ESPN Rank | 64 |
| 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 | 1.6017 |
| Season WHIP | 1.3729 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 94,
"wins": 40,
"losses": 54,
"win_pct": 0.4255,
"runs_scored": 390.0,
"runs_allowed": 377.0,
"run_differential": 13.0,
"run_differential_per_game": 0.1383,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.0106,
"offense_index": 0.9175,
"defense_index": 1.1274,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.6,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0465
},
"opponent": {
"team": "TEX",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 385.0,
"runs_allowed": 389.0,
"run_differential": -4.0,
"run_differential_per_game": -0.043,
"avg_runs_scored": 4.1398,
"avg_runs_allowed": 4.1828,
"offense_index": 0.9155,
"defense_index": 1.081,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.0785
},
"edges": {
"quality_edge": -0.125,
"offense_edge": -0.0825,
"opponent_offense_edge": -0.0845,
"defense_strength": 0.1274,
"opponent_defense_weakness": -0.081,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.98,
"strikeout": 1.003
},
"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": 18.2,
"bb_percent": 15.2,
"woba": 0.33,
"xwoba": 0.322,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 42.7,
"avg_best_speed": 79.395,
"avg_hyper_speed": 94.7383,
"whiff_percent": 25.0,
"swing_percent": 45.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1978,
"command_and_miss": -0.6096,
"regression_edge": 0.2286,
"xwoba_edge": -0.2714,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.6286,
"whiff_edge": -0.0714,
"bb_edge": -1.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "640448",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1109,
"sample_weight": 0.45,
"run_prevention_factor": 1.0094,
"strikeout_factor": 0.9875,
"walk_factor": 1.0549,
"homer_factor": 1.007,
"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": 64,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 64,
"gp_value": 37.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.0593,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 9.0,
"hld_rank": 46,
"ip_value": 39.1,
"ip_rank": 201,
"h_value": 33.0,
"h_rank": 227,
"er_value": 9.0,
"er_rank": 407,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 25.0,
"bb_rank": 91,
"k_value": 30.0,
"k_rank": 298,
"k_per_9_value": 6.8644066,
"k_per_9_rank": 40,
"whip_value": 1.4745,
"whip_rank": null,
"war_value": 1.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0042,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0042,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0247,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0031,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9944,
"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.1,
"ER": 3,
"H": 9,
"BB": 6,
"SO": 14,
"HR": 1,
"ERA": 2.382352941176471,
"WHIP": 1.323529411764706,
"K9": 11.11764705882353,
"HR9": 0.7941176470588236,
"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-28T00: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": 7.797,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6093,
"prior_weight": 0.3907
},
"role": "pitcher",
"player_id": "640448",
"report_date": "20260702_D",
"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": 3.0,
"SO": 9.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.6,
"SO": 1.8,
"HR": 0.2,
"BF": 4.8,
"Pitches": 19.4
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.4118,
"ER_per_IP": 0.35294,
"H_per_IP": 0.88235,
"BB_per_IP": 0.52941,
"SO_per_IP": 1.58824,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 3.0,
"R": 3.0,
"H": 9.0,
"BB": 6.0,
"SO": 14.0,
"HR": 1.0,
"BF": 48.0,
"Pitches": 180.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.9,
"BB": 0.6,
"SO": 1.4,
"HR": 0.1,
"BF": 4.8,
"Pitches": 18.0
},
"rates": {
"ERA": 2.3824,
"WHIP": 1.3235,
"ER_per_IP": 0.26471,
"H_per_IP": 0.79412,
"BB_per_IP": 0.52941,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 36,
"totals": {
"IP": 39.1,
"ER": 7.0,
"R": 7.0,
"H": 30.0,
"BB": 24.0,
"SO": 30.0,
"HR": 3.0,
"BF": 161.0,
"Pitches": 615.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1944,
"R": 0.1944,
"H": 0.8333,
"BB": 0.6667,
"SO": 0.8333,
"HR": 0.0833,
"BF": 4.4722,
"Pitches": 17.0833
},
"rates": {
"ERA": 1.6017,
"WHIP": 1.3729,
"ER_per_IP": 0.17797,
"H_per_IP": 0.76271,
"BB_per_IP": 0.61017,
"SO_per_IP": 0.76271,
"HR_per_IP": 0.07627
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.369,
"predicted_H": 0.881,
"predicted_BB": 0.472,
"predicted_SO": 1.164,
"predicted_HR": 0.134,
"predicted_ERA": 3.324,
"predicted_WHIP": 1.3535
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5151,
"form_weight": 0.4849,
"form_reliability": 0.6093,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.797,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6093,
"prior_weight": 0.3907
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.369,
"final": 0.1789,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.881,
"final": 0.9423,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.472,
"final": 0.2289,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.164,
"final": 0.5645,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.134,
"final": 0.065,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.324,
"final": 3.324,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3535,
"final": 1.3535,
"source": "form_only"
}
}
}{
"available": false,
"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.078 | 0.000 | 0.000 | Hitting_2B | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.050 | 4.000 | 3.000 | Hitting_AB | 3.132 | 2.000 | 0.868 | 2.000 |
| predicted_AVG | 0.264 | 0.250 | 0.333 | Hitting_AVG | 0.226 | 0.500 | 0.024 | -0.250 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.800 | 1.000 | 1.000 | Hitting_H | 0.708 | 1.000 | 0.292 | 0.000 |
| predicted_HR | 0.200 | 1.000 | 0.000 | Hitting_HR | 0.201 | 0.000 | 0.799 | 1.000 |
| predicted_OBP | 0.324 | 0.250 | 0.333 | Hitting_OBP | 0.303 | 0.500 | -0.053 | -0.250 |
| predicted_R | 0.344 | 1.000 | 0.000 | Hitting_R | 0.368 | 0.000 | 0.632 | 1.000 |
| predicted_RBI | 0.570 | 3.000 | 1.000 | Hitting_RBI | 0.576 | 0.000 | 2.424 | 3.000 |
| predicted_SLG | 0.581 | 1.000 | 0.333 | Hitting_SLG | 0.486 | 0.500 | 0.514 | 0.500 |
| predicted_SO | 0.953 | 2.000 | 1.000 | Hitting_SO | 1.181 | 0.000 | 0.819 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.5700 -> 3.0000 (boost 2.4300, better) |
| Biggest Deboost | predicted_BB: 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 | 2 | 1 | 3 | 0 | predicted_AVG: 0.2640 -> 0.2707 (boost 0.0067, better) | predicted_SO: 0.9530 -> 0.8911 (deboost -0.0619, better) | Final model input calibrated with local form: 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.5762 -> 0.5195 (deboost -0.0567, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5791 -> 1.0000 (boost 0.4209, better) | predicted_BB: 0.2433 -> 0.0000 (deboost -0.2433, worse) | AB rounded to 3 (raw=3.06), rates preserved: AVG=0.263 HR/AB=0.070 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3644 -> 0.0000 (deboost -0.3644, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2627 -> 0.3330 (boost 0.0703, better) | predicted_SLG: 0.5195 -> 0.3330 (deboost -0.1865, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 4 | 1 | predicted_RBI: 1.0000 -> 3.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.5195 (boost 0.1865, better) | predicted_AVG: 0.3330 -> 0.2627 (deboost -0.0703, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681481",
"player_name": "Kerry Carpenter",
"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.078,
"predicted_3B": 0.031,
"predicted_AB": 3.05,
"predicted_AVG": 0.264,
"predicted_BB": 0.25,
"predicted_H": 0.8,
"predicted_HR": 0.2,
"predicted_OBP": 0.324,
"predicted_R": 0.344,
"predicted_RBI": 0.57,
"predicted_SLG": 0.581,
"predicted_SO": 0.953
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0924,
"predicted_3B": 0.026,
"predicted_AB": 3.0632,
"predicted_AVG": 0.2707,
"predicted_BB": 0.245,
"predicted_H": 0.826,
"predicted_HBP": 0.039,
"predicted_HR": 0.2194,
"predicted_OBP": 0.3299,
"predicted_R": 0.3807,
"predicted_RBI": 0.6051,
"predicted_SLG": 0.5762,
"predicted_SO": 0.8911
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.078,
"after": 0.0924,
"delta": 0.0144,
"percent_delta": 0.1846,
"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.05,
"after": 3.0632,
"delta": 0.0132,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2707,
"delta": 0.0067,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.245,
"delta": -0.005,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.826,
"delta": 0.026,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2194,
"delta": 0.0194,
"percent_delta": 0.097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3299,
"delta": 0.0059,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.344,
"after": 0.3807,
"delta": 0.0367,
"percent_delta": 0.1067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.6051,
"delta": 0.0351,
"percent_delta": 0.0616,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.581,
"after": 0.5762,
"delta": -0.0048,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.953,
"after": 0.8911,
"delta": -0.0619,
"percent_delta": -0.065,
"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_AVG",
"before": 0.264,
"after": 0.2707,
"delta": 0.0067,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.953,
"after": 0.8911,
"delta": -0.0619,
"percent_delta": -0.065,
"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": 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.0924,
"predicted_3B": 0.026,
"predicted_AB": 3.0632,
"predicted_AVG": 0.2627,
"predicted_BB": 0.2433,
"predicted_H": 0.8048,
"predicted_HBP": 0.039,
"predicted_HR": 0.2141,
"predicted_OBP": 0.317,
"predicted_R": 0.3644,
"predicted_RBI": 0.5791,
"predicted_SLG": 0.5195,
"predicted_SO": 0.8974
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0924,
"after": 0.0924,
"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.0632,
"after": 3.0632,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2707,
"after": 0.2627,
"delta": -0.008,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.245,
"after": 0.2433,
"delta": -0.0017,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.826,
"after": 0.8048,
"delta": -0.0212,
"percent_delta": -0.0257,
"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.2194,
"after": 0.2141,
"delta": -0.0053,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3299,
"after": 0.317,
"delta": -0.0129,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3807,
"after": 0.3644,
"delta": -0.0163,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6051,
"after": 0.5791,
"delta": -0.026,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5762,
"after": 0.5195,
"delta": -0.0567,
"percent_delta": -0.0984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8911,
"after": 0.8974,
"delta": 0.0063,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5762,
"after": 0.5195,
"delta": -0.0567,
"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.06), rates preserved: AVG=0.263 HR/AB=0.070",
"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.0924,
"after": 0.0,
"delta": -0.0924,
"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.0632,
"after": 3.0,
"delta": -0.0632,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2433,
"after": 0.0,
"delta": -0.2433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8048,
"after": 1.0,
"delta": 0.1952,
"percent_delta": 0.2425,
"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.2141,
"after": 0.0,
"delta": -0.2141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5791,
"after": 1.0,
"delta": 0.4209,
"percent_delta": 0.7268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8974,
"after": 1.0,
"delta": 0.1026,
"percent_delta": 0.1143,
"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.5791,
"after": 1.0,
"delta": 0.4209,
"percent_delta": 0.7268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2433,
"after": 0.0,
"delta": -0.2433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3644,
"after": 0.0,
"delta": -0.3644,
"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.3644,
"after": 0.0,
"delta": -0.3644,
"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.2627,
"after": 0.333,
"delta": 0.0703,
"percent_delta": 0.2676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.333,
"delta": 0.016,
"percent_delta": 0.0505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.5195,
"after": 0.333,
"delta": -0.1865,
"percent_delta": -0.359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2627,
"after": 0.333,
"delta": 0.0703,
"percent_delta": 0.2676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5195,
"after": 0.333,
"delta": -0.1865,
"percent_delta": -0.359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2627,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.317,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5195,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2627,
"delta": -0.0703,
"percent_delta": -0.211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.317,
"delta": -0.016,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.5195,
"delta": 0.1865,
"percent_delta": 0.5602,
"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.5195,
"delta": 0.1865,
"percent_delta": 0.5602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2627,
"delta": -0.0703,
"percent_delta": -0.211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"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.05,
"after": 4.0,
"delta": 0.95,
"percent_delta": 0.3115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2627,
"delta": -0.0013,
"percent_delta": -0.0049,
"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.8,
"after": 1.0,
"delta": 0.2,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 1.0,
"delta": 0.8,
"percent_delta": 4.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.317,
"delta": -0.007,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.344,
"after": 1.0,
"delta": 0.656,
"percent_delta": 1.907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 3.0,
"delta": 2.43,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.581,
"after": 0.5195,
"delta": -0.0615,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.953,
"after": 2.0,
"delta": 1.047,
"percent_delta": 1.0986,
"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.57,
"after": 3.0,
"delta": 2.43,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.078 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.050 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.344 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.581 | - |
| predicted_SO | 0.953 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.092 | 0.014 |
| predicted_3B | 0.026 | -0.005 |
| predicted_AB | 3.063 | 0.013 |
| predicted_AVG | 0.271 | 0.007 |
| predicted_BB | 0.245 | -0.005 |
| predicted_H | 0.826 | 0.026 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.219 | 0.019 |
| predicted_OBP | 0.330 | 0.006 |
| predicted_R | 0.381 | 0.037 |
| predicted_RBI | 0.605 | 0.035 |
| predicted_SLG | 0.576 | -0.005 |
| predicted_SO | 0.891 | -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.092 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 3.063 | 0.000 |
| predicted_AVG | 0.263 | -0.008 |
| predicted_BB | 0.243 | -0.002 |
| predicted_H | 0.805 | -0.021 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.214 | -0.005 |
| predicted_OBP | 0.317 | -0.013 |
| predicted_R | 0.364 | -0.016 |
| predicted_RBI | 0.579 | -0.026 |
| predicted_SLG | 0.519 | -0.057 |
| predicted_SO | 0.897 | 0.006 |
AB rounded to 3 (raw=3.06), rates preserved: AVG=0.263 HR/AB=0.070
| 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.092 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 3.000 | -0.063 |
| predicted_AVG | 0.333 | 0.070 |
| predicted_BB | 0.000 | -0.243 |
| predicted_H | 1.000 | 0.195 |
| predicted_HR | 0.000 | -0.214 |
| predicted_OBP | 0.333 | 0.016 |
| predicted_R | 0.000 | -0.364 |
| predicted_RBI | 1.000 | 0.421 |
| predicted_SLG | 0.333 | -0.186 |
| predicted_SO | 1.000 | 0.103 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 7.000 | 1.000 | 0.000 | 2.000 | 5.000 | 3.000 | 1.000 | 2.000 | 0.4118 | 0.4444 | 0.8235 | 0.4118 | 0.1177 | 0.2941 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 30.000 | 9.000 | 1.000 | 0.000 | 3.000 | 7.000 | 5.000 | 2.000 | 6.000 | 0.3000 | 0.3438 | 0.6333 | 0.3000 | 0.1000 | 0.2333 | 0.0667 | 0.2000 |
| season | 0.60 | 64 | - | 181.000 | 43.000 | 5.000 | 2.000 | 13.000 | 36.000 | 22.000 | 16.000 | 61.000 | 0.2376 | 0.3088 | 0.5028 | 0.2376 | 0.0718 | 0.1989 | 0.0884 | 0.3370 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.0820 |
| predicted_AVG | 0.2802 |
| predicted_BB | 0.2380 |
| predicted_H | 0.8630 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.2470 |
| predicted_OBP | 0.3382 |
| predicted_R | 0.4330 |
| predicted_RBI | 0.6550 |
| predicted_SLG | 0.5694 |
| predicted_SO | 0.8030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0780 | 0.1130 | 0.0924 | model_form_blend |
| predicted_3B | 0.0310 | 0.0190 | 0.0260 | model_form_blend |
| predicted_AB | 3.0500 | 3.0820 | 3.0632 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2802 | 0.2707 | model_form_blend |
| predicted_BB | 0.2500 | 0.2380 | 0.2450 | model_form_blend |
| predicted_H | 0.8000 | 0.8630 | 0.8260 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.2000 | 0.2470 | 0.2194 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3382 | 0.3299 | model_form_blend |
| predicted_R | 0.3440 | 0.4330 | 0.3807 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6550 | 0.6051 | model_form_blend |
| predicted_SLG | 0.5810 | 0.5694 | 0.5762 | model_form_blend |
| predicted_SO | 0.9530 | 0.8030 | 0.8911 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| R | 1 |
| RBI | 3 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260701_DET@NYY |
| game_type | full |
| mlbID | 681481 |
| playerID | 681481 |
| playerName | Kerry Carpenter |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 29.8 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.347 |
| sl_xwoba | 0.318 |
| sl_xba | 0.222 |
| sl_xslg | 0.431 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 49.6 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 20.9 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 49.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.217 | 1.000 | 0.000 | Hitting_2B | 0.228 | 0.000 | 0.772 | 1.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_AB | 4.240 | 3.000 | 4.000 | Hitting_AB | 3.828 | 5.000 | -0.828 | -2.000 |
| predicted_AVG | 0.246 | 0.667 | 0.250 | Hitting_AVG | 0.296 | 0.200 | 0.370 | 0.467 |
| predicted_BB | 0.651 | 1.000 | 1.000 | Hitting_BB | 0.612 | 0.000 | 0.388 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.040 | 2.000 | 1.000 | Hitting_H | 1.134 | 1.000 | 0.866 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.067 | 1.000 | -0.067 | -1.000 |
| predicted_OBP | 0.359 | 0.800 | 0.400 | Hitting_OBP | 0.398 | 0.200 | 0.402 | 0.600 |
| predicted_R | 0.639 | 1.000 | 1.000 | Hitting_R | 0.653 | 2.000 | 0.347 | -1.000 |
| predicted_RBI | 0.470 | 1.000 | 0.000 | Hitting_RBI | 0.437 | 1.000 | 0.563 | 0.000 |
| predicted_SLG | 0.490 | 1.000 | 0.250 | Hitting_SLG | 0.436 | 0.800 | 0.564 | 0.200 |
| predicted_SO | 0.614 | 0.000 | 1.000 | Hitting_SO | 0.571 | 1.000 | -0.571 | -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_H: 1.0400 -> 2.0000 (boost 0.9600, better) |
| Biggest Deboost | predicted_AB: 4.2400 -> 3.0000 (deboost -1.2400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 2 | 3 | predicted_SO: 0.6140 -> 0.6962 (boost 0.0822, worse) | predicted_AB: 4.2400 -> 4.0710 (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 | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4583 -> 0.4009 (deboost -0.0574, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_BB: 0.6417 -> 1.0000 (boost 0.3583, better) | predicted_RBI: 0.4396 -> 0.0000 (deboost -0.4396, worse) | AB rounded to 4 (raw=4.24), rates preserved: AVG=0.240 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6382 -> 1.0000 (boost 0.3618, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3520 -> 0.4000 (boost 0.0480, better) | predicted_SLG: 0.4009 -> 0.2500 (deboost -0.1509, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 4 | 2 | 5 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4009 (boost 0.1509, better) | predicted_OBP: 0.4000 -> 0.3520 (deboost -0.0480, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805808",
"player_name": "Kevin McGonigle",
"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.217,
"predicted_3B": 0.036,
"predicted_AB": 4.24,
"predicted_AVG": 0.246,
"predicted_BB": 0.651,
"predicted_H": 1.04,
"predicted_HR": 0.13,
"predicted_OBP": 0.359,
"predicted_R": 0.639,
"predicted_RBI": 0.47,
"predicted_SLG": 0.49,
"predicted_SO": 0.614
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1982,
"predicted_3B": 0.03,
"predicted_AB": 4.071,
"predicted_AVG": 0.2575,
"predicted_BB": 0.6463,
"predicted_H": 1.0439,
"predicted_HBP": 0.076,
"predicted_HR": 0.1219,
"predicted_OBP": 0.3707,
"predicted_R": 0.6668,
"predicted_RBI": 0.4593,
"predicted_SLG": 0.4583,
"predicted_SO": 0.6962
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.1982,
"delta": -0.0188,
"percent_delta": -0.0866,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.03,
"delta": -0.006,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.24,
"after": 4.071,
"delta": -0.169,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2575,
"delta": 0.0115,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.651,
"after": 0.6463,
"delta": -0.0047,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0439,
"delta": 0.0039,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1219,
"delta": -0.0081,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3707,
"delta": 0.0117,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.639,
"after": 0.6668,
"delta": 0.0278,
"percent_delta": 0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4593,
"delta": -0.0107,
"percent_delta": -0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4583,
"delta": -0.0317,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.614,
"after": 0.6962,
"delta": 0.0822,
"percent_delta": 0.1339,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.614,
"after": 0.6962,
"delta": 0.0822,
"percent_delta": 0.1339,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.24,
"after": 4.071,
"delta": -0.169,
"percent_delta": -0.0399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1982,
"predicted_3B": 0.03,
"predicted_AB": 4.071,
"predicted_AVG": 0.2498,
"predicted_BB": 0.6417,
"predicted_H": 1.0171,
"predicted_HBP": 0.076,
"predicted_HR": 0.119,
"predicted_OBP": 0.352,
"predicted_R": 0.6382,
"predicted_RBI": 0.4396,
"predicted_SLG": 0.4009,
"predicted_SO": 0.7011
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1982,
"after": 0.1982,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.03,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.071,
"after": 4.071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2575,
"after": 0.2498,
"delta": -0.0077,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6463,
"after": 0.6417,
"delta": -0.0046,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0439,
"after": 1.0171,
"delta": -0.0268,
"percent_delta": -0.0257,
"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.1219,
"after": 0.119,
"delta": -0.0029,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3707,
"after": 0.352,
"delta": -0.0187,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6668,
"after": 0.6382,
"delta": -0.0286,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4593,
"after": 0.4396,
"delta": -0.0197,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4583,
"after": 0.4009,
"delta": -0.0574,
"percent_delta": -0.1252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6962,
"after": 0.7011,
"delta": 0.0049,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4583,
"after": 0.4009,
"delta": -0.0574,
"percent_delta": -0.1252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.24), rates preserved: AVG=0.240 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.1982,
"after": 0.0,
"delta": -0.1982,
"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.071,
"after": 4.0,
"delta": -0.071,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6417,
"after": 1.0,
"delta": 0.3583,
"percent_delta": 0.5584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0171,
"after": 1.0,
"delta": -0.0171,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4396,
"after": 0.0,
"delta": -0.4396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7011,
"after": 1.0,
"delta": 0.2989,
"percent_delta": 0.4263,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6417,
"after": 1.0,
"delta": 0.3583,
"percent_delta": 0.5584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4396,
"after": 0.0,
"delta": -0.4396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"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.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"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.2498,
"after": 0.25,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.4,
"delta": 0.048,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4009,
"after": 0.25,
"delta": -0.1509,
"percent_delta": -0.3764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.352,
"after": 0.4,
"delta": 0.048,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4009,
"after": 0.25,
"delta": -0.1509,
"percent_delta": -0.3764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2498,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.352,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4009,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2498,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.352,
"delta": -0.048,
"percent_delta": -0.12,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4009,
"delta": 0.1509,
"percent_delta": 0.6037,
"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.4009,
"delta": 0.1509,
"percent_delta": 0.6037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.352,
"delta": -0.048,
"percent_delta": -0.12,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.783,
"percent_delta": 3.6083,
"direction": "boost",
"projection_effect": "better",
"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": 4.24,
"after": 3.0,
"delta": -1.24,
"percent_delta": -0.2925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2498,
"delta": 0.0038,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.651,
"after": 1.0,
"delta": 0.349,
"percent_delta": 0.5361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"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.359,
"after": 0.352,
"delta": -0.007,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.639,
"after": 1.0,
"delta": 0.361,
"percent_delta": 0.5649,
"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.49,
"after": 0.4009,
"delta": -0.0891,
"percent_delta": -0.1818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.614,
"after": 0.0,
"delta": -0.614,
"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": 1.04,
"after": 2.0,
"delta": 0.96,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.24,
"after": 3.0,
"delta": -1.24,
"percent_delta": -0.2925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}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.036 | - |
| predicted_AB | 4.240 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.651 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.639 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.490 | - |
| predicted_SO | 0.614 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.030 | -0.006 |
| predicted_AB | 4.071 | -0.169 |
| predicted_AVG | 0.258 | 0.012 |
| predicted_BB | 0.646 | -0.005 |
| predicted_H | 1.044 | 0.004 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.122 | -0.008 |
| predicted_OBP | 0.371 | 0.012 |
| predicted_R | 0.667 | 0.028 |
| predicted_RBI | 0.459 | -0.011 |
| predicted_SLG | 0.458 | -0.032 |
| predicted_SO | 0.696 | 0.082 |
Step 3: 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.030 | 0.000 |
| predicted_AB | 4.071 | 0.000 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.642 | -0.005 |
| predicted_H | 1.017 | -0.027 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.119 | -0.003 |
| predicted_OBP | 0.352 | -0.019 |
| predicted_R | 0.638 | -0.029 |
| predicted_RBI | 0.440 | -0.020 |
| predicted_SLG | 0.401 | -0.057 |
| predicted_SO | 0.701 | 0.005 |
AB rounded to 4 (raw=4.24), rates preserved: AVG=0.240 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 | 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.030 |
| predicted_AB | 4.000 | -0.071 |
| predicted_AVG | 0.250 | 0.000 |
| predicted_BB | 1.000 | 0.358 |
| predicted_H | 1.000 | -0.017 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.400 | 0.048 |
| predicted_R | 1.000 | 0.362 |
| predicted_RBI | 0.000 | -0.440 |
| predicted_SLG | 0.250 | -0.151 |
| predicted_SO | 1.000 | 0.299 |
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 | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 4.000 | 6.000 | 0.2500 | 0.4000 | 0.4000 | 0.2500 | 0.0500 | 0.1500 | 0.2000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 2.000 | 0.000 | 1.000 | 5.000 | 7.000 | 6.000 | 10.000 | 0.2750 | 0.3830 | 0.4000 | 0.2750 | 0.0250 | 0.1250 | 0.1500 | 0.2500 |
| season | 0.60 | 83 | - | 311.000 | 88.000 | 18.000 | 3.000 | 7.000 | 31.000 | 53.000 | 54.000 | 51.000 | 0.2830 | 0.3940 | 0.4277 | 0.2830 | 0.0225 | 0.0997 | 0.1736 | 0.1640 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0220 |
| predicted_AB | 3.8450 |
| predicted_AVG | 0.2728 |
| predicted_BB | 0.6400 |
| predicted_H | 1.0490 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.1110 |
| predicted_OBP | 0.3864 |
| predicted_R | 0.7040 |
| predicted_RBI | 0.4450 |
| predicted_SLG | 0.4160 |
| predicted_SO | 0.8060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.1730 | 0.1982 | model_form_blend |
| predicted_3B | 0.0360 | 0.0220 | 0.0300 | model_form_blend |
| predicted_AB | 4.2400 | 3.8450 | 4.0710 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2728 | 0.2575 | model_form_blend |
| predicted_BB | 0.6510 | 0.6400 | 0.6463 | model_form_blend |
| predicted_H | 1.0400 | 1.0490 | 1.0439 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.1300 | 0.1110 | 0.1219 | model_form_blend |
| predicted_OBP | 0.3590 | 0.3864 | 0.3707 | model_form_blend |
| predicted_R | 0.6390 | 0.7040 | 0.6668 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4450 | 0.4593 | model_form_blend |
| predicted_SLG | 0.4900 | 0.4160 | 0.4583 | model_form_blend |
| predicted_SO | 0.6140 | 0.8060 | 0.6962 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.283 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | SS-3B |
| gameID | 20260701_DET@NYY |
| game_type | full |
| mlbID | 805808 |
| playerID | 805808 |
| playerName | Kevin McGonigle |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 13.9 |
| sl_bb_percent | 14.5 |
| sl_woba | 0.365 |
| sl_xwoba | 0.368 |
| sl_xba | 0.272 |
| sl_xslg | 0.449 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 37.3 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 21.7 |
| sl_whiff_percent | 15.8 |
| sl_swing_percent | 42.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.255 | 0.000 | -0.255 | 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.650 | 3.000 | 0.350 | 1.000 |
| predicted_AVG | 0.246 | 0.000 | 0.250 | Hitting_AVG | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_BB | 0.529 | 0.000 | 0.000 | Hitting_BB | 0.559 | 1.000 | -0.559 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.930 | 0.000 | 1.000 | Hitting_H | 1.103 | 0.000 | -1.103 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.327 | 0.000 | 0.250 | Hitting_OBP | 0.398 | 0.200 | -0.398 | -0.200 |
| predicted_R | 0.518 | 0.000 | 1.000 | Hitting_R | 0.551 | 1.000 | -0.551 | -1.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.471 | 1.000 | -0.471 | -1.000 |
| predicted_SLG | 0.527 | 0.000 | 0.250 | Hitting_SLG | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_SO | 1.129 | 0.000 | 1.000 | Hitting_SO | 1.190 | 1.000 | -1.190 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.8000 -> 4.0000 (boost 0.2000, better) |
| Biggest Deboost | predicted_SO: 1.1290 -> 0.0000 (deboost -1.1290, 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_AVG: 0.2460 -> 0.2538 (boost 0.0078, better) | predicted_SLG: 0.5270 -> 0.5060 (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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5060 -> 0.4501 (deboost -0.0559, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 5 | 2 | predicted_RBI: 0.4867 -> 1.0000 (boost 0.5133, better) | predicted_HR: 0.1925 -> 0.0000 (deboost -0.1925, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.245 HR/AB=0.051 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5289 -> 1.0000 (boost 0.4711, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4501 -> 0.2500 (deboost -0.2001, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 0 | 4 | 1 | 3 | - | predicted_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.4501 (boost 0.2001, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682985",
"player_name": "Riley Greene",
"position": "LF",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.0,
"predicted_AB": 3.8,
"predicted_AVG": 0.246,
"predicted_BB": 0.529,
"predicted_H": 0.93,
"predicted_HR": 0.19,
"predicted_OBP": 0.327,
"predicted_R": 0.518,
"predicted_RBI": 0.5,
"predicted_SLG": 0.527,
"predicted_SO": 1.129
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1915,
"predicted_3B": 0.0004,
"predicted_AB": 3.782,
"predicted_AVG": 0.2538,
"predicted_BB": 0.5038,
"predicted_H": 0.9569,
"predicted_HBP": 0.016,
"predicted_HR": 0.1973,
"predicted_OBP": 0.3331,
"predicted_R": 0.5526,
"predicted_RBI": 0.5085,
"predicted_SLG": 0.506,
"predicted_SO": 1.0858
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1915,
"delta": -0.0085,
"percent_delta": -0.0425,
"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.782,
"delta": -0.018,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2538,
"delta": 0.0078,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.529,
"after": 0.5038,
"delta": -0.0252,
"percent_delta": -0.0476,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9569,
"delta": 0.0269,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1973,
"delta": 0.0073,
"percent_delta": 0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3331,
"delta": 0.0061,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 0.5526,
"delta": 0.0346,
"percent_delta": 0.0668,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5085,
"delta": 0.0085,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.527,
"after": 0.506,
"delta": -0.021,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.129,
"after": 1.0858,
"delta": -0.0432,
"percent_delta": -0.0383,
"direction": "no_change",
"projection_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.246,
"after": 0.2538,
"delta": 0.0078,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.527,
"after": 0.506,
"delta": -0.021,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1915,
"predicted_3B": 0.0004,
"predicted_AB": 3.782,
"predicted_AVG": 0.2465,
"predicted_BB": 0.5002,
"predicted_H": 0.9323,
"predicted_HBP": 0.016,
"predicted_HR": 0.1925,
"predicted_OBP": 0.3345,
"predicted_R": 0.5289,
"predicted_RBI": 0.4867,
"predicted_SLG": 0.4501,
"predicted_SO": 1.0935
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1915,
"after": 0.1915,
"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.782,
"after": 3.782,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2538,
"after": 0.2465,
"delta": -0.0073,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5038,
"after": 0.5002,
"delta": -0.0036,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9569,
"after": 0.9323,
"delta": -0.0246,
"percent_delta": -0.0257,
"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.1973,
"after": 0.1925,
"delta": -0.0048,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3331,
"after": 0.3345,
"delta": 0.0014,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5526,
"after": 0.5289,
"delta": -0.0237,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5085,
"after": 0.4867,
"delta": -0.0218,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.4501,
"delta": -0.0559,
"percent_delta": -0.1105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0858,
"after": 1.0935,
"delta": 0.0077,
"percent_delta": 0.0071,
"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.506,
"after": 0.4501,
"delta": -0.0559,
"percent_delta": -0.1105,
"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.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.1915,
"after": 0.0,
"delta": -0.1915,
"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.782,
"after": 4.0,
"delta": 0.218,
"percent_delta": 0.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5002,
"after": 1.0,
"delta": 0.4998,
"percent_delta": 0.9992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9323,
"after": 1.0,
"delta": 0.0677,
"percent_delta": 0.0726,
"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.1925,
"after": 0.0,
"delta": -0.1925,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4867,
"after": 1.0,
"delta": 0.5133,
"percent_delta": 1.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0935,
"after": 1.0,
"delta": -0.0935,
"percent_delta": -0.0855,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4867,
"after": 1.0,
"delta": 0.5133,
"percent_delta": 1.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1925,
"after": 0.0,
"delta": -0.1925,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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.5289,
"after": 1.0,
"delta": 0.4711,
"percent_delta": 0.8907,
"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.5289,
"after": 1.0,
"delta": 0.4711,
"percent_delta": 0.8907,
"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.2465,
"after": 0.25,
"delta": 0.0035,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.0845,
"percent_delta": -0.2526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4501,
"after": 0.25,
"delta": -0.2001,
"percent_delta": -0.4446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4501,
"after": 0.25,
"delta": -0.2001,
"percent_delta": -0.4446,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 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.2465,
"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.3345,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4501,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2465,
"delta": -0.0035,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3345,
"delta": 0.0845,
"percent_delta": 0.3381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4501,
"delta": 0.2001,
"percent_delta": 0.8003,
"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.4501,
"delta": 0.2001,
"percent_delta": 0.8003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8,
"after": 4.0,
"delta": 0.2,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2465,
"delta": 0.0005,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.529,
"after": 0.0,
"delta": -0.529,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3345,
"delta": 0.0075,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 0.0,
"delta": -0.518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.527,
"after": 0.4501,
"delta": -0.0769,
"percent_delta": -0.1459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.129,
"after": 0.0,
"delta": -1.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.8,
"after": 4.0,
"delta": 0.2,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.129,
"after": 0.0,
"delta": -1.129,
"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.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.529 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.518 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.527 | - |
| predicted_SO | 1.129 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.009 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.782 | -0.018 |
| predicted_AVG | 0.254 | 0.008 |
| predicted_BB | 0.504 | -0.025 |
| predicted_H | 0.957 | 0.027 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.197 | 0.007 |
| predicted_OBP | 0.333 | 0.006 |
| predicted_R | 0.553 | 0.035 |
| predicted_RBI | 0.508 | 0.008 |
| predicted_SLG | 0.506 | -0.021 |
| predicted_SO | 1.086 | -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.192 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.782 | 0.000 |
| predicted_AVG | 0.246 | -0.007 |
| predicted_BB | 0.500 | -0.004 |
| predicted_H | 0.932 | -0.025 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.193 | -0.005 |
| predicted_OBP | 0.335 | 0.001 |
| predicted_R | 0.529 | -0.024 |
| predicted_RBI | 0.487 | -0.022 |
| predicted_SLG | 0.450 | -0.056 |
| predicted_SO | 1.093 | 0.008 |
AB rounded to 4 (raw=3.80), 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 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 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.192 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.218 |
| predicted_AVG | 0.250 | 0.004 |
| predicted_BB | 0.000 | -0.500 |
| predicted_H | 1.000 | 0.068 |
| predicted_HR | 0.000 | -0.193 |
| predicted_OBP | 0.250 | -0.085 |
| predicted_R | 1.000 | 0.471 |
| predicted_RBI | 1.000 | 0.513 |
| predicted_SLG | 0.250 | -0.200 |
| predicted_SO | 1.000 | -0.093 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 21.000 | 4.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 1.000 | 5.000 | 0.1905 | 0.2174 | 0.5238 | 0.1905 | 0.0952 | 0.1905 | 0.0476 | 0.2381 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 1.000 | 0.000 | 3.000 | 5.000 | 7.000 | 6.000 | 8.000 | 0.2703 | 0.3636 | 0.5405 | 0.2703 | 0.0811 | 0.1351 | 0.1622 | 0.2162 |
| season | 0.60 | 85 | - | 308.000 | 89.000 | 17.000 | 0.000 | 11.000 | 38.000 | 44.000 | 45.000 | 96.000 | 0.2890 | 0.3799 | 0.4513 | 0.2890 | 0.0357 | 0.1234 | 0.1461 | 0.3117 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7580 |
| predicted_AVG | 0.2642 |
| predicted_BB | 0.4700 |
| predicted_H | 0.9930 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.2070 |
| predicted_OBP | 0.3412 |
| predicted_R | 0.5990 |
| predicted_RBI | 0.5200 |
| predicted_SLG | 0.4778 |
| predicted_SO | 1.0280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1800 | 0.1915 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8000 | 3.7580 | 3.7820 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2642 | 0.2538 | model_form_blend |
| predicted_BB | 0.5290 | 0.4700 | 0.5038 | model_form_blend |
| predicted_H | 0.9300 | 0.9930 | 0.9569 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1900 | 0.2070 | 0.1973 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3412 | 0.3331 | model_form_blend |
| predicted_R | 0.5180 | 0.5990 | 0.5526 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5200 | 0.5085 | model_form_blend |
| predicted_SLG | 0.5270 | 0.4778 | 0.5060 | model_form_blend |
| predicted_SO | 1.1290 | 1.0280 | 1.0858 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.289 |
| 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 | 1 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| 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 | LF |
| gameID | 20260701_DET@NYY |
| game_type | full |
| mlbID | 682985 |
| playerID | 682985 |
| playerName | Riley Greene |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.362 |
| sl_xwoba | 0.361 |
| sl_xba | 0.261 |
| sl_xslg | 0.472 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 51.4 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 29.9 |
| 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.228 | 1.000 | 0.000 | Hitting_2B | 0.226 | 1.000 | 0.774 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 4.070 | 5.000 | 4.000 | Hitting_AB | 3.756 | 5.000 | 1.244 | 0.000 |
| predicted_AVG | 0.244 | 0.200 | 0.250 | Hitting_AVG | 0.254 | 0.400 | -0.054 | -0.200 |
| predicted_BB | 0.278 | 0.000 | 0.000 | Hitting_BB | 0.372 | 0.000 | -0.372 | 0.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 | 0.953 | 2.000 | 0.047 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_OBP | 0.298 | 0.200 | 0.250 | Hitting_OBP | 0.334 | 0.400 | -0.134 | -0.200 |
| predicted_R | 0.557 | 1.000 | 1.000 | Hitting_R | 0.487 | 1.000 | 0.513 | 0.000 |
| predicted_RBI | 0.550 | 1.000 | 1.000 | Hitting_RBI | 0.739 | 0.000 | 0.261 | 1.000 |
| predicted_SLG | 0.540 | 0.400 | 0.250 | Hitting_SLG | 0.513 | 0.600 | -0.113 | -0.200 |
| predicted_SO | 0.873 | 1.000 | 1.000 | Hitting_SO | 0.872 | 0.000 | 0.128 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 4.0700 -> 5.0000 (boost 0.9300, better) |
| Biggest Deboost | predicted_BB: 0.2780 -> 0.0000 (deboost -0.2780, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2440 -> 0.2512 (boost 0.0072, better) | predicted_AB: 4.0700 -> 3.9739 (deboost -0.0961, worse) | Final model input calibrated with local form: 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.5148 -> 0.4456 (deboost -0.0692, 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.5338 -> 1.0000 (boost 0.4662, better) | predicted_2B: 0.2671 -> 0.0000 (deboost -0.2671, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.238 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5519 -> 1.0000 (boost 0.4481, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2441 -> 0.2500 (boost 0.0059, better) | predicted_SLG: 0.4456 -> 0.2500 (deboost -0.1956, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4456 (boost 0.1956, better) | predicted_AVG: 0.2500 -> 0.2441 (deboost -0.0059, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.228,
"predicted_3B": 0.025,
"predicted_AB": 4.07,
"predicted_AVG": 0.244,
"predicted_BB": 0.278,
"predicted_H": 0.99,
"predicted_HR": 0.17,
"predicted_OBP": 0.298,
"predicted_R": 0.557,
"predicted_RBI": 0.55,
"predicted_SLG": 0.54,
"predicted_SO": 0.873
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2671,
"predicted_3B": 0.0212,
"predicted_AB": 3.9739,
"predicted_AVG": 0.2512,
"predicted_BB": 0.2435,
"predicted_H": 0.9955,
"predicted_HBP": 0.046,
"predicted_HR": 0.1679,
"predicted_OBP": 0.2993,
"predicted_R": 0.5766,
"predicted_RBI": 0.5577,
"predicted_SLG": 0.5148,
"predicted_SO": 0.8615
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.228,
"after": 0.2671,
"delta": 0.0391,
"percent_delta": 0.1715,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0212,
"delta": -0.0038,
"percent_delta": -0.152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9739,
"delta": -0.0961,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2512,
"delta": 0.0072,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 0.2435,
"delta": -0.0345,
"percent_delta": -0.1241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9955,
"delta": 0.0055,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1679,
"delta": -0.0021,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2993,
"delta": 0.0013,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.557,
"after": 0.5766,
"delta": 0.0196,
"percent_delta": 0.0352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5577,
"delta": 0.0077,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.54,
"after": 0.5148,
"delta": -0.0252,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.873,
"after": 0.8615,
"delta": -0.0115,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_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.244,
"after": 0.2512,
"delta": 0.0072,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9739,
"delta": -0.0961,
"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": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2671,
"predicted_3B": 0.0212,
"predicted_AB": 3.9739,
"predicted_AVG": 0.2441,
"predicted_BB": 0.2418,
"predicted_H": 0.9699,
"predicted_HBP": 0.046,
"predicted_HR": 0.1638,
"predicted_OBP": 0.2874,
"predicted_R": 0.5519,
"predicted_RBI": 0.5338,
"predicted_SLG": 0.4456,
"predicted_SO": 0.8676
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2671,
"after": 0.2671,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0212,
"after": 0.0212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9739,
"after": 3.9739,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2512,
"after": 0.2441,
"delta": -0.0071,
"percent_delta": -0.0283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2435,
"after": 0.2418,
"delta": -0.0017,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9955,
"after": 0.9699,
"delta": -0.0256,
"percent_delta": -0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1679,
"after": 0.1638,
"delta": -0.0041,
"percent_delta": -0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2993,
"after": 0.2874,
"delta": -0.0119,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5766,
"after": 0.5519,
"delta": -0.0247,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5577,
"after": 0.5338,
"delta": -0.0239,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5148,
"after": 0.4456,
"delta": -0.0692,
"percent_delta": -0.1344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8615,
"after": 0.8676,
"delta": 0.0061,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5148,
"after": 0.4456,
"delta": -0.0692,
"percent_delta": -0.1344,
"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.238 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.2671,
"after": 0.0,
"delta": -0.2671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0212,
"after": 0.0,
"delta": -0.0212,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9739,
"after": 4.0,
"delta": 0.0261,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2418,
"after": 0.0,
"delta": -0.2418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9699,
"after": 1.0,
"delta": 0.0301,
"percent_delta": 0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.046,
"after": 0.0,
"delta": -0.046,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1638,
"after": 0.0,
"delta": -0.1638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5338,
"after": 1.0,
"delta": 0.4662,
"percent_delta": 0.8734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8676,
"after": 1.0,
"delta": 0.1324,
"percent_delta": 0.1526,
"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.5338,
"after": 1.0,
"delta": 0.4662,
"percent_delta": 0.8734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2671,
"after": 0.0,
"delta": -0.2671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5519,
"after": 1.0,
"delta": 0.4481,
"percent_delta": 0.8119,
"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.5519,
"after": 1.0,
"delta": 0.4481,
"percent_delta": 0.8119,
"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.2441,
"after": 0.25,
"delta": 0.0059,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2874,
"after": 0.25,
"delta": -0.0374,
"percent_delta": -0.1301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4456,
"after": 0.25,
"delta": -0.1956,
"percent_delta": -0.439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2441,
"after": 0.25,
"delta": 0.0059,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4456,
"after": 0.25,
"delta": -0.1956,
"percent_delta": -0.439,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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": 5.0,
"predicted_AVG": 0.2441,
"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.2874,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4456,
"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.2441,
"delta": -0.0059,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2874,
"delta": 0.0374,
"percent_delta": 0.1497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4456,
"delta": 0.1956,
"percent_delta": 0.7826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4456,
"delta": 0.1956,
"percent_delta": 0.7826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2441,
"delta": -0.0059,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.228,
"after": 1.0,
"delta": 0.772,
"percent_delta": 3.386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 5.0,
"delta": 0.93,
"percent_delta": 0.2285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2441,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2874,
"delta": -0.0106,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.54,
"after": 0.4456,
"delta": -0.0944,
"percent_delta": -0.1748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.873,
"after": 1.0,
"delta": 0.127,
"percent_delta": 0.1455,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 5.0,
"delta": 0.93,
"percent_delta": 0.2285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.228 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.278 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.557 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.540 | - |
| predicted_SO | 0.873 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.267 | 0.039 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.974 | -0.096 |
| predicted_AVG | 0.251 | 0.007 |
| predicted_BB | 0.243 | -0.035 |
| predicted_H | 0.996 | 0.006 |
| predicted_HBP | 0.046 | - |
| predicted_HR | 0.168 | -0.002 |
| predicted_OBP | 0.299 | 0.001 |
| predicted_R | 0.577 | 0.020 |
| predicted_RBI | 0.558 | 0.008 |
| predicted_SLG | 0.515 | -0.025 |
| predicted_SO | 0.862 | -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.267 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.974 | 0.000 |
| predicted_AVG | 0.244 | -0.007 |
| predicted_BB | 0.242 | -0.002 |
| predicted_H | 0.970 | -0.026 |
| predicted_HBP | 0.046 | 0.000 |
| predicted_HR | 0.164 | -0.004 |
| predicted_OBP | 0.287 | -0.012 |
| predicted_R | 0.552 | -0.025 |
| predicted_RBI | 0.534 | -0.024 |
| predicted_SLG | 0.446 | -0.069 |
| predicted_SO | 0.868 | 0.006 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.238 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 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.267 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.026 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 0.000 | -0.242 |
| predicted_H | 1.000 | 0.030 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.250 | -0.037 |
| predicted_R | 1.000 | 0.448 |
| predicted_RBI | 1.000 | 0.466 |
| predicted_SLG | 0.250 | -0.196 |
| predicted_SO | 1.000 | 0.132 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 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 | 5.000 | 3.000 | 0.000 | 0.000 | 1.000 | 4.000 | 0.000 | 3.000 | 0.2500 | 0.2500 | 0.4000 | 0.2500 | 0.0000 | 0.0500 | 0.0000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 4.000 | 0.000 | 1.000 | 4.000 | 6.000 | 1.000 | 10.000 | 0.2500 | 0.2619 | 0.4250 | 0.2500 | 0.0250 | 0.1000 | 0.0250 | 0.2500 |
| season | 0.60 | 79 | - | 296.000 | 80.000 | 18.000 | 2.000 | 19.000 | 59.000 | 44.000 | 22.000 | 69.000 | 0.2703 | 0.3303 | 0.5372 | 0.2703 | 0.0642 | 0.1993 | 0.0743 | 0.2331 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3200 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.8440 |
| predicted_AVG | 0.2610 |
| predicted_BB | 0.1970 |
| predicted_H | 1.0030 |
| predicted_HBP | 0.0460 |
| predicted_HR | 0.1650 |
| predicted_OBP | 0.3010 |
| predicted_R | 0.6030 |
| predicted_RBI | 0.5680 |
| predicted_SLG | 0.4807 |
| predicted_SO | 0.8460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2280 | 0.3200 | 0.2671 | model_form_blend |
| predicted_3B | 0.0250 | 0.0160 | 0.0212 | model_form_blend |
| predicted_AB | 4.0700 | 3.8440 | 3.9739 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2610 | 0.2512 | model_form_blend |
| predicted_BB | 0.2780 | 0.1970 | 0.2435 | model_form_blend |
| predicted_H | 0.9900 | 1.0030 | 0.9955 | model_form_blend |
| predicted_HBP | - | 0.0460 | 0.0460 | form_only |
| predicted_HR | 0.1700 | 0.1650 | 0.1679 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3010 | 0.2993 | model_form_blend |
| predicted_R | 0.5570 | 0.6030 | 0.5766 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5680 | 0.5577 | model_form_blend |
| predicted_SLG | 0.5400 | 0.4807 | 0.5148 | model_form_blend |
| predicted_SO | 0.8730 | 0.8460 | 0.8615 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| 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 | 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 | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260701_DET@NYY |
| game_type | full |
| mlbID | 693307 |
| playerID | 693307 |
| playerName | Dillon Dingler |
| pos | C |
| started | True |
| startingPosition | DH |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.367 |
| sl_xwoba | 0.388 |
| sl_xba | 0.295 |
| sl_xslg | 0.546 |
| sl_sweet_spot_percent | 41.6 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 48.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 17.3 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 48.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.117 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.100 | 4.000 | 3.000 | Hitting_AB | 3.223 | 3.000 | 0.777 | 1.000 |
| predicted_AVG | 0.245 | 0.250 | 0.333 | Hitting_AVG | 0.272 | 0.333 | -0.022 | -0.083 |
| predicted_BB | 0.156 | 0.000 | 0.000 | Hitting_BB | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.760 | 1.000 | 1.000 | Hitting_H | 0.878 | 1.000 | 0.122 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_OBP | 0.278 | 0.250 | 0.333 | Hitting_OBP | 0.319 | 0.333 | -0.069 | -0.083 |
| predicted_R | 0.403 | 1.000 | 0.000 | Hitting_R | 0.404 | 0.000 | 0.596 | 1.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_SLG | 0.459 | 0.250 | 0.333 | Hitting_SLG | 0.361 | 0.333 | -0.111 | -0.083 |
| predicted_SO | 0.610 | 0.000 | 1.000 | Hitting_SO | 0.734 | 1.000 | -0.734 | -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.1000 -> 4.0000 (boost 0.9000, better) |
| Biggest Deboost | predicted_SO: 0.6100 -> 0.0000 (deboost -0.6100, 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.1000 -> 3.1690 (boost 0.0690, better) | predicted_SLG: 0.4590 -> 0.4230 (deboost -0.0360, worse) | Final model input calibrated with local form: 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.4230 -> 0.3780 (deboost -0.0450, 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.5966 -> 1.0000 (boost 0.4034, worse) | predicted_RBI: 0.2631 -> 0.0000 (deboost -0.2631, worse) | AB rounded to 3 (raw=3.17), rates preserved: AVG=0.232 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4033 -> 0.0000 (deboost -0.4033, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2325 -> 0.3330 (boost 0.1005, better) | predicted_SLG: 0.3780 -> 0.3330 (deboost -0.0450, 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.3780 (boost 0.0450, better) | predicted_AVG: 0.3330 -> 0.2325 (deboost -0.1005, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "690993",
"player_name": "Colt Keith",
"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.117,
"predicted_3B": 0.026,
"predicted_AB": 3.1,
"predicted_AVG": 0.245,
"predicted_BB": 0.156,
"predicted_H": 0.76,
"predicted_HR": 0.1,
"predicted_OBP": 0.278,
"predicted_R": 0.403,
"predicted_RBI": 0.3,
"predicted_SLG": 0.459,
"predicted_SO": 0.61
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1241,
"predicted_3B": 0.0222,
"predicted_AB": 3.169,
"predicted_AVG": 0.2387,
"predicted_BB": 0.1598,
"predicted_H": 0.7562,
"predicted_HBP": 0.026,
"predicted_HR": 0.1,
"predicted_OBP": 0.2756,
"predicted_R": 0.4214,
"predicted_RBI": 0.2749,
"predicted_SLG": 0.423,
"predicted_SO": 0.5924
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 0.1241,
"delta": 0.0071,
"percent_delta": 0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0222,
"delta": -0.0038,
"percent_delta": -0.1462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1,
"after": 3.169,
"delta": 0.069,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2387,
"delta": -0.0063,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.1598,
"delta": 0.0038,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7562,
"delta": -0.0038,
"percent_delta": -0.005,
"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.278,
"after": 0.2756,
"delta": -0.0024,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.403,
"after": 0.4214,
"delta": 0.0184,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.2749,
"delta": -0.0251,
"percent_delta": -0.0837,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.423,
"delta": -0.036,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.61,
"after": 0.5924,
"delta": -0.0176,
"percent_delta": -0.0289,
"direction": "no_change",
"projection_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.1,
"after": 3.169,
"delta": 0.069,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.423,
"delta": -0.036,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 77
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1241,
"predicted_3B": 0.0222,
"predicted_AB": 3.169,
"predicted_AVG": 0.2325,
"predicted_BB": 0.1587,
"predicted_H": 0.7368,
"predicted_HBP": 0.026,
"predicted_HR": 0.0976,
"predicted_OBP": 0.2691,
"predicted_R": 0.4033,
"predicted_RBI": 0.2631,
"predicted_SLG": 0.378,
"predicted_SO": 0.5966
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1241,
"after": 0.1241,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0222,
"after": 0.0222,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.169,
"after": 3.169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.2325,
"delta": -0.0062,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1598,
"after": 0.1587,
"delta": -0.0011,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7562,
"after": 0.7368,
"delta": -0.0194,
"percent_delta": -0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0976,
"delta": -0.0024,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2756,
"after": 0.2691,
"delta": -0.0065,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4214,
"after": 0.4033,
"delta": -0.0181,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2749,
"after": 0.2631,
"delta": -0.0118,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.378,
"delta": -0.045,
"percent_delta": -0.1064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5924,
"after": 0.5966,
"delta": 0.0042,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.378,
"delta": -0.045,
"percent_delta": -0.1064,
"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.232 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.1241,
"after": 0.0,
"delta": -0.1241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0222,
"after": 0.0,
"delta": -0.0222,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.169,
"after": 3.0,
"delta": -0.169,
"percent_delta": -0.0533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1587,
"after": 0.0,
"delta": -0.1587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7368,
"after": 1.0,
"delta": 0.2632,
"percent_delta": 0.3572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0976,
"after": 0.0,
"delta": -0.0976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2631,
"after": 0.0,
"delta": -0.2631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5966,
"after": 1.0,
"delta": 0.4034,
"percent_delta": 0.6762,
"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.5966,
"after": 1.0,
"delta": 0.4034,
"percent_delta": 0.6762,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2631,
"after": 0.0,
"delta": -0.2631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4033,
"after": 0.0,
"delta": -0.4033,
"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.4033,
"after": 0.0,
"delta": -0.4033,
"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.2325,
"after": 0.333,
"delta": 0.1005,
"percent_delta": 0.4323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2691,
"after": 0.333,
"delta": 0.0639,
"percent_delta": 0.2375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.378,
"after": 0.333,
"delta": -0.045,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2325,
"after": 0.333,
"delta": 0.1005,
"percent_delta": 0.4323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.333,
"delta": -0.045,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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.2325,
"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.2691,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.378,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2325,
"delta": -0.1005,
"percent_delta": -0.3018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2691,
"delta": -0.0639,
"percent_delta": -0.1919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.378,
"delta": 0.045,
"percent_delta": 0.1353,
"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.378,
"delta": 0.045,
"percent_delta": 0.1353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2325,
"delta": -0.1005,
"percent_delta": -0.3018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.117,
"after": 0.0,
"delta": -0.117,
"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.1,
"after": 4.0,
"delta": 0.9,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2325,
"delta": -0.0125,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"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.278,
"after": 0.2691,
"delta": -0.0089,
"percent_delta": -0.032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.403,
"after": 1.0,
"delta": 0.597,
"percent_delta": 1.4814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.378,
"delta": -0.081,
"percent_delta": -0.1765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"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.1,
"after": 4.0,
"delta": 0.9,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"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.117 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.100 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.156 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.403 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.459 | - |
| predicted_SO | 0.610 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.007 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.169 | 0.069 |
| predicted_AVG | 0.239 | -0.006 |
| predicted_BB | 0.160 | 0.004 |
| predicted_H | 0.756 | -0.004 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.100 | 0.000 |
| predicted_OBP | 0.276 | -0.002 |
| predicted_R | 0.421 | 0.018 |
| predicted_RBI | 0.275 | -0.025 |
| predicted_SLG | 0.423 | -0.036 |
| predicted_SO | 0.592 | -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.124 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.169 | 0.000 |
| predicted_AVG | 0.233 | -0.006 |
| predicted_BB | 0.159 | -0.001 |
| predicted_H | 0.737 | -0.019 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.269 | -0.007 |
| predicted_R | 0.403 | -0.018 |
| predicted_RBI | 0.263 | -0.012 |
| predicted_SLG | 0.378 | -0.045 |
| predicted_SO | 0.597 | 0.004 |
AB rounded to 3 (raw=3.17), rates preserved: AVG=0.232 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 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.124 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | -0.169 |
| predicted_AVG | 0.333 | 0.101 |
| predicted_BB | 0.000 | -0.159 |
| predicted_H | 1.000 | 0.263 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.333 | 0.064 |
| predicted_R | 0.000 | -0.403 |
| predicted_RBI | 0.000 | -0.263 |
| predicted_SLG | 0.333 | -0.045 |
| predicted_SO | 1.000 | 0.403 |
Attached 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 | - | 18.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 1.000 | 2.000 | 0.2222 | 0.2632 | 0.4444 | 0.2222 | 0.0556 | 0.0556 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 34.000 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 1.000 | 4.000 | 0.1765 | 0.2000 | 0.2941 | 0.1765 | 0.0294 | 0.0588 | 0.0294 | 0.1177 |
| season | 0.60 | 77 | - | 231.000 | 57.000 | 9.000 | 2.000 | 5.000 | 17.000 | 31.000 | 12.000 | 47.000 | 0.2468 | 0.2927 | 0.3680 | 0.2467 | 0.0216 | 0.0736 | 0.0520 | 0.2035 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.2650 |
| predicted_AVG | 0.2300 |
| predicted_BB | 0.1650 |
| predicted_H | 0.7510 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.2723 |
| predicted_R | 0.4470 |
| predicted_RBI | 0.2400 |
| predicted_SLG | 0.3728 |
| predicted_SO | 0.5680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1170 | 0.1340 | 0.1241 | model_form_blend |
| predicted_3B | 0.0260 | 0.0170 | 0.0222 | model_form_blend |
| predicted_AB | 3.1000 | 3.2650 | 3.1690 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2300 | 0.2387 | model_form_blend |
| predicted_BB | 0.1560 | 0.1650 | 0.1598 | model_form_blend |
| predicted_H | 0.7600 | 0.7510 | 0.7562 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_OBP | 0.2780 | 0.2723 | 0.2756 | model_form_blend |
| predicted_R | 0.4030 | 0.4470 | 0.4214 | model_form_blend |
| predicted_RBI | 0.3000 | 0.2400 | 0.2749 | model_form_blend |
| predicted_SLG | 0.4590 | 0.3728 | 0.4230 | model_form_blend |
| predicted_SO | 0.6100 | 0.5680 | 0.5924 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.247 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260701_DET@NYY |
| game_type | full |
| mlbID | 690993 |
| playerID | 690993 |
| playerName | Colt Keith |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.293 |
| sl_xwoba | 0.315 |
| sl_xba | 0.264 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 20.6 |
| 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.085 | 0.000 | 0.000 | Hitting_2B | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 3.119 | 4.000 | 3.000 | Hitting_AB | 3.161 | 5.000 | 0.839 | -1.000 |
| predicted_AVG | 0.246 | 0.000 | 0.333 | Hitting_AVG | 0.166 | 0.200 | -0.166 | -0.200 |
| predicted_BB | 0.356 | 0.000 | 0.000 | Hitting_BB | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_H | 0.730 | 0.000 | 1.000 | Hitting_H | 0.524 | 1.000 | -0.524 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_OBP | 0.288 | 0.000 | 0.333 | Hitting_OBP | 0.247 | 0.200 | -0.247 | -0.200 |
| predicted_R | 0.254 | 0.000 | 0.000 | Hitting_R | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.301 | 2.000 | -0.301 | -2.000 |
| predicted_SLG | 0.439 | 0.000 | 0.333 | Hitting_SLG | 0.246 | 0.200 | -0.246 | -0.200 |
| predicted_SO | 0.610 | 1.000 | 1.000 | Hitting_SO | 0.643 | 1.000 | 0.357 | 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: 3.1190 -> 4.0000 (boost 0.8810, better) |
| Biggest Deboost | predicted_H: 0.7300 -> 0.0000 (deboost -0.7300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AB: 3.1190 -> 3.3251 (boost 0.2061, better) | predicted_SLG: 0.4390 -> 0.4059 (deboost -0.0331, worse) | Final model input calibrated with local form: 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.2872 -> 0.2950 (boost 0.0078, better) | predicted_SLG: 0.4059 -> 0.3569 (deboost -0.0490, 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.5952 -> 1.0000 (boost 0.4048, worse) | predicted_RBI: 0.3651 -> 0.0000 (deboost -0.3651, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.227 HR/AB=0.026 |
| 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.2977 -> 0.0000 (deboost -0.2977, 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.3569 -> 0.3330 (deboost -0.0239, 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_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 |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3569 (boost 0.0239, 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": "656716",
"player_name": "Zach McKinstry",
"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.085,
"predicted_3B": 0.034,
"predicted_AB": 3.119,
"predicted_AVG": 0.246,
"predicted_BB": 0.356,
"predicted_H": 0.73,
"predicted_HR": 0.09,
"predicted_OBP": 0.288,
"predicted_R": 0.254,
"predicted_RBI": 0.36,
"predicted_SLG": 0.439,
"predicted_SO": 0.61
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0982,
"predicted_3B": 0.0357,
"predicted_AB": 3.3251,
"predicted_AVG": 0.2397,
"predicted_BB": 0.3246,
"predicted_H": 0.7734,
"predicted_HBP": 0.004,
"predicted_HR": 0.09,
"predicted_OBP": 0.2872,
"predicted_R": 0.311,
"predicted_RBI": 0.3815,
"predicted_SLG": 0.4059,
"predicted_SO": 0.591
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.0982,
"delta": 0.0132,
"percent_delta": 0.1553,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0357,
"delta": 0.0017,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.119,
"after": 3.3251,
"delta": 0.2061,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2397,
"delta": -0.0063,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.3246,
"delta": -0.0314,
"percent_delta": -0.0882,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7734,
"delta": 0.0434,
"percent_delta": 0.0595,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.09,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2872,
"delta": -0.0008,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.254,
"after": 0.311,
"delta": 0.057,
"percent_delta": 0.2244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3815,
"delta": 0.0215,
"percent_delta": 0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4059,
"delta": -0.0331,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.61,
"after": 0.591,
"delta": -0.019,
"percent_delta": -0.0311,
"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": 3.119,
"after": 3.3251,
"delta": 0.2061,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4059,
"delta": -0.0331,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0982,
"predicted_3B": 0.0357,
"predicted_AB": 3.3251,
"predicted_AVG": 0.2266,
"predicted_BB": 0.3223,
"predicted_H": 0.7535,
"predicted_HBP": 0.004,
"predicted_HR": 0.0878,
"predicted_OBP": 0.295,
"predicted_R": 0.2977,
"predicted_RBI": 0.3651,
"predicted_SLG": 0.3569,
"predicted_SO": 0.5952
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0982,
"after": 0.0982,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0357,
"after": 0.0357,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3251,
"after": 3.3251,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2397,
"after": 0.2266,
"delta": -0.0131,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3246,
"after": 0.3223,
"delta": -0.0023,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7734,
"after": 0.7535,
"delta": -0.0199,
"percent_delta": -0.0257,
"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.09,
"after": 0.0878,
"delta": -0.0022,
"percent_delta": -0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2872,
"after": 0.295,
"delta": 0.0078,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.311,
"after": 0.2977,
"delta": -0.0133,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3815,
"after": 0.3651,
"delta": -0.0164,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4059,
"after": 0.3569,
"delta": -0.049,
"percent_delta": -0.1207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.591,
"after": 0.5952,
"delta": 0.0042,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_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.2872,
"after": 0.295,
"delta": 0.0078,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4059,
"after": 0.3569,
"delta": -0.049,
"percent_delta": -0.1207,
"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.227 HR/AB=0.026",
"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.0982,
"after": 0.0,
"delta": -0.0982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0357,
"after": 0.0,
"delta": -0.0357,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3251,
"after": 3.0,
"delta": -0.3251,
"percent_delta": -0.0978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3223,
"after": 0.0,
"delta": -0.3223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7535,
"after": 1.0,
"delta": 0.2465,
"percent_delta": 0.3271,
"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.0878,
"after": 0.0,
"delta": -0.0878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3651,
"after": 0.0,
"delta": -0.3651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5952,
"after": 1.0,
"delta": 0.4048,
"percent_delta": 0.6801,
"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.5952,
"after": 1.0,
"delta": 0.4048,
"percent_delta": 0.6801,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3651,
"after": 0.0,
"delta": -0.3651,
"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.2977,
"after": 0.0,
"delta": -0.2977,
"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.2977,
"after": 0.0,
"delta": -0.2977,
"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.295,
"after": 0.333,
"delta": 0.038,
"percent_delta": 0.1288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3569,
"after": 0.333,
"delta": -0.0239,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3569,
"after": 0.333,
"delta": -0.0239,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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.2266,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3569,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.295,
"delta": -0.038,
"percent_delta": -0.1142,
"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.3569,
"delta": 0.0239,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3569,
"delta": 0.0239,
"percent_delta": 0.0716,
"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.085,
"after": 0.0,
"delta": -0.085,
"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.119,
"after": 4.0,
"delta": 0.881,
"percent_delta": 0.2825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2266,
"delta": -0.0194,
"percent_delta": -0.0789,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.0,
"delta": -0.356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"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.295,
"delta": 0.007,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"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.439,
"after": 0.3569,
"delta": -0.0821,
"percent_delta": -0.187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"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.119,
"after": 4.0,
"delta": 0.881,
"percent_delta": 0.2825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.085 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 3.119 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.254 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 0.610 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.098 | 0.013 |
| predicted_3B | 0.036 | 0.002 |
| predicted_AB | 3.325 | 0.206 |
| predicted_AVG | 0.240 | -0.006 |
| predicted_BB | 0.325 | -0.031 |
| predicted_H | 0.773 | 0.043 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.090 | 0.000 |
| predicted_OBP | 0.287 | -0.001 |
| predicted_R | 0.311 | 0.057 |
| predicted_RBI | 0.382 | 0.022 |
| predicted_SLG | 0.406 | -0.033 |
| predicted_SO | 0.591 | -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.098 | 0.000 |
| predicted_3B | 0.036 | 0.000 |
| predicted_AB | 3.325 | 0.000 |
| predicted_AVG | 0.227 | -0.013 |
| predicted_BB | 0.322 | -0.002 |
| predicted_H | 0.753 | -0.020 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.088 | -0.002 |
| predicted_OBP | 0.295 | 0.008 |
| predicted_R | 0.298 | -0.013 |
| predicted_RBI | 0.365 | -0.016 |
| predicted_SLG | 0.357 | -0.049 |
| predicted_SO | 0.595 | 0.004 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.227 HR/AB=0.026
| 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.098 |
| predicted_3B | 0.000 | -0.036 |
| predicted_AB | 3.000 | -0.325 |
| predicted_AVG | 0.333 | 0.106 |
| predicted_BB | 0.000 | -0.322 |
| predicted_H | 1.000 | 0.247 |
| predicted_HR | 0.000 | -0.088 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 0.000 | -0.298 |
| predicted_RBI | 0.000 | -0.365 |
| predicted_SLG | 0.333 | -0.024 |
| 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 | 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 | - | 23.000 | 7.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 0.000 | 1.000 | 0.3043 | 0.3043 | 0.4783 | 0.3044 | 0.0435 | 0.1739 | 0.0000 | 0.0435 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 1.000 | 1.000 | 1.000 | 5.000 | 6.000 | 2.000 | 4.000 | 0.2500 | 0.2857 | 0.4000 | 0.2500 | 0.0250 | 0.1250 | 0.0500 | 0.1000 |
| season | 0.60 | 59 | - | 184.000 | 36.000 | 5.000 | 2.000 | 3.000 | 16.000 | 15.000 | 21.000 | 36.000 | 0.1957 | 0.2754 | 0.2935 | 0.1956 | 0.0163 | 0.0870 | 0.1141 | 0.1956 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1170 |
| predicted_3B | 0.0380 |
| predicted_AB | 3.6180 |
| predicted_AVG | 0.2307 |
| predicted_BB | 0.2800 |
| predicted_H | 0.8350 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.2861 |
| predicted_R | 0.3920 |
| predicted_RBI | 0.4120 |
| predicted_SLG | 0.3589 |
| predicted_SO | 0.5640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0850 | 0.1170 | 0.0982 | model_form_blend |
| predicted_3B | 0.0340 | 0.0380 | 0.0357 | model_form_blend |
| predicted_AB | 3.1190 | 3.6180 | 3.3251 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2307 | 0.2397 | model_form_blend |
| predicted_BB | 0.3560 | 0.2800 | 0.3246 | model_form_blend |
| predicted_H | 0.7300 | 0.8350 | 0.7734 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0900 | 0.0900 | 0.0900 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2861 | 0.2872 | model_form_blend |
| predicted_R | 0.2540 | 0.3920 | 0.3110 | model_form_blend |
| predicted_RBI | 0.3600 | 0.4120 | 0.3815 | model_form_blend |
| predicted_SLG | 0.4390 | 0.3589 | 0.4059 | model_form_blend |
| predicted_SO | 0.6100 | 0.5640 | 0.5910 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 143 |
| Season rows before report date | 143 |
| Report year | 2026 |
| Profile rows used | 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.196 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B-SS |
| gameID | 20260701_DET@NYY |
| game_type | full |
| mlbID | 656716 |
| playerID | 656716 |
| playerName | Zach McKinstry |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.255 |
| sl_xwoba | 0.266 |
| sl_xba | 0.215 |
| sl_xslg | 0.289 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 1.9 |
| sl_hard_hit_percent | 20.0 |
| sl_exit_velocity_avg | 84.1 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 16.1 |
| sl_swing_percent | 49.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.212 | 0.000 | 0.000 | Hitting_2B | 0.233 | 0.000 | -0.233 | 0.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.469 | 3.000 | 0.531 | 1.000 |
| predicted_AVG | 0.243 | 0.500 | 0.333 | Hitting_AVG | 0.211 | 0.000 | 0.289 | 0.500 |
| predicted_BB | 0.459 | 0.000 | 0.000 | Hitting_BB | 0.486 | 2.000 | -0.486 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.830 | 2.000 | 1.000 | Hitting_H | 0.731 | 0.000 | 1.269 | 2.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_OBP | 0.338 | 0.500 | 0.333 | Hitting_OBP | 0.315 | 0.400 | 0.185 | 0.100 |
| predicted_R | 0.412 | 1.000 | 0.000 | Hitting_R | 0.380 | 1.000 | 0.620 | 0.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.396 | 1.000 | -0.396 | -1.000 |
| predicted_SLG | 0.535 | 0.500 | 0.333 | Hitting_SLG | 0.412 | 0.000 | 0.088 | 0.500 |
| predicted_SO | 1.271 | 0.000 | 1.000 | Hitting_SO | 1.322 | 1.000 | -1.322 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.8300 -> 2.0000 (boost 1.1700, better) |
| Biggest Deboost | predicted_SO: 1.2710 -> 0.0000 (deboost -1.2710, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_R: 0.4120 -> 0.4840 (boost 0.0720, better) | predicted_SLG: 0.5350 -> 0.5227 (deboost -0.0123, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5227 -> 0.4745 (deboost -0.0482, 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.6093 -> 1.0000 (boost 0.3907, better) | predicted_BB: 0.4642 -> 0.0000 (deboost -0.4642, worse) | AB rounded to 3 (raw=3.43), rates preserved: AVG=0.239 HR/AB=0.057 |
| 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.4632 -> 0.0000 (deboost -0.4632, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2400 -> 0.3330 (boost 0.0930, better) | predicted_SLG: 0.4745 -> 0.3330 (deboost -0.1415, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 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 |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4745 (boost 0.1415, better) | predicted_AVG: 0.3330 -> 0.2400 (deboost -0.0930, 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.212,
"predicted_3B": 0.0,
"predicted_AB": 3.43,
"predicted_AVG": 0.243,
"predicted_BB": 0.459,
"predicted_H": 0.83,
"predicted_HR": 0.19,
"predicted_OBP": 0.338,
"predicted_R": 0.412,
"predicted_RBI": 0.6,
"predicted_SLG": 0.535,
"predicted_SO": 1.271
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2171,
"predicted_3B": 0.0004,
"predicted_AB": 3.4181,
"predicted_AVG": 0.2469,
"predicted_BB": 0.4675,
"predicted_H": 0.8419,
"predicted_HBP": 0.091,
"predicted_HR": 0.1994,
"predicted_OBP": 0.346,
"predicted_R": 0.484,
"predicted_RBI": 0.6366,
"predicted_SLG": 0.5227,
"predicted_SO": 1.2314
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.2171,
"delta": 0.0051,
"percent_delta": 0.0241,
"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.4181,
"delta": -0.0119,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2469,
"delta": 0.0039,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.459,
"after": 0.4675,
"delta": 0.0085,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8419,
"delta": 0.0119,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1994,
"delta": 0.0094,
"percent_delta": 0.0495,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.346,
"delta": 0.008,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.484,
"delta": 0.072,
"percent_delta": 0.1748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.6366,
"delta": 0.0366,
"percent_delta": 0.061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.535,
"after": 0.5227,
"delta": -0.0123,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.271,
"after": 1.2314,
"delta": -0.0396,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_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.412,
"after": 0.484,
"delta": 0.072,
"percent_delta": 0.1748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.535,
"after": 0.5227,
"delta": -0.0123,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2171,
"predicted_3B": 0.0004,
"predicted_AB": 3.4181,
"predicted_AVG": 0.24,
"predicted_BB": 0.4642,
"predicted_H": 0.8203,
"predicted_HBP": 0.091,
"predicted_HR": 0.1946,
"predicted_OBP": 0.3308,
"predicted_R": 0.4632,
"predicted_RBI": 0.6093,
"predicted_SLG": 0.4745,
"predicted_SO": 1.2401
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2171,
"after": 0.2171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4181,
"after": 3.4181,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2469,
"after": 0.24,
"delta": -0.0069,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4675,
"after": 0.4642,
"delta": -0.0033,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8419,
"after": 0.8203,
"delta": -0.0216,
"percent_delta": -0.0257,
"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.1994,
"after": 0.1946,
"delta": -0.0048,
"percent_delta": -0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3308,
"delta": -0.0152,
"percent_delta": -0.0439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.4632,
"delta": -0.0208,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6366,
"after": 0.6093,
"delta": -0.0273,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5227,
"after": 0.4745,
"delta": -0.0482,
"percent_delta": -0.0922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2314,
"after": 1.2401,
"delta": 0.0087,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5227,
"after": 0.4745,
"delta": -0.0482,
"percent_delta": -0.0922,
"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.239 HR/AB=0.057",
"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.2171,
"after": 0.0,
"delta": -0.2171,
"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.4181,
"after": 3.0,
"delta": -0.4181,
"percent_delta": -0.1223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4642,
"after": 0.0,
"delta": -0.4642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8203,
"after": 1.0,
"delta": 0.1797,
"percent_delta": 0.2191,
"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.1946,
"after": 0.0,
"delta": -0.1946,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6093,
"after": 1.0,
"delta": 0.3907,
"percent_delta": 0.6412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2401,
"after": 1.0,
"delta": -0.2401,
"percent_delta": -0.1936,
"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.6093,
"after": 1.0,
"delta": 0.3907,
"percent_delta": 0.6412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4642,
"after": 0.0,
"delta": -0.4642,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4632,
"after": 0.0,
"delta": -0.4632,
"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.4632,
"after": 0.0,
"delta": -0.4632,
"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": 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.24,
"after": 0.333,
"delta": 0.093,
"percent_delta": 0.3875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3308,
"after": 0.333,
"delta": 0.0022,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4745,
"after": 0.333,
"delta": -0.1415,
"percent_delta": -0.2982,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.24,
"after": 0.333,
"delta": 0.093,
"percent_delta": 0.3875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4745,
"after": 0.333,
"delta": -0.1415,
"percent_delta": -0.2982,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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_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": 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.24,
"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.3308,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4745,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.24,
"delta": -0.093,
"percent_delta": -0.2794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3308,
"delta": -0.0022,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4745,
"delta": 0.1415,
"percent_delta": 0.4249,
"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.4745,
"delta": 0.1415,
"percent_delta": 0.4249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.24,
"delta": -0.093,
"percent_delta": -0.2794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.43,
"after": 4.0,
"delta": 0.57,
"percent_delta": 0.1662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.24,
"delta": -0.003,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.459,
"after": 0.0,
"delta": -0.459,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 2.0,
"delta": 1.17,
"percent_delta": 1.4096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.3308,
"delta": -0.0072,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "better",
"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.535,
"after": 0.4745,
"delta": -0.0605,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.271,
"after": 0.0,
"delta": -1.271,
"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.83,
"after": 2.0,
"delta": 1.17,
"percent_delta": 1.4096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.271,
"after": 0.0,
"delta": -1.271,
"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.212 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.430 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.459 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.535 | - |
| predicted_SO | 1.271 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | 0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.418 | -0.012 |
| predicted_AVG | 0.247 | 0.004 |
| predicted_BB | 0.468 | 0.009 |
| predicted_H | 0.842 | 0.012 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.199 | 0.009 |
| predicted_OBP | 0.346 | 0.008 |
| predicted_R | 0.484 | 0.072 |
| predicted_RBI | 0.637 | 0.037 |
| predicted_SLG | 0.523 | -0.012 |
| predicted_SO | 1.231 | -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.217 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.418 | 0.000 |
| predicted_AVG | 0.240 | -0.007 |
| predicted_BB | 0.464 | -0.003 |
| predicted_H | 0.820 | -0.022 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.195 | -0.005 |
| predicted_OBP | 0.331 | -0.015 |
| predicted_R | 0.463 | -0.021 |
| predicted_RBI | 0.609 | -0.027 |
| predicted_SLG | 0.474 | -0.048 |
| predicted_SO | 1.240 | 0.009 |
AB rounded to 3 (raw=3.43), rates preserved: AVG=0.239 HR/AB=0.057
| 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=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 | 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 | 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.217 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.418 |
| predicted_AVG | 0.333 | 0.093 |
| predicted_BB | 0.000 | -0.464 |
| predicted_H | 1.000 | 0.180 |
| predicted_HR | 0.000 | -0.195 |
| predicted_OBP | 0.333 | 0.002 |
| predicted_R | 0.000 | -0.463 |
| predicted_RBI | 1.000 | 0.391 |
| predicted_SLG | 0.333 | -0.141 |
| 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 | 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 | -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 | 2.000 | 7.000 | 5.000 | 3.000 | 5.000 | 0.3529 | 0.4762 | 0.7647 | 0.3529 | 0.1177 | 0.4118 | 0.1765 | 0.2941 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 3.000 | 0.000 | 2.000 | 8.000 | 7.000 | 5.000 | 12.000 | 0.2727 | 0.3846 | 0.5455 | 0.2727 | 0.0606 | 0.2424 | 0.1515 | 0.3636 |
| season | 0.60 | 85 | - | 287.000 | 61.000 | 18.000 | 0.000 | 14.000 | 37.000 | 35.000 | 39.000 | 108.000 | 0.2125 | 0.3153 | 0.4216 | 0.2125 | 0.0488 | 0.1289 | 0.1359 | 0.3763 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2240 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4020 |
| predicted_AVG | 0.2522 |
| predicted_BB | 0.4790 |
| predicted_H | 0.8580 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.2120 |
| predicted_OBP | 0.3568 |
| predicted_R | 0.5810 |
| predicted_RBI | 0.6860 |
| predicted_SLG | 0.5062 |
| predicted_SO | 1.1780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.2240 | 0.2171 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4300 | 3.4020 | 3.4181 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2522 | 0.2469 | model_form_blend |
| predicted_BB | 0.4590 | 0.4790 | 0.4675 | model_form_blend |
| predicted_H | 0.8300 | 0.8580 | 0.8419 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.1900 | 0.2120 | 0.1994 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3568 | 0.3460 | model_form_blend |
| predicted_R | 0.4120 | 0.5810 | 0.4840 | model_form_blend |
| predicted_RBI | 0.6000 | 0.6860 | 0.6366 | model_form_blend |
| predicted_SLG | 0.5350 | 0.5062 | 0.5227 | model_form_blend |
| predicted_SO | 1.2710 | 1.1780 | 1.2314 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.213 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260701_DET@NYY |
| game_type | full |
| mlbID | 679529 |
| playerID | 679529 |
| playerName | Spencer Torkelson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.327 |
| sl_xwoba | 0.328 |
| sl_xba | 0.221 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 47.3 |
| sl_barrel_batted_rate | 14.4 |
| sl_hard_hit_percent | 45.6 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 19.9 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 42.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.103 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.641 | 3.000 | 3.000 | Hitting_AB | 2.438 | 5.000 | 0.562 | -2.000 |
| predicted_AVG | 0.198 | 0.000 | 0.000 | Hitting_AVG | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_BB | 0.205 | 1.000 | 0.000 | Hitting_BB | 0.312 | 0.000 | 0.688 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.130 | 0.000 | 0.000 | Hitting_H | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_OBP | 0.215 | 0.250 | 0.000 | Hitting_OBP | 0.273 | 0.000 | -0.023 | 0.250 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.352 | 0.000 | 0.000 | Hitting_SLG | 0.410 | 0.000 | -0.410 | 0.000 |
| predicted_SO | 1.231 | 2.000 | 1.000 | Hitting_SO | 1.188 | 2.000 | 0.812 | 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_BB: 0.2050 -> 1.0000 (boost 0.7950, better) |
| Biggest Deboost | predicted_R: 0.3330 -> 0.0000 (deboost -0.3330, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_AB: 2.6410 -> 2.8170 (boost 0.1760, better) | - | Final model input calibrated with local form: 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.3509 -> 0.2321 (deboost -0.1188, 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.8170 -> 3.0000 (boost 0.1830, better) | predicted_H: 0.2978 -> 0.0000 (deboost -0.2978, worse) | AB rounded to 3 (raw=2.82), rates preserved: AVG=0.106 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3462 -> 0.0000 (deboost -0.3462, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2321 -> 0.0000 (deboost -0.2321, 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_BB: 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.0000 -> 0.2321 (boost 0.2321, better) | - | 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.103,
"predicted_3B": 0.026,
"predicted_AB": 2.641,
"predicted_AVG": 0.198,
"predicted_BB": 0.205,
"predicted_H": 0.13,
"predicted_HR": 0.04,
"predicted_OBP": 0.215,
"predicted_R": 0.333,
"predicted_RBI": 0.14,
"predicted_SLG": 0.352,
"predicted_SO": 1.231
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0972,
"predicted_3B": 0.0225,
"predicted_AB": 2.817,
"predicted_AVG": 0.1943,
"predicted_BB": 0.2337,
"predicted_H": 0.3057,
"predicted_HBP": 0.006,
"predicted_HR": 0.073,
"predicted_OBP": 0.2313,
"predicted_R": 0.3617,
"predicted_RBI": 0.2544,
"predicted_SLG": 0.3509,
"predicted_SO": 1.2302
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.0972,
"delta": -0.0058,
"percent_delta": -0.0563,
"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.641,
"after": 2.817,
"delta": 0.176,
"percent_delta": 0.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.1943,
"delta": -0.0037,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.2337,
"delta": 0.0287,
"percent_delta": 0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.13,
"after": 0.3057,
"delta": 0.1757,
"percent_delta": 1.3515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.073,
"delta": 0.033,
"percent_delta": 0.825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.215,
"after": 0.2313,
"delta": 0.0163,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3617,
"delta": 0.0287,
"percent_delta": 0.0862,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.2544,
"delta": 0.1144,
"percent_delta": 0.8171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3509,
"delta": -0.0011,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.231,
"after": 1.2302,
"delta": -0.0008,
"percent_delta": -0.0006,
"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": 2.641,
"after": 2.817,
"delta": 0.176,
"percent_delta": 0.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"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.0972,
"predicted_3B": 0.0225,
"predicted_AB": 2.817,
"predicted_AVG": 0.1057,
"predicted_BB": 0.232,
"predicted_H": 0.2978,
"predicted_HBP": 0.006,
"predicted_HR": 0.0712,
"predicted_OBP": 0.1738,
"predicted_R": 0.3462,
"predicted_RBI": 0.2435,
"predicted_SLG": 0.2321,
"predicted_SO": 1.2389
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0972,
"after": 0.0972,
"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.817,
"after": 2.817,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1943,
"after": 0.1057,
"delta": -0.0886,
"percent_delta": -0.456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2337,
"after": 0.232,
"delta": -0.0017,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3057,
"after": 0.2978,
"delta": -0.0079,
"percent_delta": -0.0258,
"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.073,
"after": 0.0712,
"delta": -0.0018,
"percent_delta": -0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2313,
"after": 0.1738,
"delta": -0.0575,
"percent_delta": -0.2486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3617,
"after": 0.3462,
"delta": -0.0155,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2544,
"after": 0.2435,
"delta": -0.0109,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3509,
"after": 0.2321,
"delta": -0.1188,
"percent_delta": -0.3386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2302,
"after": 1.2389,
"delta": 0.0087,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3509,
"after": 0.2321,
"delta": -0.1188,
"percent_delta": -0.3386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.82), rates preserved: AVG=0.106 HR/AB=0.025",
"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.0972,
"after": 0.0,
"delta": -0.0972,
"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.817,
"after": 3.0,
"delta": 0.183,
"percent_delta": 0.065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.232,
"after": 0.0,
"delta": -0.232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.2978,
"after": 0.0,
"delta": -0.2978,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0712,
"after": 0.0,
"delta": -0.0712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2435,
"after": 0.0,
"delta": -0.2435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2389,
"after": 1.0,
"delta": -0.2389,
"percent_delta": -0.1928,
"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.817,
"after": 3.0,
"delta": 0.183,
"percent_delta": 0.065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.2978,
"after": 0.0,
"delta": -0.2978,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3462,
"after": 0.0,
"delta": -0.3462,
"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.3462,
"after": 0.0,
"delta": -0.3462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1057,
"after": 0.0,
"delta": -0.1057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1738,
"after": 0.0,
"delta": -0.1738,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2321,
"after": 0.0,
"delta": -0.2321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2321,
"after": 0.0,
"delta": -0.2321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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_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.1057,
"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.1738,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2321,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.0,
"after": 0.1057,
"delta": 0.1057,
"percent_delta": null,
"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.0,
"after": 0.1738,
"delta": 0.1738,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.2321,
"delta": 0.2321,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.2321,
"delta": 0.2321,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"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.641,
"after": 3.0,
"delta": 0.359,
"percent_delta": 0.1359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.198,
"after": 0.1057,
"delta": -0.0923,
"percent_delta": -0.4662,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 1.0,
"delta": 0.795,
"percent_delta": 3.878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"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.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.215,
"after": 0.1738,
"delta": -0.0412,
"percent_delta": -0.1916,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.2321,
"delta": -0.1199,
"percent_delta": -0.3406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.231,
"after": 2.0,
"delta": 0.769,
"percent_delta": 0.6247,
"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.205,
"after": 1.0,
"delta": 0.795,
"percent_delta": 3.878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.103 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 2.641 | - |
| predicted_AVG | 0.198 | - |
| predicted_BB | 0.205 | - |
| predicted_H | 0.130 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.215 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.352 | - |
| predicted_SO | 1.231 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.097 | -0.006 |
| predicted_3B | 0.022 | -0.003 |
| predicted_AB | 2.817 | 0.176 |
| predicted_AVG | 0.194 | -0.004 |
| predicted_BB | 0.234 | 0.029 |
| predicted_H | 0.306 | 0.176 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.073 | 0.033 |
| predicted_OBP | 0.231 | 0.016 |
| predicted_R | 0.362 | 0.029 |
| predicted_RBI | 0.254 | 0.114 |
| predicted_SLG | 0.351 | -0.001 |
| predicted_SO | 1.230 | -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.097 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 2.817 | 0.000 |
| predicted_AVG | 0.106 | -0.089 |
| predicted_BB | 0.232 | -0.002 |
| predicted_H | 0.298 | -0.008 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.071 | -0.002 |
| predicted_OBP | 0.174 | -0.057 |
| predicted_R | 0.346 | -0.016 |
| predicted_RBI | 0.243 | -0.011 |
| predicted_SLG | 0.232 | -0.119 |
| predicted_SO | 1.239 | 0.009 |
AB rounded to 3 (raw=2.82), rates preserved: AVG=0.106 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.097 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | 0.183 |
| predicted_AVG | 0.000 | -0.106 |
| predicted_BB | 0.000 | -0.232 |
| predicted_H | 0.000 | -0.298 |
| predicted_HR | 0.000 | -0.071 |
| predicted_OBP | 0.000 | -0.174 |
| predicted_R | 0.000 | -0.346 |
| predicted_RBI | 0.000 | -0.243 |
| predicted_SLG | 0.000 | -0.232 |
| predicted_SO | 1.000 | -0.239 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 18.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 7.000 | 0.1667 | 0.2500 | 0.3333 | 0.1667 | 0.0556 | 0.1667 | 0.1111 | 0.3889 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 0.000 | 0.000 | 2.000 | 7.000 | 5.000 | 4.000 | 13.000 | 0.2000 | 0.2941 | 0.4000 | 0.2000 | 0.0667 | 0.2333 | 0.1333 | 0.4333 |
| season | 0.60 | 39 | - | 103.000 | 17.000 | 4.000 | 1.000 | 3.000 | 11.000 | 13.000 | 8.000 | 48.000 | 0.1650 | 0.2252 | 0.3107 | 0.1651 | 0.0291 | 0.1068 | 0.0777 | 0.4660 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0880 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.0950 |
| predicted_AVG | 0.1884 |
| predicted_BB | 0.2790 |
| predicted_H | 0.5830 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1250 |
| predicted_OBP | 0.2571 |
| predicted_R | 0.4070 |
| predicted_RBI | 0.4350 |
| predicted_SLG | 0.3491 |
| predicted_SO | 1.2290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.0880 | 0.0972 | model_form_blend |
| predicted_3B | 0.0260 | 0.0170 | 0.0225 | model_form_blend |
| predicted_AB | 2.6410 | 3.0950 | 2.8170 | model_form_blend |
| predicted_AVG | 0.1980 | 0.1884 | 0.1943 | model_form_blend |
| predicted_BB | 0.2050 | 0.2790 | 0.2337 | model_form_blend |
| predicted_H | 0.1300 | 0.5830 | 0.3057 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0400 | 0.1250 | 0.0730 | model_form_blend |
| predicted_OBP | 0.2150 | 0.2571 | 0.2313 | model_form_blend |
| predicted_R | 0.3330 | 0.4070 | 0.3617 | model_form_blend |
| predicted_RBI | 0.1400 | 0.4350 | 0.2544 | model_form_blend |
| predicted_SLG | 0.3520 | 0.3491 | 0.3509 | model_form_blend |
| predicted_SO | 1.2310 | 1.2290 | 1.2302 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.165 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260701_DET@NYY |
| game_type | full |
| mlbID | 681546 |
| playerID | 681546 |
| playerName | James Outman |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 42.1 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.25 |
| sl_xwoba | 0.224 |
| sl_xba | 0.153 |
| sl_xslg | 0.254 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 5.5 |
| sl_hard_hit_percent | 29.1 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 41.3 |
| 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.128 | 0.000 | 0.000 | Hitting_2B | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 2.830 | 4.000 | 3.000 | Hitting_AB | 2.957 | 1.000 | 1.043 | 3.000 |
| predicted_AVG | 0.273 | 0.250 | 0.333 | Hitting_AVG | 0.212 | 0.000 | 0.038 | 0.250 |
| predicted_BB | 0.149 | 0.000 | 0.000 | Hitting_BB | 0.213 | 1.000 | -0.213 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 0.700 | 1.000 | 1.000 | Hitting_H | 0.628 | 0.000 | 0.372 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_OBP | 0.315 | 0.250 | 0.333 | Hitting_OBP | 0.265 | 0.500 | -0.015 | -0.250 |
| predicted_R | 0.213 | 0.000 | 0.000 | Hitting_R | 0.181 | 1.000 | -0.181 | -1.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.298 | 0.000 | -0.298 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_SLG | 0.487 | 0.250 | 0.333 | Hitting_SLG | 0.313 | 0.000 | -0.063 | 0.250 |
| predicted_SO | 0.787 | 1.000 | 1.000 | Hitting_SO | 0.851 | 1.000 | 0.149 | 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.8300 -> 4.0000 (boost 1.1700, better) |
| 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 | 2 | 1 | 2 | 1 | predicted_AB: 2.8300 -> 2.9666 (boost 0.1366, better) | predicted_SLG: 0.4870 -> 0.4639 (deboost -0.0231, worse) | Final model input calibrated with local form: 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.4639 -> 0.4109 (deboost -0.0530, 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.7480 -> 1.0000 (boost 0.2520, better) | predicted_RBI: 0.3280 -> 0.0000 (deboost -0.3280, worse) | AB rounded to 3 (raw=2.97), rates preserved: AVG=0.252 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2375 -> 0.0000 (deboost -0.2375, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2521 -> 0.3330 (boost 0.0809, better) | predicted_SLG: 0.4109 -> 0.3330 (deboost -0.0779, 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 -> 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.4109 (boost 0.0779, better) | predicted_AVG: 0.3330 -> 0.2521 (deboost -0.0809, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701678",
"player_name": "Hao-Yu Lee",
"position": "2B",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.021,
"predicted_AB": 2.83,
"predicted_AVG": 0.273,
"predicted_BB": 0.149,
"predicted_H": 0.7,
"predicted_HR": 0.1,
"predicted_OBP": 0.315,
"predicted_R": 0.213,
"predicted_RBI": 0.33,
"predicted_SLG": 0.487,
"predicted_SO": 0.787
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1407,
"predicted_3B": 0.0182,
"predicted_AB": 2.9666,
"predicted_AVG": 0.2735,
"predicted_BB": 0.1817,
"predicted_H": 0.7677,
"predicted_HBP": 0.005,
"predicted_HR": 0.1004,
"predicted_OBP": 0.3187,
"predicted_R": 0.2481,
"predicted_RBI": 0.3427,
"predicted_SLG": 0.4639,
"predicted_SO": 0.7922
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1407,
"delta": 0.0127,
"percent_delta": 0.0992,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0182,
"delta": -0.0028,
"percent_delta": -0.1333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.83,
"after": 2.9666,
"delta": 0.1366,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2735,
"delta": 0.0005,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.149,
"after": 0.1817,
"delta": 0.0327,
"percent_delta": 0.2195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7677,
"delta": 0.0677,
"percent_delta": 0.0967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1004,
"delta": 0.0004,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3187,
"delta": 0.0037,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.213,
"after": 0.2481,
"delta": 0.0351,
"percent_delta": 0.1648,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3427,
"delta": 0.0127,
"percent_delta": 0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.4639,
"delta": -0.0231,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 0.7922,
"delta": 0.0052,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_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.83,
"after": 2.9666,
"delta": 0.1366,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.4639,
"delta": -0.0231,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1407,
"predicted_3B": 0.0182,
"predicted_AB": 2.9666,
"predicted_AVG": 0.2521,
"predicted_BB": 0.1804,
"predicted_H": 0.748,
"predicted_HBP": 0.005,
"predicted_HR": 0.098,
"predicted_OBP": 0.295,
"predicted_R": 0.2375,
"predicted_RBI": 0.328,
"predicted_SLG": 0.4109,
"predicted_SO": 0.7978
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1407,
"after": 0.1407,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0182,
"after": 0.0182,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9666,
"after": 2.9666,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2735,
"after": 0.2521,
"delta": -0.0214,
"percent_delta": -0.0782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1817,
"after": 0.1804,
"delta": -0.0013,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7677,
"after": 0.748,
"delta": -0.0197,
"percent_delta": -0.0257,
"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.1004,
"after": 0.098,
"delta": -0.0024,
"percent_delta": -0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3187,
"after": 0.295,
"delta": -0.0237,
"percent_delta": -0.0744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2481,
"after": 0.2375,
"delta": -0.0106,
"percent_delta": -0.0427,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3427,
"after": 0.328,
"delta": -0.0147,
"percent_delta": -0.0429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4639,
"after": 0.4109,
"delta": -0.053,
"percent_delta": -0.1142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7922,
"after": 0.7978,
"delta": 0.0056,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4639,
"after": 0.4109,
"delta": -0.053,
"percent_delta": -0.1142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.97), rates preserved: AVG=0.252 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1407,
"after": 0.0,
"delta": -0.1407,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0182,
"after": 0.0,
"delta": -0.0182,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9666,
"after": 3.0,
"delta": 0.0334,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1804,
"after": 0.0,
"delta": -0.1804,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.748,
"after": 1.0,
"delta": 0.252,
"percent_delta": 0.3369,
"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.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.328,
"after": 0.0,
"delta": -0.328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7978,
"after": 1.0,
"delta": 0.2022,
"percent_delta": 0.2534,
"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.748,
"after": 1.0,
"delta": 0.252,
"percent_delta": 0.3369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.328,
"after": 0.0,
"delta": -0.328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2375,
"after": 0.0,
"delta": -0.2375,
"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.2375,
"after": 0.0,
"delta": -0.2375,
"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.2521,
"after": 0.333,
"delta": 0.0809,
"percent_delta": 0.3209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.333,
"delta": 0.038,
"percent_delta": 0.1288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.4109,
"after": 0.333,
"delta": -0.0779,
"percent_delta": -0.1896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2521,
"after": 0.333,
"delta": 0.0809,
"percent_delta": 0.3209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4109,
"after": 0.333,
"delta": -0.0779,
"percent_delta": -0.1896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2521,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.295,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4109,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2521,
"delta": -0.0809,
"percent_delta": -0.2429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.295,
"delta": -0.038,
"percent_delta": -0.1141,
"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.4109,
"delta": 0.0779,
"percent_delta": 0.2339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4109,
"delta": 0.0779,
"percent_delta": 0.2339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2521,
"delta": -0.0809,
"percent_delta": -0.2429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"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": 2.83,
"after": 4.0,
"delta": 1.17,
"percent_delta": 0.4134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2521,
"delta": -0.0209,
"percent_delta": -0.0766,
"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.7,
"after": 1.0,
"delta": 0.3,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.295,
"delta": -0.02,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"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.487,
"after": 0.4109,
"delta": -0.0761,
"percent_delta": -0.1563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.787,
"after": 1.0,
"delta": 0.213,
"percent_delta": 0.2706,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.83,
"after": 4.0,
"delta": 1.17,
"percent_delta": 0.4134,
"direction": "boost",
"projection_effect": "better",
"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.128 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 2.830 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.149 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.213 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.487 | - |
| predicted_SO | 0.787 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.141 | 0.013 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 2.967 | 0.137 |
| predicted_AVG | 0.274 | 0.001 |
| predicted_BB | 0.182 | 0.033 |
| predicted_H | 0.768 | 0.068 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.100 | 0.000 |
| predicted_OBP | 0.319 | 0.004 |
| predicted_R | 0.248 | 0.035 |
| predicted_RBI | 0.343 | 0.013 |
| predicted_SLG | 0.464 | -0.023 |
| predicted_SO | 0.792 | 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.141 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 2.967 | 0.000 |
| predicted_AVG | 0.252 | -0.021 |
| predicted_BB | 0.180 | -0.001 |
| predicted_H | 0.748 | -0.020 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.295 | -0.024 |
| predicted_R | 0.237 | -0.011 |
| predicted_RBI | 0.328 | -0.015 |
| predicted_SLG | 0.411 | -0.053 |
| predicted_SO | 0.798 | 0.006 |
AB rounded to 3 (raw=2.97), rates preserved: AVG=0.252 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.141 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | 0.033 |
| predicted_AVG | 0.333 | 0.081 |
| predicted_BB | 0.000 | -0.180 |
| predicted_H | 1.000 | 0.252 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 0.000 | -0.237 |
| predicted_RBI | 0.000 | -0.328 |
| predicted_SLG | 0.333 | -0.078 |
| predicted_SO | 1.000 | 0.202 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 3.000 | 0.2778 | 0.3500 | 0.5000 | 0.2778 | 0.0556 | 0.1667 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 10 | - | 31.000 | 11.000 | 2.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 9.000 | 0.3548 | 0.4118 | 0.5161 | 0.3548 | 0.0323 | 0.0968 | 0.0968 | 0.2903 |
| season | 0.60 | 47 | - | 133.000 | 34.000 | 6.000 | 1.000 | 3.000 | 13.000 | 10.000 | 7.000 | 37.000 | 0.2556 | 0.2929 | 0.3835 | 0.2556 | 0.0226 | 0.0977 | 0.0526 | 0.2782 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.1730 |
| predicted_AVG | 0.2742 |
| predicted_BB | 0.2310 |
| predicted_H | 0.8700 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1010 |
| predicted_OBP | 0.3242 |
| predicted_R | 0.3010 |
| predicted_RBI | 0.3620 |
| predicted_SLG | 0.4289 |
| predicted_SO | 0.8000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.1600 | 0.1407 | model_form_blend |
| predicted_3B | 0.0210 | 0.0140 | 0.0182 | model_form_blend |
| predicted_AB | 2.8300 | 3.1730 | 2.9666 | model_form_blend |
| predicted_AVG | 0.2730 | 0.2742 | 0.2735 | model_form_blend |
| predicted_BB | 0.1490 | 0.2310 | 0.1817 | model_form_blend |
| predicted_H | 0.7000 | 0.8700 | 0.7677 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1000 | 0.1010 | 0.1004 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3242 | 0.3187 | model_form_blend |
| predicted_R | 0.2130 | 0.3010 | 0.2481 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3620 | 0.3427 | model_form_blend |
| predicted_SLG | 0.4870 | 0.4289 | 0.4639 | model_form_blend |
| predicted_SO | 0.7870 | 0.8000 | 0.7922 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 94 |
| Season rows before report date | 94 |
| Report year | 2026 |
| Profile rows used | 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 | 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.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 | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-2B |
| gameID | 20260701_DET@NYY |
| game_type | ph |
| mlbID | 701678 |
| note | Struck out for Keith in the 9th. |
| playerID | 701678 |
| playerName | Hao-Yu Lee |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.297 |
| sl_xwoba | 0.277 |
| sl_xba | 0.225 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 8.2 |
| sl_hard_hit_percent | 34.0 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 50.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.000 | 0.000 | 0.000 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.529 | 4.000 | 0.471 | -1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.471 | 8.000 | -0.471 | -3.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.559 | 6.000 | -0.359 | -0.800 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 4.529 | 2.000 | -1.529 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "664285",
"player_name": "Framber Valdez",
"position": "Starter",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.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": 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": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.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": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.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 | 28.000 | 10.000 | 29.000 | 9.000 | 23.000 | 3.000 | 3.2143 | 1.3571 | 0.3571 | 1.0357 | 0.3214 | 0.8214 | 0.1071 |
| last_10 | 0.35 | 10 | 55.100 | 28.000 | 56.000 | 20.000 | 45.000 | 8.000 | 4.5542 | 1.3735 | 0.5060 | 1.0120 | 0.3614 | 0.8133 | 0.1446 |
| season | 0.20 | 17 | 95.200 | 43.000 | 93.000 | 34.000 | 77.000 | 10.000 | 4.0453 | 1.3275 | 0.4495 | 0.9721 | 0.3554 | 0.8049 | 0.1045 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9590 |
| predicted_ER | 2.5140 |
| predicted_ERA | 3.9925 |
| predicted_H | 5.6860 |
| predicted_HR | 0.7130 |
| predicted_IP | 5.2000 |
| predicted_SO | 4.7980 |
| predicted_WHIP | 1.3492 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.9590 | 1.9773 | model_form_blend |
| predicted_ER | 3.0000 | 2.5140 | 2.7308 | model_form_blend |
| predicted_ERA | - | 3.9925 | 3.9925 | form_only |
| predicted_H | 5.0000 | 5.6860 | 5.3800 | model_form_blend |
| predicted_HR | 1.0000 | 0.7130 | 0.8410 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 3.0000 | 4.7980 | 3.9960 | model_form_blend |
| predicted_WHIP | - | 1.3492 | 1.3492 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.2 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 3 |
| HR | 1 |
| BF | 24 |
| 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 | 26 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.05 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 10 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 88 |
| Pitching_R | 4 |
| Pitching_SO | 2 |
| Pitching_Strikes | 59 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260627_HOU@DET |
| game_type | full |
| mlbID | 664285 |
| playerID | 664285 |
| playerName | Framber Valdez |
| pos | P |
| started | True |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-27 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.316 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 41.9 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 46.9 |
| sl_avg_best_speed | 79.528420753 |
| sl_avg_hyper_speed | 94.552841884 |
| 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.270 | 1.000 | -0.270 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.405 | 1.000 | -0.405 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.216 | 2.000 | -1.216 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.889 | 1.000 | 0.211 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.892 | 0.000 | 0.108 | 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": "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.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 1.000 | 7.000 | 2.000 | 4.000 | 1.000 | 1.3500 | 1.3500 | 0.1500 | 1.0500 | 0.3000 | 0.6000 | 0.1500 |
| last_10 | 0.35 | 10 | 11.200 | 1.000 | 12.000 | 2.000 | 9.000 | 1.000 | 0.7714 | 1.2000 | 0.0857 | 1.0286 | 0.1714 | 0.7714 | 0.0857 |
| season | 0.20 | 37 | 39.200 | 15.000 | 45.000 | 10.000 | 33.000 | 5.000 | 3.4034 | 1.3866 | 0.3781 | 1.1344 | 0.2521 | 0.8319 | 0.1260 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3740 |
| predicted_ER | 0.3870 |
| predicted_ERA | 2.6934 |
| predicted_H | 1.3220 |
| predicted_HR | 0.1710 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.0370 |
| predicted_WHIP | 1.3118 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3740 | 0.1817 | model_form_blend |
| predicted_ER | 0.0000 | 0.3870 | 0.1880 | model_form_blend |
| predicted_ERA | - | 2.6934 | 2.6934 | form_only |
| predicted_H | 0.0000 | 1.3220 | 0.6422 | model_form_blend |
| predicted_HR | 0.0000 | 0.1710 | 0.0831 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0370 | 1.0180 | model_form_blend |
| predicted_WHIP | - | 1.3118 | 1.3118 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.40 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 25 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260630_DET@NYY |
| game_type | full |
| mlbID | 663947 |
| playerID | 663947 |
| playerName | Tyler Holton |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-30 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.343 |
| sl_xwoba | 0.303 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 38.4 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 77.036948226 |
| sl_avg_hyper_speed | 93.564209106 |
| 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.478 | 1.000 | 0.522 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.522 | 3.000 | -0.522 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.609 | 2.000 | -0.609 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.813 | 1.100 | 0.187 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "445276",
"player_name": "Kenley Jansen",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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 | 4.000 | 5.000 | 2.000 | 4.000 | 1.000 | 6.7500 | 1.3125 | 0.7500 | 0.9375 | 0.3750 | 0.7500 | 0.1875 |
| last_10 | 0.35 | 10 | 10.000 | 7.000 | 6.000 | 6.000 | 8.000 | 2.000 | 6.3000 | 1.2000 | 0.7000 | 0.6000 | 0.6000 | 0.8000 | 0.2000 |
| season | 0.20 | 22 | 20.100 | 10.000 | 13.000 | 10.000 | 23.000 | 4.000 | 4.4262 | 1.1311 | 0.4918 | 0.6393 | 0.4918 | 1.1312 | 0.1967 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4110 |
| predicted_ER | 0.5790 |
| predicted_ERA | 5.2146 |
| predicted_H | 0.8740 |
| predicted_HR | 0.1680 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9040 |
| predicted_WHIP | 1.2845 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4110 | 0.7549 | model_form_blend |
| predicted_ER | 0.0000 | 0.5790 | 0.2409 | model_form_blend |
| predicted_ERA | - | 5.2146 | 5.2146 | form_only |
| predicted_H | 0.0000 | 0.8740 | 0.3636 | model_form_blend |
| predicted_HR | 0.0000 | 0.1680 | 0.0699 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9040 | 0.3761 | model_form_blend |
| predicted_WHIP | - | 1.2845 | 1.2845 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 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 | 2 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 3 |
| Pitching_ERA | 5.31 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 28 |
| Pitching_R | 4 |
| Pitching_SO | 1 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260628_HOU@DET |
| game_type | full |
| mlbID | 445276 |
| playerID | 445276 |
| playerName | Kenley Jansen |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-28 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.306 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 31.4 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 74.5185308 |
| sl_avg_hyper_speed | 93.2482272 |
| 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.676 | 1.000 | -0.676 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.243 | 1.000 | -0.243 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.892 | 2.000 | 0.108 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.943 | 1.100 | 0.057 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.811 | 3.000 | -0.811 | -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": "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": 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 | 5.200 | 2.000 | 5.000 | 3.000 | 9.000 | 1.000 | 3.1765 | 1.4118 | 0.3529 | 0.8823 | 0.5294 | 1.5882 | 0.1765 |
| last_10 | 0.35 | 10 | 11.100 | 3.000 | 9.000 | 6.000 | 14.000 | 1.000 | 2.3824 | 1.3235 | 0.2647 | 0.7941 | 0.5294 | 1.2353 | 0.0882 |
| season | 0.20 | 36 | 39.100 | 7.000 | 30.000 | 24.000 | 30.000 | 3.000 | 1.6017 | 1.3729 | 0.1780 | 0.7627 | 0.6102 | 0.7627 | 0.0763 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4720 |
| predicted_ER | 0.3690 |
| predicted_ERA | 3.3240 |
| predicted_H | 0.8810 |
| predicted_HR | 0.1340 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1640 |
| predicted_WHIP | 1.3535 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4720 | 0.2289 | model_form_blend |
| predicted_ER | 0.0000 | 0.3690 | 0.1789 | model_form_blend |
| predicted_ERA | - | 3.3240 | 3.3240 | form_only |
| predicted_H | 1.0000 | 0.8810 | 0.9423 | model_form_blend |
| predicted_HR | 0.0000 | 0.1340 | 0.0650 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1640 | 0.5645 | model_form_blend |
| predicted_WHIP | - | 1.3535 | 1.3535 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| 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.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.06 |
| 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.1 |
| Pitching_Pitches | 27 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260628_HOU@DET |
| game_type | full |
| mlbID | 640448 |
| playerID | 640448 |
| playerName | Kyle Finnegan |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-28 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.33 |
| sl_xwoba | 0.322 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 42.7 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 45.3 |
| sl_avg_best_speed | 79.395001111 |
| sl_avg_hyper_speed | 94.738340463 |
| Field | Value |
|---|---|
| Pitcher | Nathan Eovaldi |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1503 |
| ESPN Rank | 104 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1187 |
| Avg Velo | 87.6395 |
| Avg Spin | 1896.9242 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 3.9468 |
| Season WHIP | 1.1561 |
| Role Avg IP | 6.2710 |
| Recent Avg IP | 6.3330 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 385.0,
"runs_allowed": 389.0,
"run_differential": -4.0,
"run_differential_per_game": -0.043,
"avg_runs_scored": 4.1398,
"avg_runs_allowed": 4.1828,
"offense_index": 0.9155,
"defense_index": 1.081,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.0785
},
"opponent": {
"team": "DET",
"games": 94,
"wins": 40,
"losses": 54,
"win_pct": 0.4255,
"runs_scored": 390.0,
"runs_allowed": 377.0,
"run_differential": 13.0,
"run_differential_per_game": 0.1383,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.0106,
"offense_index": 0.9175,
"defense_index": 1.1274,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.6,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0465
},
"edges": {
"quality_edge": 0.125,
"offense_edge": -0.0845,
"opponent_offense_edge": -0.0825,
"defense_strength": 0.081,
"opponent_defense_weakness": -0.1274,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0107,
"run_prevention": 0.9725,
"strikeout": 1.0103
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "543135",
"profile": {
"available": true,
"pitcher_id": "543135",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 283.0,
"k_percent": 24.4,
"bb_percent": 5.6,
"woba": 0.313,
"xwoba": 0.312,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 38.0,
"avg_best_speed": 77.2207,
"avg_hyper_speed": 94.0133,
"whiff_percent": 29.9,
"swing_percent": 52.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0417,
"command_and_miss": 0.5139,
"regression_edge": 0.0286,
"xwoba_edge": 0.0143,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.0429,
"whiff_edge": 0.6286,
"bb_edge": 0.875,
"pitch_design_score": -0.1187
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "543135",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 87.63947227224524,
"release_spin_rate": 1896.9241518290642,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 87.63947227224524,
"release_spin_rate": 1896.9241518290642,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6395,
"release_spin_rate": 1896.9242,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1187,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8477,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1503,
"sample_weight": 1.0,
"run_prevention_factor": 0.9872,
"strikeout_factor": 1.0357,
"walk_factor": 0.93,
"homer_factor": 1.0103,
"woba_minus_xwoba": 0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543135",
"espn_id": 31174,
"player_name": "Nathan Eovaldi",
"team": "TEX",
"role": "pitcher",
"espn_rank": 104,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 104,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 16.0,
"gs_rank": 47,
"qs_value": 9.0,
"qs_rank": 22,
"era_value": 3.9468,
"era_rank": 45.0,
"w_value": 8.0,
"w_rank": 12,
"l_value": 7.0,
"l_rank": 15,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 100.1,
"ip_rank": 14,
"h_value": 93.0,
"h_rank": 20,
"er_value": 44.0,
"er_rank": 28,
"hr_value": 17.0,
"hr_rank": 11,
"bb_value": 23.0,
"bb_rank": 112,
"k_value": 101.0,
"k_rank": 22,
"k_per_9_value": 9.0598,
"k_per_9_rank": 42,
"whip_value": 1.1561,
"whip_rank": 29.0,
"war_value": 1.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9872,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9872,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.93,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0103,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0357,
"adjusted": 7
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 67.2,
"ER": 23,
"H": 54,
"BB": 14,
"SO": 69,
"HR": 8,
"ERA": 3.0591133004926108,
"WHIP": 1.0049261083743841,
"K9": 9.177339901477833,
"HR9": 1.064039408866995,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "543135",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 87.63947227224524,
"release_spin_rate": 1896.9241518290642,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 87.63947227224524,
"release_spin_rate": 1896.9241518290642,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6395,
"release_spin_rate": 1896.9242,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1187,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8477,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "543135",
"report_date": "20260702_D",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 31.2,
"ER": 14.0,
"R": 14.0,
"H": 33.0,
"BB": 7.0,
"SO": 34.0,
"HR": 4.0,
"BF": 131.0,
"Pitches": 461.0
},
"per_game": {
"IP": 6.1,
"ER": 2.8,
"R": 2.8,
"H": 6.6,
"BB": 1.4,
"SO": 6.8,
"HR": 0.8,
"BF": 26.2,
"Pitches": 92.2
},
"rates": {
"ERA": 3.9789,
"WHIP": 1.2632,
"ER_per_IP": 0.44211,
"H_per_IP": 1.04211,
"BB_per_IP": 0.22105,
"SO_per_IP": 1.07368,
"HR_per_IP": 0.12632
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 67.2,
"ER": 23.0,
"R": 23.0,
"H": 54.0,
"BB": 14.0,
"SO": 69.0,
"HR": 8.0,
"BF": 267.0,
"Pitches": 945.0
},
"per_game": {
"IP": 6.2,
"ER": 2.3,
"R": 2.3,
"H": 5.4,
"BB": 1.4,
"SO": 6.9,
"HR": 0.8,
"BF": 26.7,
"Pitches": 94.5
},
"rates": {
"ERA": 3.0591,
"WHIP": 1.0049,
"ER_per_IP": 0.3399,
"H_per_IP": 0.79803,
"BB_per_IP": 0.2069,
"SO_per_IP": 1.0197,
"HR_per_IP": 0.11823
}
},
"season": {
"games": 16,
"totals": {
"IP": 100.1,
"ER": 44.0,
"R": 46.0,
"H": 93.0,
"BB": 23.0,
"SO": 101.0,
"HR": 17.0,
"BF": 414.0,
"Pitches": 1471.0
},
"per_game": {
"IP": 6.1,
"ER": 2.75,
"R": 2.875,
"H": 5.8125,
"BB": 1.4375,
"SO": 6.3125,
"HR": 1.0625,
"BF": 25.875,
"Pitches": 91.9375
},
"rates": {
"ERA": 3.9468,
"WHIP": 1.1561,
"ER_per_IP": 0.43854,
"H_per_IP": 0.92691,
"BB_per_IP": 0.22924,
"SO_per_IP": 1.00664,
"HR_per_IP": 0.16944
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.746,
"predicted_H": 6.044,
"predicted_BB": 1.612,
"predicted_SO": 6.553,
"predicted_HR": 0.871,
"predicted_ERA": 3.8477,
"predicted_WHIP": 1.1922
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.746,
"final": 2.8605,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 6.044,
"final": 6.0242,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.612,
"final": 0.8856,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 6.553,
"final": 5.8532,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.871,
"final": 0.9291,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8477,
"final": 3.8477,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1922,
"final": 1.1922,
"source": "form_only"
}
}
}{
"available": false,
"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.3310 |
| ESPN Rank | 42 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 1.0714 |
| Season WHIP | 0.5238 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 385.0,
"runs_allowed": 389.0,
"run_differential": -4.0,
"run_differential_per_game": -0.043,
"avg_runs_scored": 4.1398,
"avg_runs_allowed": 4.1828,
"offense_index": 0.9155,
"defense_index": 1.081,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.0785
},
"opponent": {
"team": "DET",
"games": 94,
"wins": 40,
"losses": 54,
"win_pct": 0.4255,
"runs_scored": 390.0,
"runs_allowed": 377.0,
"run_differential": 13.0,
"run_differential_per_game": 0.1383,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.0106,
"offense_index": 0.9175,
"defense_index": 1.1274,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.6,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0465
},
"edges": {
"quality_edge": 0.125,
"offense_edge": -0.0845,
"opponent_offense_edge": -0.0825,
"defense_strength": 0.081,
"opponent_defense_weakness": -0.1274,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0107,
"run_prevention": 0.9725,
"strikeout": 1.0103
},
"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.3,
"bb_percent": 5.9,
"woba": 0.175,
"xwoba": 0.246,
"sweet_spot_percent": 23.0,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 39.0,
"avg_best_speed": 77.7834,
"avg_hyper_speed": 93.7598,
"whiff_percent": 29.3,
"swing_percent": 51.2
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.3366,
"command_and_miss": 0.7196,
"regression_edge": -2.0,
"xwoba_edge": 1.9,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.1,
"whiff_edge": 0.5429,
"bb_edge": 0.8,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656641",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.331,
"sample_weight": 0.45,
"run_prevention_factor": 0.9719,
"strikeout_factor": 1.0246,
"walk_factor": 0.9712,
"homer_factor": 0.9729,
"woba_minus_xwoba": -0.071,
"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": 42,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 42,
"gp_value": 33.0,
"gp_rank": 84,
"gs_value": 1.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 1.7142,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 18.0,
"sv_rank": 7,
"hld_value": 2.0,
"hld_rank": 172,
"ip_value": 42.0,
"ip_rank": 180,
"h_value": 17.0,
"h_rank": 421,
"er_value": 8.0,
"er_rank": 439,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 9.0,
"bb_rank": 379,
"k_value": 43.0,
"k_rank": 178,
"k_per_9_value": 9.214286,
"k_per_9_rank": 26,
"whip_value": 0.619,
"whip_rank": null,
"war_value": 1.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9878,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0111,
"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": 2,
"H": 5,
"BB": 3,
"SO": 14,
"HR": 1,
"ERA": 1.3846153846153846,
"WHIP": 0.6153846153846154,
"K9": 9.692307692307692,
"HR9": 0.6923076923076923,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-30T00: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": 8.326,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6248,
"prior_weight": 0.3752
},
"role": "pitcher",
"player_id": "656641",
"report_date": "20260702_D",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 4.8,
"Pitches": 20.0
},
"rates": {
"ERA": 2.8421,
"WHIP": 0.7895,
"ER_per_IP": 0.31579,
"H_per_IP": 0.47368,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.10526,
"HR_per_IP": 0.15789
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 3.0,
"SO": 14.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 180.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.3,
"SO": 1.4,
"HR": 0.1,
"BF": 4.6,
"Pitches": 18.0
},
"rates": {
"ERA": 1.3846,
"WHIP": 0.6154,
"ER_per_IP": 0.15385,
"H_per_IP": 0.38462,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.07692,
"HR_per_IP": 0.07692
}
},
"season": {
"games": 32,
"totals": {
"IP": 42.0,
"ER": 5.0,
"R": 5.0,
"H": 14.0,
"BB": 8.0,
"SO": 43.0,
"HR": 3.0,
"BF": 148.0,
"Pitches": 611.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1562,
"R": 0.1562,
"H": 0.4375,
"BB": 0.25,
"SO": 1.3438,
"HR": 0.0938,
"BF": 4.625,
"Pitches": 19.0938
},
"rates": {
"ERA": 1.0714,
"WHIP": 0.5238,
"ER_per_IP": 0.11905,
"H_per_IP": 0.33333,
"BB_per_IP": 0.19048,
"SO_per_IP": 1.02381,
"HR_per_IP": 0.07143
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.432,
"predicted_H": 0.828,
"predicted_BB": 0.396,
"predicted_SO": 1.376,
"predicted_HR": 0.167,
"predicted_ERA": 2.9161,
"predicted_WHIP": 0.9183
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5085,
"form_weight": 0.4915,
"form_reliability": 0.6248,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.326,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6248,
"prior_weight": 0.3752
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.432,
"final": 1.2294,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.828,
"final": 1.424,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.396,
"final": 0.7031,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.376,
"final": 0.6763,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.167,
"final": 0.0821,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9161,
"final": 2.9161,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9183,
"final": 0.9183,
"source": "form_only"
}
}
}{
"available": false,
"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.0439 |
| ESPN Rank | 158 |
| 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.8019 |
| Season WHIP | 1.0189 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 385.0,
"runs_allowed": 389.0,
"run_differential": -4.0,
"run_differential_per_game": -0.043,
"avg_runs_scored": 4.1398,
"avg_runs_allowed": 4.1828,
"offense_index": 0.9155,
"defense_index": 1.081,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.0785
},
"opponent": {
"team": "DET",
"games": 94,
"wins": 40,
"losses": 54,
"win_pct": 0.4255,
"runs_scored": 390.0,
"runs_allowed": 377.0,
"run_differential": 13.0,
"run_differential_per_game": 0.1383,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.0106,
"offense_index": 0.9175,
"defense_index": 1.1274,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.6,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0465
},
"edges": {
"quality_edge": 0.125,
"offense_edge": -0.0845,
"opponent_offense_edge": -0.0825,
"defense_strength": 0.081,
"opponent_defense_weakness": -0.1274,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0107,
"run_prevention": 0.9725,
"strikeout": 1.0103
},
"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.9,
"bb_percent": 4.2,
"woba": 0.258,
"xwoba": 0.303,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 34.6,
"avg_best_speed": 76.0311,
"avg_hyper_speed": 93.1246,
"whiff_percent": 19.3,
"swing_percent": 47.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.5431,
"command_and_miss": -0.2996,
"regression_edge": -1.2857,
"xwoba_edge": 0.2714,
"barrel_edge": 0.8222,
"hard_hit_edge": 0.5286,
"whiff_edge": -0.8857,
"bb_edge": 1.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "596001",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0439,
"sample_weight": 0.45,
"run_prevention_factor": 0.9963,
"strikeout_factor": 0.9747,
"walk_factor": 0.9559,
"homer_factor": 0.9572,
"woba_minus_xwoba": -0.045,
"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": 158,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 158,
"gp_value": 31.0,
"gp_rank": 107,
"gs_value": 1.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.8018,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 5.0,
"sv_rank": 32,
"hld_value": 11.0,
"hld_rank": 22,
"ip_value": 35.1,
"ip_rank": 242,
"h_value": 30.0,
"h_rank": 256,
"er_value": 11.0,
"er_rank": 344,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 6.0,
"bb_rank": 464,
"k_value": 27.0,
"k_rank": 327,
"k_per_9_value": 6.8773584,
"k_per_9_rank": 36,
"whip_value": 1.0188,
"whip_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9983,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9983,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9802,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9886,
"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": 6,
"H": 15,
"BB": 1,
"SO": 12,
"HR": 2,
"ERA": 5.062499999999999,
"WHIP": 1.4999999999999998,
"K9": 10.124999999999998,
"HR9": 1.6874999999999998,
"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-29T00:00:00"
}{
"available": false,
"pitcher_id": "596001",
"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.004,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5835,
"prior_weight": 0.4165
},
"role": "pitcher",
"player_id": "596001",
"report_date": "20260702_D",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 89.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.6,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.8
},
"rates": {
"ERA": 8.3077,
"WHIP": 2.0769,
"ER_per_IP": 0.92308,
"H_per_IP": 1.84615,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 6.0,
"R": 6.0,
"H": 15.0,
"BB": 1.0,
"SO": 12.0,
"HR": 2.0,
"BF": 48.0,
"Pitches": 187.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.5,
"BB": 0.1,
"SO": 1.2,
"HR": 0.2,
"BF": 4.8,
"Pitches": 18.7
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.5,
"ER_per_IP": 0.5625,
"H_per_IP": 1.40625,
"BB_per_IP": 0.09375,
"SO_per_IP": 1.125,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 31,
"totals": {
"IP": 35.1,
"ER": 11.0,
"R": 11.0,
"H": 30.0,
"BB": 6.0,
"SO": 27.0,
"HR": 2.0,
"BF": 143.0,
"Pitches": 517.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3548,
"R": 0.3548,
"H": 0.9677,
"BB": 0.1935,
"SO": 0.871,
"HR": 0.0645,
"BF": 4.6129,
"Pitches": 16.6774
},
"rates": {
"ERA": 2.8019,
"WHIP": 1.0189,
"ER_per_IP": 0.31132,
"H_per_IP": 0.84906,
"BB_per_IP": 0.16981,
"SO_per_IP": 0.76415,
"HR_per_IP": 0.0566
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.601,
"predicted_H": 1.273,
"predicted_BB": 0.249,
"predicted_SO": 1.019,
"predicted_HR": 0.167,
"predicted_ERA": 5.4076,
"predicted_WHIP": 1.5216
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.526,
"form_weight": 0.474,
"form_reliability": 0.5835,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.004,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5835,
"prior_weight": 0.4165
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.601,
"final": 0.2849,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.273,
"final": 0.6034,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.249,
"final": 0.118,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.019,
"final": 0.483,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.167,
"final": 0.0792,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4076,
"final": 5.4076,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5216,
"final": 1.5216,
"source": "form_only"
}
}
}{
"available": false,
"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 | Peyton Gray |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2361 |
| ESPN Rank | 422 |
| 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 | 1 |
| Pre SO | 1 |
| Season ERA | 3.0337 |
| Season WHIP | 1.0112 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 385.0,
"runs_allowed": 389.0,
"run_differential": -4.0,
"run_differential_per_game": -0.043,
"avg_runs_scored": 4.1398,
"avg_runs_allowed": 4.1828,
"offense_index": 0.9155,
"defense_index": 1.081,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.2,
"run_differential": 3.0
},
"available": true,
"quality_score": 0.0785
},
"opponent": {
"team": "DET",
"games": 94,
"wins": 40,
"losses": 54,
"win_pct": 0.4255,
"runs_scored": 390.0,
"runs_allowed": 377.0,
"run_differential": 13.0,
"run_differential_per_game": 0.1383,
"avg_runs_scored": 4.1489,
"avg_runs_allowed": 4.0106,
"offense_index": 0.9175,
"defense_index": 1.1274,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.6,
"run_differential": 16.0
},
"available": true,
"quality_score": -0.0465
},
"edges": {
"quality_edge": 0.125,
"offense_edge": -0.0845,
"opponent_offense_edge": -0.0825,
"defense_strength": 0.081,
"opponent_defense_weakness": -0.1274,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0107,
"run_prevention": 0.9725,
"strikeout": 1.0103
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682608",
"profile": {
"available": true,
"pitcher_id": "682608",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 68.0,
"k_percent": 26.6,
"bb_percent": 5.6,
"woba": 0.252,
"xwoba": 0.274,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 35.4,
"avg_best_speed": 77.2034,
"avg_hyper_speed": 93.1709,
"whiff_percent": 26.7,
"swing_percent": 49.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8193,
"command_and_miss": 0.4954,
"regression_edge": -0.6286,
"xwoba_edge": 1.1,
"barrel_edge": 0.0,
"hard_hit_edge": 0.4143,
"whiff_edge": 0.1714,
"bb_edge": 0.875,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682608",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2361,
"sample_weight": 0.45,
"run_prevention_factor": 0.9799,
"strikeout_factor": 1.0135,
"walk_factor": 0.9685,
"homer_factor": 0.9777,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682608",
"espn_id": 4187628,
"player_name": "Peyton Gray",
"team": "TEX",
"role": "pitcher",
"espn_rank": 422,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 422,
"gp_value": 22.0,
"gp_rank": 193,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.0337,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 4.0,
"hld_rank": 138,
"ip_value": 29.2,
"ip_rank": 318,
"h_value": 23.0,
"h_rank": 337,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 7.0,
"bb_rank": 432,
"k_value": 33.0,
"k_rank": 264,
"k_per_9_value": 10.011236,
"k_per_9_rank": 22,
"whip_value": 1.0112,
"whip_rank": null,
"war_value": 0.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.991,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.991,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9858,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.99,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0061,
"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.0,
"ER": 3,
"H": 7,
"BB": 0,
"SO": 15,
"HR": 1,
"ERA": 2.25,
"WHIP": 0.5833333333333334,
"K9": 11.25,
"HR9": 0.75,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-30T00:00:00"
}{
"available": false,
"pitcher_id": "682608",
"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.881,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5405,
"prior_weight": 0.4595
},
"role": "pitcher",
"player_id": "682608",
"report_date": "20260702_D",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 11.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 2.2,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3158,
"ER_per_IP": 0.0,
"H_per_IP": 0.31579,
"BB_per_IP": 0.0,
"SO_per_IP": 1.73684,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 0.0,
"SO": 15.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 177.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.0,
"SO": 1.5,
"HR": 0.1,
"BF": 4.4,
"Pitches": 17.7
},
"rates": {
"ERA": 2.25,
"WHIP": 0.5833,
"ER_per_IP": 0.25,
"H_per_IP": 0.58333,
"BB_per_IP": 0.0,
"SO_per_IP": 1.25,
"HR_per_IP": 0.08333
}
},
"season": {
"games": 22,
"totals": {
"IP": 29.2,
"ER": 10.0,
"R": 14.0,
"H": 23.0,
"BB": 7.0,
"SO": 33.0,
"HR": 3.0,
"BF": 124.0,
"Pitches": 475.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4545,
"R": 0.6364,
"H": 1.0455,
"BB": 0.3182,
"SO": 1.5,
"HR": 0.1364,
"BF": 5.6364,
"Pitches": 21.5909
},
"rates": {
"ERA": 3.0337,
"WHIP": 1.0112,
"ER_per_IP": 0.33708,
"H_per_IP": 0.77528,
"BB_per_IP": 0.23596,
"SO_per_IP": 1.11236,
"HR_per_IP": 0.10112
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.273,
"predicted_H": 0.624,
"predicted_BB": 0.166,
"predicted_SO": 1.064,
"predicted_HR": 0.082,
"predicted_ERA": 2.8115,
"predicted_WHIP": 0.9043
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5441,
"form_weight": 0.4559,
"form_reliability": 0.5405,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.881,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5405,
"prior_weight": 0.4595
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.273,
"final": 0.1245,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.624,
"final": 0.2845,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.166,
"final": 0.6198,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.064,
"final": 1.5733,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.082,
"final": 0.0374,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8115,
"final": 2.8115,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9043,
"final": 0.9043,
"source": "form_only"
}
}
}{
"available": false,
"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.171 | 0.000 | 0.000 | Hitting_2B | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.600 | 3.000 | 3.000 | Hitting_AB | 2.868 | 4.000 | 0.132 | -1.000 |
| predicted_AVG | 0.279 | 0.000 | 0.333 | Hitting_AVG | 0.261 | 0.250 | -0.261 | -0.250 |
| predicted_BB | 0.171 | 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.300 | 0.000 | 1.000 | Hitting_H | 0.750 | 1.000 | -0.750 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_OBP | 0.301 | 0.250 | 0.333 | Hitting_OBP | 0.327 | 0.400 | -0.077 | -0.150 |
| predicted_R | 0.343 | 0.000 | 0.000 | Hitting_R | 0.329 | 1.000 | -0.329 | -1.000 |
| predicted_RBI | 0.230 | 0.000 | 0.000 | Hitting_RBI | 0.461 | 0.000 | -0.461 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.563 | 0.000 | 0.333 | Hitting_SLG | 0.477 | 0.250 | -0.477 | -0.250 |
| predicted_SO | 0.686 | 0.000 | 1.000 | Hitting_SO | 0.829 | 1.000 | -0.829 | -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.1710 -> 1.0000 (boost 0.8290, better) |
| Biggest Deboost | predicted_SO: 0.6860 -> 0.0000 (deboost -0.6860, 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.3000 -> 0.5120 (boost 0.2120, better) | predicted_SLG: 0.5630 -> 0.5531 (deboost -0.0099, worse) | Final model input calibrated with local form: 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.5531 -> 0.3648 (deboost -0.1883, 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.5081 -> 1.0000 (boost 0.4919, better) | predicted_RBI: 0.3551 -> 0.0000 (deboost -0.3551, worse) | AB rounded to 3 (raw=2.72), rates preserved: AVG=0.187 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3623 -> 0.0000 (deboost -0.3623, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1865 -> 0.3330 (boost 0.1465, better) | predicted_SLG: 0.3648 -> 0.3330 (deboost -0.0318, 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.3648 (boost 0.0318, better) | predicted_AVG: 0.3330 -> 0.1865 (deboost -0.1465, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679822",
"player_name": "Justin Foscue",
"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.171,
"predicted_3B": 0.0,
"predicted_AB": 2.6,
"predicted_AVG": 0.279,
"predicted_BB": 0.171,
"predicted_H": 0.3,
"predicted_HR": 0.06,
"predicted_OBP": 0.301,
"predicted_R": 0.343,
"predicted_RBI": 0.23,
"predicted_SLG": 0.563,
"predicted_SO": 0.686
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1882,
"predicted_3B": 0.0011,
"predicted_AB": 2.7241,
"predicted_AVG": 0.284,
"predicted_BB": 0.1836,
"predicted_H": 0.512,
"predicted_HBP": 0.021,
"predicted_HR": 0.1001,
"predicted_OBP": 0.3165,
"predicted_R": 0.3655,
"predicted_RBI": 0.3583,
"predicted_SLG": 0.5531,
"predicted_SO": 0.7055
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.1882,
"delta": 0.0172,
"percent_delta": 0.1006,
"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.6,
"after": 2.7241,
"delta": 0.1241,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.284,
"delta": 0.005,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.1836,
"delta": 0.0126,
"percent_delta": 0.0737,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.512,
"delta": 0.212,
"percent_delta": 0.7067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.1001,
"delta": 0.0401,
"percent_delta": 0.6683,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3165,
"delta": 0.0155,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.343,
"after": 0.3655,
"delta": 0.0225,
"percent_delta": 0.0656,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.3583,
"delta": 0.1283,
"percent_delta": 0.5578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.563,
"after": 0.5531,
"delta": -0.0099,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.686,
"after": 0.7055,
"delta": 0.0195,
"percent_delta": 0.0284,
"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.3,
"after": 0.512,
"delta": 0.212,
"percent_delta": 0.7067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.563,
"after": 0.5531,
"delta": -0.0099,
"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": 35
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1882,
"predicted_3B": 0.0011,
"predicted_AB": 2.7241,
"predicted_AVG": 0.1865,
"predicted_BB": 0.1837,
"predicted_H": 0.5081,
"predicted_HBP": 0.021,
"predicted_HR": 0.0984,
"predicted_OBP": 0.2379,
"predicted_R": 0.3623,
"predicted_RBI": 0.3551,
"predicted_SLG": 0.3648,
"predicted_SO": 0.7052
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1882,
"after": 0.1882,
"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.7241,
"after": 2.7241,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.284,
"after": 0.1865,
"delta": -0.0975,
"percent_delta": -0.3433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1836,
"after": 0.1837,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.512,
"after": 0.5081,
"delta": -0.0039,
"percent_delta": -0.0076,
"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.1001,
"after": 0.0984,
"delta": -0.0017,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3165,
"after": 0.2379,
"delta": -0.0786,
"percent_delta": -0.2483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3655,
"after": 0.3623,
"delta": -0.0032,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3583,
"after": 0.3551,
"delta": -0.0032,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5531,
"after": 0.3648,
"delta": -0.1883,
"percent_delta": -0.3404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7055,
"after": 0.7052,
"delta": -0.0003,
"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.5531,
"after": 0.3648,
"delta": -0.1883,
"percent_delta": -0.3404,
"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.187 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.1882,
"after": 0.0,
"delta": -0.1882,
"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.7241,
"after": 3.0,
"delta": 0.2759,
"percent_delta": 0.1013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1837,
"after": 0.0,
"delta": -0.1837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5081,
"after": 1.0,
"delta": 0.4919,
"percent_delta": 0.9681,
"direction": "boost",
"projection_effect": "better",
"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.0984,
"after": 0.0,
"delta": -0.0984,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3551,
"after": 0.0,
"delta": -0.3551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7052,
"after": 1.0,
"delta": 0.2948,
"percent_delta": 0.418,
"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.5081,
"after": 1.0,
"delta": 0.4919,
"percent_delta": 0.9681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3551,
"after": 0.0,
"delta": -0.3551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.3623,
"after": 0.0,
"delta": -0.3623,
"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.3623,
"after": 0.0,
"delta": -0.3623,
"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.1865,
"after": 0.333,
"delta": 0.1465,
"percent_delta": 0.7855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2379,
"after": 0.333,
"delta": 0.0951,
"percent_delta": 0.3997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3648,
"after": 0.333,
"delta": -0.0318,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1865,
"after": 0.333,
"delta": 0.1465,
"percent_delta": 0.7855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3648,
"after": 0.333,
"delta": -0.0318,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.1865,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2379,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3648,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1865,
"delta": -0.1465,
"percent_delta": -0.4399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2379,
"delta": -0.0951,
"percent_delta": -0.2856,
"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.3648,
"delta": 0.0318,
"percent_delta": 0.0956,
"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.3648,
"delta": 0.0318,
"percent_delta": 0.0956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1865,
"delta": -0.1465,
"percent_delta": -0.4399,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"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.6,
"after": 3.0,
"delta": 0.4,
"percent_delta": 0.1538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.1865,
"delta": -0.0925,
"percent_delta": -0.3315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 1.0,
"delta": 0.829,
"percent_delta": 4.848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.2379,
"delta": -0.0631,
"percent_delta": -0.2096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.563,
"after": 0.3648,
"delta": -0.1982,
"percent_delta": -0.352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.686,
"after": 0.0,
"delta": -0.686,
"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.171,
"after": 1.0,
"delta": 0.829,
"percent_delta": 4.848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.686,
"after": 0.0,
"delta": -0.686,
"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.171 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.600 | - |
| predicted_AVG | 0.279 | - |
| predicted_BB | 0.171 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.343 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.563 | - |
| predicted_SO | 0.686 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.724 | 0.124 |
| predicted_AVG | 0.284 | 0.005 |
| predicted_BB | 0.184 | 0.013 |
| predicted_H | 0.512 | 0.212 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.100 | 0.040 |
| predicted_OBP | 0.317 | 0.016 |
| predicted_R | 0.365 | 0.022 |
| predicted_RBI | 0.358 | 0.128 |
| predicted_SLG | 0.553 | -0.010 |
| predicted_SO | 0.706 | 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.188 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.724 | 0.000 |
| predicted_AVG | 0.186 | -0.097 |
| predicted_BB | 0.184 | 0.000 |
| predicted_H | 0.508 | -0.004 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.238 | -0.079 |
| predicted_R | 0.362 | -0.003 |
| predicted_RBI | 0.355 | -0.003 |
| predicted_SLG | 0.365 | -0.188 |
| predicted_SO | 0.705 | -0.000 |
AB rounded to 3 (raw=2.72), rates preserved: AVG=0.187 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.188 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.276 |
| predicted_AVG | 0.333 | 0.147 |
| predicted_BB | 0.000 | -0.184 |
| predicted_H | 1.000 | 0.492 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.333 | 0.095 |
| predicted_R | 0.000 | -0.362 |
| predicted_RBI | 0.000 | -0.355 |
| predicted_SLG | 0.333 | -0.032 |
| predicted_SO | 1.000 | 0.295 |
Attached 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 | - | 16.000 | 5.000 | 2.000 | 0.000 | 1.000 | 5.000 | 2.000 | 1.000 | 4.000 | 0.3125 | 0.3529 | 0.6250 | 0.3125 | 0.0625 | 0.3125 | 0.0625 | 0.2500 |
| last_10 | 0.20 | 10 | - | 23.000 | 9.000 | 2.000 | 0.000 | 2.000 | 6.000 | 4.000 | 2.000 | 6.000 | 0.3913 | 0.4400 | 0.7391 | 0.3913 | 0.0870 | 0.2609 | 0.0870 | 0.2609 |
| season | 0.60 | 35 | - | 91.000 | 25.000 | 6.000 | 0.000 | 5.000 | 15.000 | 12.000 | 6.000 | 24.000 | 0.2747 | 0.3232 | 0.5055 | 0.2747 | 0.0549 | 0.1648 | 0.0659 | 0.2637 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.9250 |
| predicted_AVG | 0.2921 |
| predicted_BB | 0.2040 |
| predicted_H | 0.8550 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.1650 |
| predicted_OBP | 0.3416 |
| predicted_R | 0.4020 |
| predicted_RBI | 0.5660 |
| predicted_SLG | 0.5371 |
| predicted_SO | 0.7370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.2160 | 0.1882 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.6000 | 2.9250 | 2.7241 | model_form_blend |
| predicted_AVG | 0.2790 | 0.2921 | 0.2840 | model_form_blend |
| predicted_BB | 0.1710 | 0.2040 | 0.1836 | model_form_blend |
| predicted_H | 0.3000 | 0.8550 | 0.5120 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0600 | 0.1650 | 0.1001 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3416 | 0.3165 | model_form_blend |
| predicted_R | 0.3430 | 0.4020 | 0.3655 | model_form_blend |
| predicted_RBI | 0.2300 | 0.5660 | 0.3583 | model_form_blend |
| predicted_SLG | 0.5630 | 0.5371 | 0.5531 | model_form_blend |
| predicted_SO | 0.6860 | 0.7370 | 0.7055 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 76 |
| Season rows before report date | 76 |
| Report year | 2026 |
| Profile rows used | 35 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 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 | 2B |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 679822 |
| playerID | 679822 |
| playerName | Justin Foscue |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.366 |
| sl_xwoba | 0.366 |
| sl_xba | 0.274 |
| sl_xslg | 0.498 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 45.6 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.247 | 0.000 | 0.000 | Hitting_2B | 0.287 | 0.000 | -0.287 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.280 | 3.000 | 4.000 | Hitting_AB | 3.903 | 3.000 | -0.903 | 0.000 |
| predicted_AVG | 0.249 | 0.000 | 0.250 | Hitting_AVG | 0.301 | 0.000 | -0.301 | 0.000 |
| predicted_BB | 0.333 | 1.000 | 0.000 | Hitting_BB | 0.333 | 2.000 | 0.667 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 1.070 | 0.000 | 1.000 | Hitting_H | 1.173 | 0.000 | -1.173 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_OBP | 0.337 | 0.250 | 0.250 | Hitting_OBP | 0.361 | 0.400 | -0.111 | -0.150 |
| predicted_R | 0.494 | 0.000 | 0.000 | Hitting_R | 0.489 | 0.000 | -0.489 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_SLG | 0.511 | 0.000 | 0.250 | Hitting_SLG | 0.468 | 0.000 | -0.468 | 0.000 |
| predicted_SO | 0.778 | 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 | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3330 -> 1.0000 (boost 0.6670, better) |
| Biggest Deboost | predicted_AB: 4.2800 -> 3.0000 (deboost -1.2800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 2 | 3 | predicted_SO: 0.7780 -> 0.8600 (boost 0.0820, worse) | predicted_AB: 4.2800 -> 4.1541 (deboost -0.1259, worse) | Final model input calibrated with local 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.4886 -> 0.4198 (deboost -0.0688, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.8597 -> 1.0000 (boost 0.1403, worse) | predicted_BB: 0.3638 -> 0.0000 (deboost -0.3638, worse) | AB rounded to 4 (raw=4.28), rates preserved: AVG=0.254 HR/AB=0.030 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4909 -> 0.0000 (deboost -0.4909, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4198 -> 0.2500 (deboost -0.1698, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 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.4198 (boost 0.1698, 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.247,
"predicted_3B": 0.0,
"predicted_AB": 4.28,
"predicted_AVG": 0.249,
"predicted_BB": 0.333,
"predicted_H": 1.07,
"predicted_HR": 0.13,
"predicted_OBP": 0.337,
"predicted_R": 0.494,
"predicted_RBI": 0.38,
"predicted_SLG": 0.511,
"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.2752,
"predicted_3B": 0.0004,
"predicted_AB": 4.1541,
"predicted_AVG": 0.2639,
"predicted_BB": 0.3637,
"predicted_H": 1.0965,
"predicted_HBP": 0.055,
"predicted_HR": 0.1287,
"predicted_OBP": 0.3455,
"predicted_R": 0.4953,
"predicted_RBI": 0.3604,
"predicted_SLG": 0.4886,
"predicted_SO": 0.86
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.2752,
"delta": 0.0282,
"percent_delta": 0.1142,
"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.28,
"after": 4.1541,
"delta": -0.1259,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2639,
"delta": 0.0149,
"percent_delta": 0.0598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3637,
"delta": 0.0307,
"percent_delta": 0.0922,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0965,
"delta": 0.0265,
"percent_delta": 0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1287,
"delta": -0.0013,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3455,
"delta": 0.0085,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.4953,
"delta": 0.0013,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3604,
"delta": -0.0196,
"percent_delta": -0.0516,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.4886,
"delta": -0.0224,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.86,
"delta": 0.082,
"percent_delta": 0.1054,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.778,
"after": 0.86,
"delta": 0.082,
"percent_delta": 0.1054,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.28,
"after": 4.1541,
"delta": -0.1259,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2752,
"predicted_3B": 0.0004,
"predicted_AB": 4.1541,
"predicted_AVG": 0.262,
"predicted_BB": 0.3638,
"predicted_H": 1.0882,
"predicted_HBP": 0.055,
"predicted_HR": 0.1266,
"predicted_OBP": 0.3214,
"predicted_R": 0.4909,
"predicted_RBI": 0.3572,
"predicted_SLG": 0.4198,
"predicted_SO": 0.8597
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2752,
"after": 0.2752,
"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.1541,
"after": 4.1541,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2639,
"after": 0.262,
"delta": -0.0019,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3637,
"after": 0.3638,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0965,
"after": 1.0882,
"delta": -0.0083,
"percent_delta": -0.0076,
"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.1287,
"after": 0.1266,
"delta": -0.0021,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3455,
"after": 0.3214,
"delta": -0.0241,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4953,
"after": 0.4909,
"delta": -0.0044,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3604,
"after": 0.3572,
"delta": -0.0032,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4886,
"after": 0.4198,
"delta": -0.0688,
"percent_delta": -0.1408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.86,
"after": 0.8597,
"delta": -0.0003,
"percent_delta": -0.0003,
"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.4886,
"after": 0.4198,
"delta": -0.0688,
"percent_delta": -0.1408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.28), rates preserved: AVG=0.254 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2752,
"after": 0.0,
"delta": -0.2752,
"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.1541,
"after": 4.0,
"delta": -0.1541,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3638,
"after": 0.0,
"delta": -0.3638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0882,
"after": 1.0,
"delta": -0.0882,
"percent_delta": -0.0811,
"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.1266,
"after": 0.0,
"delta": -0.1266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3572,
"after": 0.0,
"delta": -0.3572,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8597,
"after": 1.0,
"delta": 0.1403,
"percent_delta": 0.1632,
"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.8597,
"after": 1.0,
"delta": 0.1403,
"percent_delta": 0.1632,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3638,
"after": 0.0,
"delta": -0.3638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.85,
"bvp": 0.15
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4909,
"after": 0.0,
"delta": -0.4909,
"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.4909,
"after": 0.0,
"delta": -0.4909,
"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.262,
"after": 0.25,
"delta": -0.012,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3214,
"after": 0.25,
"delta": -0.0714,
"percent_delta": -0.2222,
"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.4198,
"after": 0.25,
"delta": -0.1698,
"percent_delta": -0.4045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4198,
"after": 0.25,
"delta": -0.1698,
"percent_delta": -0.4045,
"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": 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": 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.262,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3214,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4198,
"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.262,
"delta": 0.012,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3214,
"delta": 0.0714,
"percent_delta": 0.2856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4198,
"delta": 0.1698,
"percent_delta": 0.6792,
"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.4198,
"delta": 0.1698,
"percent_delta": 0.6792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.28,
"after": 3.0,
"delta": -1.28,
"percent_delta": -0.2991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.262,
"delta": 0.013,
"percent_delta": 0.0522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 1.07,
"after": 0.0,
"delta": -1.07,
"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.337,
"after": 0.3214,
"delta": -0.0156,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.0,
"delta": -0.494,
"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.511,
"after": 0.4198,
"delta": -0.0912,
"percent_delta": -0.1785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.0,
"delta": -0.778,
"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.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.28,
"after": 3.0,
"delta": -1.28,
"percent_delta": -0.2991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.280 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.494 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.511 | - |
| 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.275 | 0.028 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.154 | -0.126 |
| predicted_AVG | 0.264 | 0.015 |
| predicted_BB | 0.364 | 0.031 |
| predicted_H | 1.097 | 0.026 |
| predicted_HBP | 0.055 | - |
| predicted_HR | 0.129 | -0.001 |
| predicted_OBP | 0.345 | 0.008 |
| predicted_R | 0.495 | 0.001 |
| predicted_RBI | 0.360 | -0.020 |
| predicted_SLG | 0.489 | -0.022 |
| predicted_SO | 0.860 | 0.082 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.275 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.154 | 0.000 |
| predicted_AVG | 0.262 | -0.002 |
| predicted_BB | 0.364 | 0.000 |
| predicted_H | 1.088 | -0.008 |
| predicted_HBP | 0.055 | 0.000 |
| predicted_HR | 0.127 | -0.002 |
| predicted_OBP | 0.321 | -0.024 |
| predicted_R | 0.491 | -0.004 |
| predicted_RBI | 0.357 | -0.003 |
| predicted_SLG | 0.420 | -0.069 |
| predicted_SO | 0.860 | -0.000 |
AB rounded to 4 (raw=4.28), rates preserved: AVG=0.254 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.275 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.154 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 0.000 | -0.364 |
| predicted_H | 1.000 | -0.088 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.250 | -0.071 |
| predicted_R | 0.000 | -0.491 |
| predicted_RBI | 0.000 | -0.357 |
| predicted_SLG | 0.250 | -0.170 |
| predicted_SO | 1.000 | 0.140 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 7.000 | 3.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 6.000 | 0.3333 | 0.4167 | 0.6190 | 0.3333 | 0.0476 | 0.0476 | 0.1429 | 0.2857 |
| last_10 | 0.20 | 10 | - | 41.000 | 9.000 | 3.000 | 0.000 | 1.000 | 2.000 | 4.000 | 5.000 | 14.000 | 0.2195 | 0.3191 | 0.3659 | 0.2195 | 0.0244 | 0.0488 | 0.1220 | 0.3415 |
| season | 0.60 | 81 | - | 316.000 | 93.000 | 20.000 | 0.000 | 9.000 | 32.000 | 40.000 | 27.000 | 63.000 | 0.2943 | 0.3571 | 0.4430 | 0.2943 | 0.0285 | 0.1013 | 0.0854 | 0.1994 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3130 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9850 |
| predicted_AVG | 0.2840 |
| predicted_BB | 0.4050 |
| predicted_H | 1.1320 |
| predicted_HBP | 0.0550 |
| predicted_HR | 0.1270 |
| predicted_OBP | 0.3570 |
| predicted_R | 0.4970 |
| predicted_RBI | 0.3340 |
| predicted_SLG | 0.4585 |
| predicted_SO | 0.9700 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2470 | 0.3130 | 0.2752 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2800 | 3.9850 | 4.1541 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2840 | 0.2639 | model_form_blend |
| predicted_BB | 0.3330 | 0.4050 | 0.3637 | model_form_blend |
| predicted_H | 1.0700 | 1.1320 | 1.0965 | model_form_blend |
| predicted_HBP | - | 0.0550 | 0.0550 | form_only |
| predicted_HR | 0.1300 | 0.1270 | 0.1287 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3570 | 0.3455 | model_form_blend |
| predicted_R | 0.4940 | 0.4970 | 0.4953 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3340 | 0.3604 | model_form_blend |
| predicted_SLG | 0.5110 | 0.4585 | 0.4886 | model_form_blend |
| predicted_SO | 0.7780 | 0.9700 | 0.8600 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.294 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 3B |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 673962 |
| playerID | 673962 |
| playerName | Josh Jung |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.352 |
| sl_xwoba | 0.346 |
| sl_xba | 0.289 |
| sl_xslg | 0.434 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 47.8 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 19.1 |
| 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.197 | 0.000 | 0.000 | Hitting_2B | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.474 | 4.000 | 4.000 | Hitting_AB | 3.495 | 5.000 | 0.505 | -1.000 |
| predicted_AVG | 0.251 | 0.000 | 0.250 | Hitting_AVG | 0.295 | 0.600 | -0.295 | -0.600 |
| predicted_BB | 0.276 | 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.380 | 0.000 | 1.000 | Hitting_H | 1.031 | 3.000 | -1.031 | -3.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_OBP | 0.296 | 0.000 | 0.250 | Hitting_OBP | 0.350 | 0.600 | -0.350 | -0.600 |
| predicted_R | 0.447 | 0.000 | 0.000 | Hitting_R | 0.495 | 0.000 | -0.495 | 0.000 |
| predicted_RBI | 0.210 | 0.000 | 0.000 | Hitting_RBI | 0.607 | 0.000 | -0.607 | 0.000 |
| predicted_SLG | 0.462 | 0.000 | 0.250 | Hitting_SLG | 0.460 | 0.600 | -0.460 | -0.600 |
| predicted_SO | 0.882 | 1.000 | 1.000 | Hitting_SO | 0.857 | 0.000 | 0.143 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.4740 -> 4.0000 (boost 0.5260, better) |
| Biggest Deboost | predicted_R: 0.4470 -> 0.0000 (deboost -0.4470, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3800 -> 0.6643 (boost 0.2843, better) | predicted_SLG: 0.4620 -> 0.4343 (deboost -0.0277, worse) | Final model input calibrated with local form: 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.4343 -> 0.2916 (deboost -0.1427, 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.5369 -> 4.0000 (boost 0.4631, better) | predicted_RBI: 0.2881 -> 0.0000 (deboost -0.2881, worse) | AB rounded to 4 (raw=3.54), rates preserved: AVG=0.186 HR/AB=0.015 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.148) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4318 -> 0.0000 (deboost -0.4318, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1864 -> 0.2500 (boost 0.0636, better) | predicted_SLG: 0.2916 -> 0.2500 (deboost -0.0416, 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_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.2500 -> 0.2916 (boost 0.0416, better) | predicted_AVG: 0.2500 -> 0.1864 (deboost -0.0636, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"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.197,
"predicted_3B": 0.026,
"predicted_AB": 3.474,
"predicted_AVG": 0.251,
"predicted_BB": 0.276,
"predicted_H": 0.38,
"predicted_HR": 0.04,
"predicted_OBP": 0.296,
"predicted_R": 0.447,
"predicted_RBI": 0.21,
"predicted_SLG": 0.462,
"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.1679,
"predicted_3B": 0.0218,
"predicted_AB": 3.5369,
"predicted_AVG": 0.2678,
"predicted_BB": 0.2578,
"predicted_H": 0.6643,
"predicted_HBP": 0.01,
"predicted_HR": 0.0544,
"predicted_OBP": 0.3122,
"predicted_R": 0.4356,
"predicted_RBI": 0.2907,
"predicted_SLG": 0.4343,
"predicted_SO": 0.833
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.1679,
"delta": -0.0291,
"percent_delta": -0.1477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0218,
"delta": -0.0042,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.474,
"after": 3.5369,
"delta": 0.0629,
"percent_delta": 0.0181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2678,
"delta": 0.0168,
"percent_delta": 0.0669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.2578,
"delta": -0.0182,
"percent_delta": -0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 0.6643,
"delta": 0.2843,
"percent_delta": 0.7482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0544,
"delta": 0.0144,
"percent_delta": 0.36,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3122,
"delta": 0.0162,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 0.4356,
"delta": -0.0114,
"percent_delta": -0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.2907,
"delta": 0.0807,
"percent_delta": 0.3843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4343,
"delta": -0.0277,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 0.833,
"delta": -0.049,
"percent_delta": -0.0556,
"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.38,
"after": 0.6643,
"delta": 0.2843,
"percent_delta": 0.7482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.4343,
"delta": -0.0277,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1679,
"predicted_3B": 0.0218,
"predicted_AB": 3.5369,
"predicted_AVG": 0.1864,
"predicted_BB": 0.2579,
"predicted_H": 0.6593,
"predicted_HBP": 0.01,
"predicted_HR": 0.0535,
"predicted_OBP": 0.2417,
"predicted_R": 0.4318,
"predicted_RBI": 0.2881,
"predicted_SLG": 0.2916,
"predicted_SO": 0.8327
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1679,
"after": 0.1679,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0218,
"after": 0.0218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5369,
"after": 3.5369,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2678,
"after": 0.1864,
"delta": -0.0814,
"percent_delta": -0.304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2578,
"after": 0.2579,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6643,
"after": 0.6593,
"delta": -0.005,
"percent_delta": -0.0075,
"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.0544,
"after": 0.0535,
"delta": -0.0009,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3122,
"after": 0.2417,
"delta": -0.0705,
"percent_delta": -0.2258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4356,
"after": 0.4318,
"delta": -0.0038,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2907,
"after": 0.2881,
"delta": -0.0026,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4343,
"after": 0.2916,
"delta": -0.1427,
"percent_delta": -0.3286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8327,
"delta": -0.0003,
"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.4343,
"after": 0.2916,
"delta": -0.1427,
"percent_delta": -0.3286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.54), rates preserved: AVG=0.186 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.1679,
"after": 0.0,
"delta": -0.1679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0218,
"after": 0.0,
"delta": -0.0218,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5369,
"after": 4.0,
"delta": 0.4631,
"percent_delta": 0.1309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2579,
"after": 0.0,
"delta": -0.2579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6593,
"after": 1.0,
"delta": 0.3407,
"percent_delta": 0.5168,
"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.0535,
"after": 0.0,
"delta": -0.0535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2881,
"after": 0.0,
"delta": -0.2881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8327,
"after": 1.0,
"delta": 0.1673,
"percent_delta": 0.2009,
"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.5369,
"after": 4.0,
"delta": 0.4631,
"percent_delta": 0.1309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2881,
"after": 0.0,
"delta": -0.2881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.148)",
"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.8105,
"bvp": 0.1895
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4318,
"after": 0.0,
"delta": -0.4318,
"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.4318,
"after": 0.0,
"delta": -0.4318,
"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.1864,
"after": 0.25,
"delta": 0.0636,
"percent_delta": 0.3412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2417,
"after": 0.25,
"delta": 0.0083,
"percent_delta": 0.0343,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2916,
"after": 0.25,
"delta": -0.0416,
"percent_delta": -0.1427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1864,
"after": 0.25,
"delta": 0.0636,
"percent_delta": 0.3412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2916,
"after": 0.25,
"delta": -0.0416,
"percent_delta": -0.1427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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.1864,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2417,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2916,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1864,
"delta": -0.0636,
"percent_delta": -0.2544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2417,
"delta": -0.0083,
"percent_delta": -0.0333,
"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.2916,
"delta": 0.0416,
"percent_delta": 0.1663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2916,
"delta": 0.0416,
"percent_delta": 0.1663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1864,
"delta": -0.0636,
"percent_delta": -0.2544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.197,
"after": 0.0,
"delta": -0.197,
"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.474,
"after": 4.0,
"delta": 0.526,
"percent_delta": 0.1514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.1864,
"delta": -0.0646,
"percent_delta": -0.2574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.276,
"after": 0.0,
"delta": -0.276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2417,
"delta": -0.0543,
"percent_delta": -0.1834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.447,
"after": 0.0,
"delta": -0.447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.2916,
"delta": -0.1704,
"percent_delta": -0.3688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 1.0,
"delta": 0.118,
"percent_delta": 0.1338,
"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.474,
"after": 4.0,
"delta": 0.526,
"percent_delta": 0.1514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.447,
"after": 0.0,
"delta": -0.447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.197 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.474 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.276 | - |
| predicted_H | 0.380 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.447 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.462 | - |
| 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.168 | -0.029 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.537 | 0.063 |
| predicted_AVG | 0.268 | 0.017 |
| predicted_BB | 0.258 | -0.018 |
| predicted_H | 0.664 | 0.284 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.054 | 0.014 |
| predicted_OBP | 0.312 | 0.016 |
| predicted_R | 0.436 | -0.011 |
| predicted_RBI | 0.291 | 0.081 |
| predicted_SLG | 0.434 | -0.028 |
| predicted_SO | 0.833 | -0.049 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.537 | 0.000 |
| predicted_AVG | 0.186 | -0.081 |
| predicted_BB | 0.258 | 0.000 |
| predicted_H | 0.659 | -0.005 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.053 | -0.001 |
| predicted_OBP | 0.242 | -0.070 |
| predicted_R | 0.432 | -0.004 |
| predicted_RBI | 0.288 | -0.003 |
| predicted_SLG | 0.292 | -0.143 |
| predicted_SO | 0.833 | -0.000 |
AB rounded to 4 (raw=3.54), rates preserved: AVG=0.186 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 | - |
Sample-size BvP blend (BvP AB=27.0, weight=0.189, BvP AVG=0.148)
| 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.168 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | 0.463 |
| predicted_AVG | 0.250 | 0.064 |
| predicted_BB | 0.000 | -0.258 |
| predicted_H | 1.000 | 0.341 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.250 | 0.008 |
| predicted_R | 0.000 | -0.432 |
| predicted_RBI | 0.000 | -0.288 |
| predicted_SLG | 0.250 | -0.042 |
| 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 | 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 | 7.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 3.000 | 0.3684 | 0.4000 | 0.3684 | 0.3684 | 0.0000 | 0.0000 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 5.000 | 0.2895 | 0.3077 | 0.3684 | 0.2895 | 0.0263 | 0.0790 | 0.0263 | 0.1316 |
| season | 0.60 | 76 | - | 264.000 | 72.000 | 15.000 | 2.000 | 6.000 | 41.000 | 34.000 | 21.000 | 67.000 | 0.2727 | 0.3264 | 0.4129 | 0.2727 | 0.0227 | 0.1553 | 0.0795 | 0.2538 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1280 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.6230 |
| predicted_AVG | 0.2907 |
| predicted_BB | 0.2330 |
| predicted_H | 1.0530 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.3344 |
| predicted_R | 0.4200 |
| predicted_RBI | 0.4010 |
| predicted_SLG | 0.3964 |
| predicted_SO | 0.7660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1970 | 0.1280 | 0.1679 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0218 | model_form_blend |
| predicted_AB | 3.4740 | 3.6230 | 3.5369 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2907 | 0.2678 | model_form_blend |
| predicted_BB | 0.2760 | 0.2330 | 0.2578 | model_form_blend |
| predicted_H | 0.3800 | 1.0530 | 0.6643 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0400 | 0.0740 | 0.0544 | model_form_blend |
| predicted_OBP | 0.2960 | 0.3344 | 0.3122 | model_form_blend |
| predicted_R | 0.4470 | 0.4200 | 0.4356 | model_form_blend |
| predicted_RBI | 0.2100 | 0.4010 | 0.2907 | model_form_blend |
| predicted_SLG | 0.4620 | 0.3964 | 0.4343 | model_form_blend |
| predicted_SO | 0.8820 | 0.7660 | 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 | 196 |
| Season rows before report date | 196 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 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 | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 677649 |
| playerID | 677649 |
| playerName | Ezequiel Duran |
| pos | SS |
| started | True |
| startingPosition | RF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.325 |
| sl_xwoba | 0.305 |
| sl_xba | 0.258 |
| sl_xslg | 0.367 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 10.1 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 50.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.167 | 0.000 | 0.000 | Hitting_2B | 0.163 | 0.000 | -0.163 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.890 | 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.241 | 0.000 | 0.259 | 0.500 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.290 | 1.000 | -0.290 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 2.000 | 1.000 | Hitting_H | 0.918 | 0.000 | 1.082 | 2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_OBP | 0.309 | 0.500 | 0.250 | Hitting_OBP | 0.297 | 0.200 | 0.203 | 0.300 |
| predicted_R | 0.452 | 1.000 | 0.000 | Hitting_R | 0.473 | 0.000 | 0.527 | 1.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.665 | 0.000 | -0.665 | 0.000 |
| predicted_SLG | 0.458 | 0.500 | 0.250 | Hitting_SLG | 0.418 | 0.000 | 0.082 | 0.500 |
| predicted_SO | 1.048 | 0.000 | 1.000 | Hitting_SO | 1.143 | 2.000 | -1.143 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.9100 -> 2.0000 (boost 1.0900, better) |
| Biggest Deboost | predicted_SO: 1.0480 -> 0.0000 (deboost -1.0480, 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_AB: 3.8900 -> 3.8124 (deboost -0.0776, worse) | Final model input calibrated with local 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.4209 -> 0.3710 (deboost -0.0499, 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.6046 -> 1.0000 (boost 0.3954, better) | predicted_BB: 0.3583 -> 0.0000 (deboost -0.3583, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.231 HR/AB=0.032 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.235) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4277 -> 0.0000 (deboost -0.4277, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2354 -> 0.2500 (boost 0.0146, better) | predicted_SLG: 0.3710 -> 0.2500 (deboost -0.1210, 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_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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3710 (boost 0.1210, better) | predicted_AVG: 0.2500 -> 0.2354 (deboost -0.0146, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669394",
"player_name": "Jake Burger",
"position": "1B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 3.89,
"predicted_AVG": 0.234,
"predicted_BB": 0.333,
"predicted_H": 0.91,
"predicted_HR": 0.13,
"predicted_OBP": 0.309,
"predicted_R": 0.452,
"predicted_RBI": 0.59,
"predicted_SLG": 0.458,
"predicted_SO": 1.048
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1414,
"predicted_3B": 0.0004,
"predicted_AB": 3.8124,
"predicted_AVG": 0.2374,
"predicted_BB": 0.3582,
"predicted_H": 0.9045,
"predicted_HBP": 0.016,
"predicted_HR": 0.127,
"predicted_OBP": 0.3119,
"predicted_R": 0.4315,
"predicted_RBI": 0.61,
"predicted_SLG": 0.4209,
"predicted_SO": 1.0263
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1414,
"delta": -0.0256,
"percent_delta": -0.1533,
"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.89,
"after": 3.8124,
"delta": -0.0776,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2374,
"delta": 0.0034,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3582,
"delta": 0.0252,
"percent_delta": 0.0757,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9045,
"delta": -0.0055,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.127,
"delta": -0.003,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3119,
"delta": 0.0029,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 0.4315,
"delta": -0.0205,
"percent_delta": -0.0454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.61,
"delta": 0.02,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4209,
"delta": -0.0371,
"percent_delta": -0.081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.048,
"after": 1.0263,
"delta": -0.0217,
"percent_delta": -0.0207,
"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": 3.89,
"after": 3.8124,
"delta": -0.0776,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 84
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1414,
"predicted_3B": 0.0004,
"predicted_AB": 3.8124,
"predicted_AVG": 0.2354,
"predicted_BB": 0.3583,
"predicted_H": 0.8976,
"predicted_HBP": 0.016,
"predicted_HR": 0.1249,
"predicted_OBP": 0.3011,
"predicted_R": 0.4277,
"predicted_RBI": 0.6046,
"predicted_SLG": 0.371,
"predicted_SO": 1.0259
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1414,
"after": 0.1414,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8124,
"after": 3.8124,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2374,
"after": 0.2354,
"delta": -0.002,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3582,
"after": 0.3583,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9045,
"after": 0.8976,
"delta": -0.0069,
"percent_delta": -0.0076,
"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.127,
"after": 0.1249,
"delta": -0.0021,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3119,
"after": 0.3011,
"delta": -0.0108,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4315,
"after": 0.4277,
"delta": -0.0038,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6046,
"delta": -0.0054,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4209,
"after": 0.371,
"delta": -0.0499,
"percent_delta": -0.1186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0263,
"after": 1.0259,
"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.4209,
"after": 0.371,
"delta": -0.0499,
"percent_delta": -0.1186,
"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.231 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.1414,
"after": 0.0,
"delta": -0.1414,
"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.8124,
"after": 4.0,
"delta": 0.1876,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3583,
"after": 0.0,
"delta": -0.3583,
"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.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1249,
"after": 0.0,
"delta": -0.1249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6046,
"after": 1.0,
"delta": 0.3954,
"percent_delta": 0.654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0259,
"after": 1.0,
"delta": -0.0259,
"percent_delta": -0.0252,
"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.6046,
"after": 1.0,
"delta": 0.3954,
"percent_delta": 0.654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3583,
"after": 0.0,
"delta": -0.3583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.235)",
"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.8553,
"bvp": 0.1447
},
"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.4277,
"after": 0.0,
"delta": -0.4277,
"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.4277,
"after": 0.0,
"delta": -0.4277,
"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.2354,
"after": 0.25,
"delta": 0.0146,
"percent_delta": 0.062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3011,
"after": 0.25,
"delta": -0.0511,
"percent_delta": -0.1697,
"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.371,
"after": 0.25,
"delta": -0.121,
"percent_delta": -0.3261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2354,
"after": 0.25,
"delta": 0.0146,
"percent_delta": 0.062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.25,
"delta": -0.121,
"percent_delta": -0.3261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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.2354,
"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.3011,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.371,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2354,
"delta": -0.0146,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3011,
"delta": 0.0511,
"percent_delta": 0.2046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.371,
"delta": 0.121,
"percent_delta": 0.4841,
"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.371,
"delta": 0.121,
"percent_delta": 0.4841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2354,
"delta": -0.0146,
"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.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.89,
"after": 4.0,
"delta": 0.11,
"percent_delta": 0.0283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2354,
"delta": 0.0014,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3011,
"delta": -0.0079,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 1.0,
"delta": 0.548,
"percent_delta": 1.2124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.371,
"delta": -0.087,
"percent_delta": -0.19,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.048,
"after": 0.0,
"delta": -1.048,
"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.91,
"after": 2.0,
"delta": 1.09,
"percent_delta": 1.1978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.048,
"after": 0.0,
"delta": -1.048,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.890 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.452 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.458 | - |
| predicted_SO | 1.048 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.026 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.812 | -0.078 |
| predicted_AVG | 0.237 | 0.003 |
| predicted_BB | 0.358 | 0.025 |
| predicted_H | 0.904 | -0.006 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.127 | -0.003 |
| predicted_OBP | 0.312 | 0.003 |
| predicted_R | 0.431 | -0.021 |
| predicted_RBI | 0.610 | 0.020 |
| predicted_SLG | 0.421 | -0.037 |
| predicted_SO | 1.026 | -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.141 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.812 | 0.000 |
| predicted_AVG | 0.235 | -0.002 |
| predicted_BB | 0.358 | 0.000 |
| predicted_H | 0.898 | -0.007 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.125 | -0.002 |
| predicted_OBP | 0.301 | -0.011 |
| predicted_R | 0.428 | -0.004 |
| predicted_RBI | 0.605 | -0.005 |
| predicted_SLG | 0.371 | -0.050 |
| predicted_SO | 1.026 | -0.000 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.231 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=17.0, weight=0.145, BvP AVG=0.235)
| 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.141 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.188 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 0.000 | -0.358 |
| predicted_H | 1.000 | 0.102 |
| predicted_HR | 0.000 | -0.125 |
| predicted_OBP | 0.250 | -0.051 |
| predicted_R | 0.000 | -0.428 |
| predicted_RBI | 1.000 | 0.395 |
| predicted_SLG | 0.250 | -0.121 |
| predicted_SO | 1.000 | -0.026 |
Attached 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 | - | 20.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 2.000 | 5.000 | 0.2000 | 0.2727 | 0.2000 | 0.2000 | 0.0000 | 0.2000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 0.000 | 0.000 | 1.000 | 6.000 | 4.000 | 6.000 | 9.000 | 0.2571 | 0.3659 | 0.3429 | 0.2571 | 0.0286 | 0.1714 | 0.1714 | 0.2571 |
| season | 0.60 | 84 | - | 308.000 | 77.000 | 14.000 | 0.000 | 14.000 | 52.000 | 38.000 | 28.000 | 88.000 | 0.2500 | 0.3147 | 0.4318 | 0.2500 | 0.0454 | 0.1688 | 0.0909 | 0.2857 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1070 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7080 |
| predicted_AVG | 0.2419 |
| predicted_BB | 0.3920 |
| predicted_H | 0.8970 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3157 |
| predicted_R | 0.4040 |
| predicted_RBI | 0.6370 |
| predicted_SLG | 0.3710 |
| predicted_SO | 0.9970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1070 | 0.1414 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8900 | 3.7080 | 3.8124 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2419 | 0.2374 | model_form_blend |
| predicted_BB | 0.3330 | 0.3920 | 0.3582 | model_form_blend |
| predicted_H | 0.9100 | 0.8970 | 0.9045 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1300 | 0.1230 | 0.1270 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3157 | 0.3119 | model_form_blend |
| predicted_R | 0.4520 | 0.4040 | 0.4315 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6370 | 0.6100 | model_form_blend |
| predicted_SLG | 0.4580 | 0.3710 | 0.4209 | model_form_blend |
| predicted_SO | 1.0480 | 0.9970 | 1.0263 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 84 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 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 | 1B |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 669394 |
| playerID | 669394 |
| playerName | Jake Burger |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.327 |
| sl_xwoba | 0.311 |
| sl_xba | 0.241 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 46.8 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 34.3 |
| 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.068 | 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 | 3.205 | 4.000 | 3.000 | Hitting_AB | 3.257 | 1.000 | 0.743 | 3.000 |
| predicted_AVG | 0.230 | 0.250 | 0.333 | Hitting_AVG | 0.196 | 0.000 | 0.054 | 0.250 |
| predicted_BB | 0.386 | 0.000 | 0.000 | Hitting_BB | 0.389 | 2.000 | -0.389 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.290 | 1.000 | 1.000 | Hitting_H | 0.637 | 0.000 | 0.363 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_OBP | 0.282 | 0.250 | 0.333 | Hitting_OBP | 0.287 | 0.667 | -0.037 | -0.417 |
| predicted_R | 0.386 | 0.000 | 0.000 | Hitting_R | 0.363 | 1.000 | -0.363 | -1.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.345 | 1.000 | -0.345 | -1.000 |
| predicted_SLG | 0.413 | 0.250 | 0.333 | Hitting_SLG | 0.318 | 0.000 | -0.068 | 0.250 |
| predicted_SO | 0.932 | 0.000 | 1.000 | Hitting_SO | 1.062 | 0.000 | -1.062 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.2050 -> 4.0000 (boost 0.7950, better) |
| Biggest Deboost | predicted_SO: 0.9320 -> 0.0000 (deboost -0.9320, 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_H: 0.2900 -> 0.4571 (boost 0.1671, better) | predicted_SLG: 0.4130 -> 0.3754 (deboost -0.0376, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3754 -> 0.2171 (deboost -0.1583, 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.8953 -> 1.0000 (boost 0.1047, worse) | predicted_H: 0.4536 -> 0.0000 (deboost -0.4536, worse) | AB rounded to 3 (raw=3.24), rates preserved: AVG=0.140 HR/AB=0.019 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000) |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3702 -> 0.0000 (deboost -0.3702, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1402 -> 0.3330 (boost 0.1928, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1402 (deboost -0.1928, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543309",
"player_name": "Kyle Higashioka",
"position": "C",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.068,
"predicted_3B": 0.0,
"predicted_AB": 3.205,
"predicted_AVG": 0.23,
"predicted_BB": 0.386,
"predicted_H": 0.29,
"predicted_HR": 0.04,
"predicted_OBP": 0.282,
"predicted_R": 0.386,
"predicted_RBI": 0.19,
"predicted_SLG": 0.413,
"predicted_SO": 0.932
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0648,
"predicted_3B": 0.0008,
"predicted_AB": 3.2357,
"predicted_AVG": 0.2238,
"predicted_BB": 0.4187,
"predicted_H": 0.4571,
"predicted_HBP": 0.016,
"predicted_HR": 0.0618,
"predicted_OBP": 0.2952,
"predicted_R": 0.3735,
"predicted_RBI": 0.253,
"predicted_SLG": 0.3754,
"predicted_SO": 0.8957
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.068,
"after": 0.0648,
"delta": -0.0032,
"percent_delta": -0.0471,
"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.2357,
"delta": 0.0307,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2238,
"delta": -0.0062,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.4187,
"delta": 0.0327,
"percent_delta": 0.0847,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.29,
"after": 0.4571,
"delta": 0.1671,
"percent_delta": 0.5762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0618,
"delta": 0.0218,
"percent_delta": 0.545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2952,
"delta": 0.0132,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.386,
"after": 0.3735,
"delta": -0.0125,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.253,
"delta": 0.063,
"percent_delta": 0.3316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.3754,
"delta": -0.0376,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.932,
"after": 0.8957,
"delta": -0.0363,
"percent_delta": -0.0389,
"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_H",
"before": 0.29,
"after": 0.4571,
"delta": 0.1671,
"percent_delta": 0.5762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.3754,
"delta": -0.0376,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0648,
"predicted_3B": 0.0008,
"predicted_AB": 3.2357,
"predicted_AVG": 0.1402,
"predicted_BB": 0.4189,
"predicted_H": 0.4536,
"predicted_HBP": 0.016,
"predicted_HR": 0.0608,
"predicted_OBP": 0.2387,
"predicted_R": 0.3702,
"predicted_RBI": 0.2508,
"predicted_SLG": 0.2171,
"predicted_SO": 0.8953
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0648,
"after": 0.0648,
"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.2357,
"after": 3.2357,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2238,
"after": 0.1402,
"delta": -0.0836,
"percent_delta": -0.3735,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4187,
"after": 0.4189,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4571,
"after": 0.4536,
"delta": -0.0035,
"percent_delta": -0.0077,
"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.0618,
"after": 0.0608,
"delta": -0.001,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2952,
"after": 0.2387,
"delta": -0.0565,
"percent_delta": -0.1914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3735,
"after": 0.3702,
"delta": -0.0033,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.253,
"after": 0.2508,
"delta": -0.0022,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3754,
"after": 0.2171,
"delta": -0.1583,
"percent_delta": -0.4217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8957,
"after": 0.8953,
"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.3754,
"after": 0.2171,
"delta": -0.1583,
"percent_delta": -0.4217,
"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.140 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0648,
"after": 0.0,
"delta": -0.0648,
"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.2357,
"after": 3.0,
"delta": -0.2357,
"percent_delta": -0.0728,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4189,
"after": 0.0,
"delta": -0.4189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4536,
"after": 0.0,
"delta": -0.4536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0608,
"after": 0.0,
"delta": -0.0608,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2508,
"after": 0.0,
"delta": -0.2508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8953,
"after": 1.0,
"delta": 0.1047,
"percent_delta": 0.1169,
"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.8953,
"after": 1.0,
"delta": 0.1047,
"percent_delta": 0.1169,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4536,
"after": 0.0,
"delta": -0.4536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.3702,
"after": 0.0,
"delta": -0.3702,
"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.3702,
"after": 0.0,
"delta": -0.3702,
"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.1402,
"after": 0.333,
"delta": 0.1928,
"percent_delta": 1.3752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2387,
"after": 0.333,
"delta": 0.0943,
"percent_delta": 0.3951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2171,
"after": 0.333,
"delta": 0.1159,
"percent_delta": 0.5339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1402,
"after": 0.333,
"delta": 0.1928,
"percent_delta": 1.3752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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": 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.1402,
"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.2387,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2171,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1402,
"delta": -0.1928,
"percent_delta": -0.579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2387,
"delta": -0.0943,
"percent_delta": -0.2831,
"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.2171,
"delta": -0.1159,
"percent_delta": -0.3482,
"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.1402,
"delta": -0.1928,
"percent_delta": -0.579,
"direction": "deboost",
"projection_effect": "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": 3.205,
"after": 4.0,
"delta": 0.795,
"percent_delta": 0.248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.1402,
"delta": -0.0898,
"percent_delta": -0.3904,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2387,
"delta": -0.0433,
"percent_delta": -0.1535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.2171,
"delta": -0.1959,
"percent_delta": -0.4743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.932,
"after": 0.0,
"delta": -0.932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.205,
"after": 4.0,
"delta": 0.795,
"percent_delta": 0.248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.932,
"after": 0.0,
"delta": -0.932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.068 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.205 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.386 | - |
| predicted_H | 0.290 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.386 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.932 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.065 | -0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.236 | 0.031 |
| predicted_AVG | 0.224 | -0.006 |
| predicted_BB | 0.419 | 0.033 |
| predicted_H | 0.457 | 0.167 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.062 | 0.022 |
| predicted_OBP | 0.295 | 0.013 |
| predicted_R | 0.373 | -0.013 |
| predicted_RBI | 0.253 | 0.063 |
| predicted_SLG | 0.375 | -0.038 |
| predicted_SO | 0.896 | -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.065 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.236 | 0.000 |
| predicted_AVG | 0.140 | -0.084 |
| predicted_BB | 0.419 | 0.000 |
| predicted_H | 0.454 | -0.004 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.061 | -0.001 |
| predicted_OBP | 0.239 | -0.057 |
| predicted_R | 0.370 | -0.003 |
| predicted_RBI | 0.251 | -0.002 |
| predicted_SLG | 0.217 | -0.158 |
| predicted_SO | 0.895 | -0.000 |
AB rounded to 3 (raw=3.24), rates preserved: AVG=0.140 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.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 | 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.065 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.236 |
| predicted_AVG | 0.333 | 0.193 |
| predicted_BB | 0.000 | -0.419 |
| predicted_H | 1.000 | 0.546 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.333 | 0.094 |
| predicted_R | 0.000 | -0.370 |
| predicted_RBI | 0.000 | -0.251 |
| predicted_SLG | 0.333 | 0.116 |
| predicted_SO | 1.000 | 0.105 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 3.000 | 0.2000 | 0.3684 | 0.2000 | 0.2000 | 0.0000 | 0.0667 | 0.2667 | 0.2000 |
| last_10 | 0.20 | 10 | - | 33.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 5.000 | 8.000 | 0.1818 | 0.2895 | 0.2727 | 0.1818 | 0.0303 | 0.1212 | 0.1515 | 0.2424 |
| season | 0.60 | 44 | - | 141.000 | 31.000 | 3.000 | 0.000 | 5.000 | 15.000 | 17.000 | 17.000 | 41.000 | 0.2199 | 0.3082 | 0.3475 | 0.2199 | 0.0355 | 0.1064 | 0.1206 | 0.2908 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0600 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2810 |
| predicted_AVG | 0.2146 |
| predicted_BB | 0.4670 |
| predicted_H | 0.7040 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.3148 |
| predicted_R | 0.3550 |
| predicted_RBI | 0.3460 |
| predicted_SLG | 0.3198 |
| predicted_SO | 0.8420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0680 | 0.0600 | 0.0648 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2050 | 3.2810 | 3.2357 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2146 | 0.2238 | model_form_blend |
| predicted_BB | 0.3860 | 0.4670 | 0.4187 | model_form_blend |
| predicted_H | 0.2900 | 0.7040 | 0.4571 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0400 | 0.0940 | 0.0618 | model_form_blend |
| predicted_OBP | 0.2820 | 0.3148 | 0.2952 | model_form_blend |
| predicted_R | 0.3860 | 0.3550 | 0.3735 | model_form_blend |
| predicted_RBI | 0.1900 | 0.3460 | 0.2530 | model_form_blend |
| predicted_SLG | 0.4130 | 0.3198 | 0.3754 | model_form_blend |
| predicted_SO | 0.9320 | 0.8420 | 0.8957 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 113 |
| Season rows before report date | 113 |
| Report year | 2026 |
| Profile rows used | 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 | 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.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 | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| 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 | DH |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 543309 |
| playerID | 543309 |
| playerName | Kyle Higashioka |
| pos | C |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.297 |
| sl_xwoba | 0.293 |
| sl_xba | 0.219 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 37.0 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 27.7 |
| 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.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 | 3.050 | 4.000 | 3.000 | Hitting_AB | 3.000 | 2.000 | 1.000 | 2.000 |
| predicted_AVG | 0.234 | 0.250 | 0.333 | Hitting_AVG | 0.111 | 0.000 | 0.139 | 0.250 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 1.000 | 1.000 | Hitting_H | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_HR | 0.090 | 1.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_OBP | 0.283 | 0.250 | 0.333 | Hitting_OBP | 0.200 | 0.000 | 0.050 | 0.250 |
| predicted_R | 0.667 | 1.000 | 1.000 | Hitting_R | 0.667 | 0.000 | 0.333 | 1.000 |
| predicted_RBI | 0.340 | 1.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_SLG | 0.458 | 1.000 | 0.333 | Hitting_SLG | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_SO | 0.667 | 2.000 | 1.000 | Hitting_SO | 0.667 | 1.000 | 1.333 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_SO: 0.6670 -> 2.0000 (boost 1.3330, worse) |
| Biggest Deboost | predicted_3B: 0.3330 -> 0.0000 (deboost -0.3330, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.0500 -> 3.1771 (boost 0.1271, better) | predicted_3B: 0.3330 -> 0.2818 (deboost -0.0512, worse) | Final model input calibrated with local 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.4422 -> 0.4972 (boost 0.0550, 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.6983 -> 1.0000 (boost 0.3017, worse) | predicted_RBI: 0.3382 -> 0.0000 (deboost -0.3382, worse) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.226 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6360 -> 1.0000 (boost 0.3640, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2260 -> 0.3330 (boost 0.1070, better) | predicted_SLG: 0.4972 -> 0.3330 (deboost -0.1642, 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_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.4972 (boost 0.1642, better) | predicted_AVG: 0.3330 -> 0.2260 (deboost -0.1070, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695508",
"player_name": "Cameron Cauley",
"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.0,
"predicted_3B": 0.333,
"predicted_AB": 3.05,
"predicted_AVG": 0.234,
"predicted_BB": 0.333,
"predicted_H": 0.71,
"predicted_HR": 0.09,
"predicted_OBP": 0.283,
"predicted_R": 0.667,
"predicted_RBI": 0.34,
"predicted_SLG": 0.458,
"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.0298,
"predicted_3B": 0.2818,
"predicted_AB": 3.1771,
"predicted_AVG": 0.2293,
"predicted_BB": 0.3233,
"predicted_H": 0.7236,
"predicted_HBP": 0.023,
"predicted_HR": 0.0909,
"predicted_OBP": 0.2822,
"predicted_R": 0.6416,
"predicted_RBI": 0.3412,
"predicted_SLG": 0.4422,
"predicted_SO": 0.6986
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0298,
"delta": 0.0298,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.333,
"after": 0.2818,
"delta": -0.0512,
"percent_delta": -0.1538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.05,
"after": 3.1771,
"delta": 0.1271,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2293,
"delta": -0.0047,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3233,
"delta": -0.0097,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7236,
"delta": 0.0136,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0909,
"delta": 0.0009,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2822,
"delta": -0.0008,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6416,
"delta": -0.0254,
"percent_delta": -0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3412,
"delta": 0.0012,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4422,
"delta": -0.0158,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.6986,
"delta": 0.0316,
"percent_delta": 0.0474,
"direction": "no_change",
"projection_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.05,
"after": 3.1771,
"delta": 0.1271,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_3B",
"before": 0.333,
"after": 0.2818,
"delta": -0.0512,
"percent_delta": -0.1538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_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.0298,
"predicted_3B": 0.2818,
"predicted_AB": 3.1771,
"predicted_AVG": 0.226,
"predicted_BB": 0.3234,
"predicted_H": 0.7181,
"predicted_HBP": 0.023,
"predicted_HR": 0.0894,
"predicted_OBP": 0.2975,
"predicted_R": 0.636,
"predicted_RBI": 0.3382,
"predicted_SLG": 0.4972,
"predicted_SO": 0.6983
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0298,
"after": 0.0298,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.2818,
"after": 0.2818,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1771,
"after": 3.1771,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2293,
"after": 0.226,
"delta": -0.0033,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3233,
"after": 0.3234,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7236,
"after": 0.7181,
"delta": -0.0055,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0909,
"after": 0.0894,
"delta": -0.0015,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2822,
"after": 0.2975,
"delta": 0.0153,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6416,
"after": 0.636,
"delta": -0.0056,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3412,
"after": 0.3382,
"delta": -0.003,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4422,
"after": 0.4972,
"delta": 0.055,
"percent_delta": 0.1244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6986,
"after": 0.6983,
"delta": -0.0003,
"percent_delta": -0.0004,
"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.4422,
"after": 0.4972,
"delta": 0.055,
"percent_delta": 0.1244,
"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.18), rates preserved: AVG=0.226 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.0298,
"after": 0.0,
"delta": -0.0298,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.2818,
"after": 0.0,
"delta": -0.2818,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.1771,
"after": 3.0,
"delta": -0.1771,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3234,
"after": 0.0,
"delta": -0.3234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7181,
"after": 1.0,
"delta": 0.2819,
"percent_delta": 0.3926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0894,
"after": 0.0,
"delta": -0.0894,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3382,
"after": 0.0,
"delta": -0.3382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6983,
"after": 1.0,
"delta": 0.3017,
"percent_delta": 0.432,
"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.6983,
"after": 1.0,
"delta": 0.3017,
"percent_delta": 0.432,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3382,
"after": 0.0,
"delta": -0.3382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.636,
"after": 1.0,
"delta": 0.364,
"percent_delta": 0.5723,
"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.636,
"after": 1.0,
"delta": 0.364,
"percent_delta": 0.5723,
"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.226,
"after": 0.333,
"delta": 0.107,
"percent_delta": 0.4735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2975,
"after": 0.333,
"delta": 0.0355,
"percent_delta": 0.1193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4972,
"after": 0.333,
"delta": -0.1642,
"percent_delta": -0.3302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.226,
"after": 0.333,
"delta": 0.107,
"percent_delta": 0.4735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4972,
"after": 0.333,
"delta": -0.1642,
"percent_delta": -0.3302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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_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.226,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2975,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4972,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.226,
"delta": -0.107,
"percent_delta": -0.3212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2975,
"delta": -0.0355,
"percent_delta": -0.1065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4972,
"delta": 0.1642,
"percent_delta": 0.4931,
"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.4972,
"delta": 0.1642,
"percent_delta": 0.4931,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.226,
"delta": -0.107,
"percent_delta": -0.3212,
"direction": "deboost",
"projection_effect": "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.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.05,
"after": 4.0,
"delta": 0.95,
"percent_delta": 0.3115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.226,
"delta": -0.008,
"percent_delta": -0.0342,
"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.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 1.0,
"delta": 0.91,
"percent_delta": 10.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2975,
"delta": 0.0145,
"percent_delta": 0.0512,
"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.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4972,
"delta": 0.0392,
"percent_delta": 0.0856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 2.0,
"delta": 1.333,
"percent_delta": 1.9985,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.667,
"after": 2.0,
"delta": 1.333,
"percent_delta": 1.9985,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_3B",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.333 | - |
| predicted_AB | 3.050 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.458 | - |
| predicted_SO | 0.667 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.030 | 0.030 |
| predicted_3B | 0.282 | -0.051 |
| predicted_AB | 3.177 | 0.127 |
| predicted_AVG | 0.229 | -0.005 |
| predicted_BB | 0.323 | -0.010 |
| predicted_H | 0.724 | 0.014 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.091 | 0.001 |
| predicted_OBP | 0.282 | -0.001 |
| predicted_R | 0.642 | -0.025 |
| predicted_RBI | 0.341 | 0.001 |
| predicted_SLG | 0.442 | -0.016 |
| 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.030 | 0.000 |
| predicted_3B | 0.282 | 0.000 |
| predicted_AB | 3.177 | 0.000 |
| predicted_AVG | 0.226 | -0.003 |
| predicted_BB | 0.323 | 0.000 |
| predicted_H | 0.718 | -0.006 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.089 | -0.002 |
| predicted_OBP | 0.297 | 0.015 |
| predicted_R | 0.636 | -0.006 |
| predicted_RBI | 0.338 | -0.003 |
| predicted_SLG | 0.497 | 0.055 |
| predicted_SO | 0.698 | -0.000 |
AB rounded to 3 (raw=3.18), rates preserved: AVG=0.226 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.030 |
| predicted_3B | 0.000 | -0.282 |
| predicted_AB | 3.000 | -0.177 |
| predicted_AVG | 0.333 | 0.107 |
| predicted_BB | 0.000 | -0.323 |
| predicted_H | 1.000 | 0.282 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.333 | 0.036 |
| predicted_R | 1.000 | 0.364 |
| predicted_RBI | 0.000 | -0.338 |
| predicted_SLG | 0.333 | -0.164 |
| predicted_SO | 1.000 | 0.302 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | 3 | - | 9.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 0.1111 | 0.2000 | 0.3333 | 0.1111 | 0.0000 | 0.0000 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 3 | - | 9.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 0.1111 | 0.2000 | 0.3333 | 0.1111 | 0.0000 | 0.0000 | 0.1111 | 0.2222 |
| season | 0.60 | 3 | - | 9.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 0.1111 | 0.2000 | 0.3333 | 0.1111 | 0.0000 | 0.0000 | 0.1111 | 0.2222 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.1110 |
| predicted_AB | 3.6010 |
| predicted_AVG | 0.2136 |
| predicted_BB | 0.2910 |
| predicted_H | 0.7690 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.2794 |
| predicted_R | 0.5570 |
| predicted_RBI | 0.3450 |
| predicted_SLG | 0.3896 |
| predicted_SO | 0.8040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1290 | 0.0298 | model_form_blend |
| predicted_3B | 0.3330 | 0.1110 | 0.2818 | model_form_blend |
| predicted_AB | 3.0500 | 3.6010 | 3.1771 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2136 | 0.2293 | model_form_blend |
| predicted_BB | 0.3330 | 0.2910 | 0.3233 | model_form_blend |
| predicted_H | 0.7100 | 0.7690 | 0.7236 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.0900 | 0.0940 | 0.0909 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2794 | 0.2822 | model_form_blend |
| predicted_R | 0.6670 | 0.5570 | 0.6416 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3450 | 0.3412 | model_form_blend |
| predicted_SLG | 0.4580 | 0.3896 | 0.4422 | model_form_blend |
| predicted_SO | 0.6670 | 0.8040 | 0.6986 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.111 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| 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 | 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 | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 695508 |
| playerID | 695508 |
| playerName | Cameron Cauley |
| pos | SS |
| started | True |
| startingPosition | CF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.23 |
| sl_xwoba | 0.178 |
| sl_xba | 0.13 |
| sl_xslg | 0.141 |
| sl_sweet_spot_percent | 14.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 0.0 |
| sl_exit_velocity_avg | 75.4 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 13.3 |
| sl_swing_percent | 46.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.227 | 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 | 3.000 | 3.000 | 3.000 | Hitting_AB | 2.316 | 4.000 | 0.684 | -1.000 |
| predicted_AVG | 0.288 | 0.000 | 0.333 | Hitting_AVG | 0.318 | 0.500 | -0.318 | -0.500 |
| predicted_BB | 0.045 | 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.650 | 0.000 | 1.000 | Hitting_H | 0.737 | 2.000 | -0.737 | -2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.053 | 1.000 | -0.053 | -1.000 |
| predicted_OBP | 0.293 | 0.250 | 0.333 | Hitting_OBP | 0.311 | 0.500 | -0.061 | -0.250 |
| predicted_R | 0.318 | 0.000 | 0.000 | Hitting_R | 0.263 | 1.000 | -0.263 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.526 | 2.000 | -0.526 | -2.000 |
| predicted_SLG | 0.513 | 0.000 | 0.333 | Hitting_SLG | 0.455 | 1.250 | -0.455 | -1.250 |
| predicted_SO | 0.591 | 1.000 | 1.000 | Hitting_SO | 0.421 | 0.000 | 0.579 | 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.0450 -> 1.0000 (boost 0.9550, 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 | 3 | 2 | 3 | 2 | predicted_AB: 3.0000 -> 3.1485 (boost 0.1485, better) | predicted_SLG: 0.5130 -> 0.4939 (deboost -0.0191, worse) | Final model input calibrated with local form: 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.4939 -> 0.4151 (deboost -0.0788, 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.5261 -> 1.0000 (boost 0.4739, better) | predicted_2B: 0.2209 -> 0.0000 (deboost -0.2209, worse) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.237 HR/AB=0.036 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3234 -> 0.0000 (deboost -0.3234, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2368 -> 0.3330 (boost 0.0962, better) | predicted_SLG: 0.4151 -> 0.3330 (deboost -0.0821, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_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.4151 (boost 0.0821, better) | predicted_AVG: 0.3330 -> 0.2368 (deboost -0.0962, 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": "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.227,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.288,
"predicted_BB": 0.045,
"predicted_H": 0.65,
"predicted_HR": 0.1,
"predicted_OBP": 0.293,
"predicted_R": 0.318,
"predicted_RBI": 0.44,
"predicted_SLG": 0.513,
"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.2209,
"predicted_3B": 0.0014,
"predicted_AB": 3.1485,
"predicted_AVG": 0.2826,
"predicted_BB": 0.063,
"predicted_H": 0.7513,
"predicted_HBP": 0.009,
"predicted_HR": 0.1144,
"predicted_OBP": 0.2931,
"predicted_R": 0.3263,
"predicted_RBI": 0.5308,
"predicted_SLG": 0.4939,
"predicted_SO": 0.6292
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.2209,
"delta": -0.0061,
"percent_delta": -0.0269,
"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.0,
"after": 3.1485,
"delta": 0.1485,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.2826,
"delta": -0.0054,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.045,
"after": 0.063,
"delta": 0.018,
"percent_delta": 0.4,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.7513,
"delta": 0.1013,
"percent_delta": 0.1558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1144,
"delta": 0.0144,
"percent_delta": 0.144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2931,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 0.3263,
"delta": 0.0083,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.5308,
"delta": 0.0908,
"percent_delta": 0.2064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.513,
"after": 0.4939,
"delta": -0.0191,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.591,
"after": 0.6292,
"delta": 0.0382,
"percent_delta": 0.0646,
"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": 3.0,
"after": 3.1485,
"delta": 0.1485,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.513,
"after": 0.4939,
"delta": -0.0191,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 22
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2209,
"predicted_3B": 0.0014,
"predicted_AB": 3.1485,
"predicted_AVG": 0.2368,
"predicted_BB": 0.063,
"predicted_H": 0.7456,
"predicted_HBP": 0.009,
"predicted_HR": 0.1125,
"predicted_OBP": 0.2518,
"predicted_R": 0.3234,
"predicted_RBI": 0.5261,
"predicted_SLG": 0.4151,
"predicted_SO": 0.6289
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2209,
"after": 0.2209,
"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.1485,
"after": 3.1485,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2826,
"after": 0.2368,
"delta": -0.0458,
"percent_delta": -0.1621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.063,
"after": 0.063,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7513,
"after": 0.7456,
"delta": -0.0057,
"percent_delta": -0.0076,
"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.1144,
"after": 0.1125,
"delta": -0.0019,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2931,
"after": 0.2518,
"delta": -0.0413,
"percent_delta": -0.1409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3263,
"after": 0.3234,
"delta": -0.0029,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5308,
"after": 0.5261,
"delta": -0.0047,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4939,
"after": 0.4151,
"delta": -0.0788,
"percent_delta": -0.1595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6292,
"after": 0.6289,
"delta": -0.0003,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4939,
"after": 0.4151,
"delta": -0.0788,
"percent_delta": -0.1595,
"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.237 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2209,
"after": 0.0,
"delta": -0.2209,
"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.1485,
"after": 3.0,
"delta": -0.1485,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7456,
"after": 1.0,
"delta": 0.2544,
"percent_delta": 0.3412,
"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.1125,
"after": 0.0,
"delta": -0.1125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5261,
"after": 1.0,
"delta": 0.4739,
"percent_delta": 0.9008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6289,
"after": 1.0,
"delta": 0.3711,
"percent_delta": 0.5901,
"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.5261,
"after": 1.0,
"delta": 0.4739,
"percent_delta": 0.9008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2209,
"after": 0.0,
"delta": -0.2209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.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": 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": 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": 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.3234,
"after": 0.0,
"delta": -0.3234,
"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.3234,
"after": 0.0,
"delta": -0.3234,
"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": 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.2368,
"after": 0.333,
"delta": 0.0962,
"percent_delta": 0.4062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4151,
"after": 0.333,
"delta": -0.0821,
"percent_delta": -0.1978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2368,
"after": 0.333,
"delta": 0.0962,
"percent_delta": 0.4062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4151,
"after": 0.333,
"delta": -0.0821,
"percent_delta": -0.1978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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_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.2368,
"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.2518,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4151,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2368,
"delta": -0.0962,
"percent_delta": -0.2889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2439,
"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.4151,
"delta": 0.0821,
"percent_delta": 0.2464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4151,
"delta": 0.0821,
"percent_delta": 0.2464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2368,
"delta": -0.0962,
"percent_delta": -0.2889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.0,
"delta": -0.227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.2368,
"delta": -0.0512,
"percent_delta": -0.1778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.045,
"after": 1.0,
"delta": 0.955,
"percent_delta": 21.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2518,
"delta": -0.0412,
"percent_delta": -0.1406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.318,
"after": 0.0,
"delta": -0.318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.513,
"after": 0.4151,
"delta": -0.0979,
"percent_delta": -0.1908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.591,
"after": 1.0,
"delta": 0.409,
"percent_delta": 0.692,
"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.045,
"after": 1.0,
"delta": 0.955,
"percent_delta": 21.2222,
"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.227 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.288 | - |
| predicted_BB | 0.045 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.318 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.513 | - |
| 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.221 | -0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.148 | 0.148 |
| predicted_AVG | 0.283 | -0.005 |
| predicted_BB | 0.063 | 0.018 |
| predicted_H | 0.751 | 0.101 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.114 | 0.014 |
| predicted_OBP | 0.293 | 0.000 |
| predicted_R | 0.326 | 0.008 |
| predicted_RBI | 0.531 | 0.091 |
| predicted_SLG | 0.494 | -0.019 |
| predicted_SO | 0.629 | 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.221 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.148 | 0.000 |
| predicted_AVG | 0.237 | -0.046 |
| predicted_BB | 0.063 | 0.000 |
| predicted_H | 0.746 | -0.006 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.113 | -0.002 |
| predicted_OBP | 0.252 | -0.041 |
| predicted_R | 0.323 | -0.003 |
| predicted_RBI | 0.526 | -0.005 |
| predicted_SLG | 0.415 | -0.079 |
| predicted_SO | 0.629 | -0.000 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.237 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.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 | 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.221 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.148 |
| predicted_AVG | 0.333 | 0.096 |
| predicted_BB | 0.000 | -0.063 |
| predicted_H | 1.000 | 0.254 |
| predicted_HR | 0.000 | -0.113 |
| predicted_OBP | 0.333 | 0.081 |
| predicted_R | 0.000 | -0.323 |
| predicted_RBI | 1.000 | 0.474 |
| predicted_SLG | 0.333 | -0.082 |
| predicted_SO | 1.000 | 0.371 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 1.000 | 0.000 | 1.000 | 5.000 | 1.000 | 0.000 | 4.000 | 0.2632 | 0.2632 | 0.4737 | 0.2632 | 0.0526 | 0.2632 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 2.000 | 0.000 | 1.000 | 8.000 | 2.000 | 0.000 | 6.000 | 0.2941 | 0.2941 | 0.4412 | 0.2941 | 0.0294 | 0.2353 | 0.0000 | 0.1765 |
| season | 0.60 | 22 | - | 66.000 | 19.000 | 5.000 | 0.000 | 3.000 | 15.000 | 7.000 | 1.000 | 13.000 | 0.2879 | 0.2941 | 0.5000 | 0.2879 | 0.0454 | 0.2273 | 0.0152 | 0.1970 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2100 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.4120 |
| predicted_AVG | 0.2730 |
| predicted_BB | 0.0950 |
| predicted_H | 0.9310 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.2934 |
| predicted_R | 0.3410 |
| predicted_RBI | 0.6920 |
| predicted_SLG | 0.4601 |
| predicted_SO | 0.6970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.2100 | 0.2209 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 3.0000 | 3.4120 | 3.1485 | model_form_blend |
| predicted_AVG | 0.2880 | 0.2730 | 0.2826 | model_form_blend |
| predicted_BB | 0.0450 | 0.0950 | 0.0630 | model_form_blend |
| predicted_H | 0.6500 | 0.9310 | 0.7513 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1000 | 0.1400 | 0.1144 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2934 | 0.2931 | model_form_blend |
| predicted_R | 0.3180 | 0.3410 | 0.3263 | model_form_blend |
| predicted_RBI | 0.4400 | 0.6920 | 0.5308 | model_form_blend |
| predicted_SLG | 0.5130 | 0.4601 | 0.4939 | model_form_blend |
| predicted_SO | 0.5910 | 0.6970 | 0.6292 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 22 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| 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 | 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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 553869 |
| playerID | 553869 |
| playerName | Elias Díaz |
| pos | C |
| started | True |
| startingPosition | C |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 1.5 |
| sl_woba | 0.338 |
| sl_xwoba | 0.281 |
| sl_xba | 0.256 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 29.6 |
| sl_swing_percent | 58.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.077 | 1.000 | 0.000 | Hitting_2B | 0.090 | 0.000 | 0.910 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.808 | 4.000 | 3.000 | Hitting_AB | 2.874 | 4.000 | 1.126 | 0.000 |
| predicted_AVG | 0.258 | 0.250 | 0.333 | Hitting_AVG | 0.238 | 0.000 | 0.012 | 0.250 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.369 | 0.000 | -0.369 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.685 | 0.000 | 0.315 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.304 | 0.250 | 0.333 | Hitting_OBP | 0.362 | 0.000 | -0.112 | 0.250 |
| predicted_R | 0.288 | 1.000 | 0.000 | Hitting_R | 0.342 | 1.000 | 0.658 | 0.000 |
| predicted_RBI | 0.310 | 2.000 | 0.000 | Hitting_RBI | 0.261 | 0.000 | 1.739 | 2.000 |
| predicted_SLG | 0.390 | 0.500 | 0.333 | Hitting_SLG | 0.270 | 0.000 | 0.230 | 0.500 |
| predicted_SO | 0.462 | 0.000 | 0.000 | Hitting_SO | 0.514 | 0.000 | -0.514 | 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 -> 2.0000 (boost 1.6900, better) |
| Biggest Deboost | predicted_SO: 0.4620 -> 0.0000 (deboost -0.4620, 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.8080 -> 2.9989 (boost 0.1909, better) | predicted_SLG: 0.3900 -> 0.3467 (deboost -0.0433, worse) | Final model input calibrated with local form: 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.3467 -> 0.3011 (deboost -0.0456, 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.7119 -> 1.0000 (boost 0.2881, better) | predicted_SO: 0.4853 -> 0.0000 (deboost -0.4853, better) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.237 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3068 -> 0.0000 (deboost -0.3068, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2374 -> 0.3330 (boost 0.0956, better) | - | 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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2374 (deboost -0.0956, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"position": "LF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.077,
"predicted_3B": 0.0,
"predicted_AB": 2.808,
"predicted_AVG": 0.258,
"predicted_BB": 0.25,
"predicted_H": 0.67,
"predicted_HR": 0.05,
"predicted_OBP": 0.304,
"predicted_R": 0.288,
"predicted_RBI": 0.31,
"predicted_SLG": 0.39,
"predicted_SO": 0.462
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0802,
"predicted_3B": 0.0008,
"predicted_AB": 2.9989,
"predicted_AVG": 0.2507,
"predicted_BB": 0.2472,
"predicted_H": 0.7174,
"predicted_HBP": 0.084,
"predicted_HR": 0.037,
"predicted_OBP": 0.3057,
"predicted_R": 0.3095,
"predicted_RBI": 0.3169,
"predicted_SLG": 0.3467,
"predicted_SO": 0.4855
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.077,
"after": 0.0802,
"delta": 0.0032,
"percent_delta": 0.0416,
"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.808,
"after": 2.9989,
"delta": 0.1909,
"percent_delta": 0.068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2507,
"delta": -0.0073,
"percent_delta": -0.0283,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.2472,
"delta": -0.0028,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.7174,
"delta": 0.0474,
"percent_delta": 0.0707,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.037,
"delta": -0.013,
"percent_delta": -0.26,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3057,
"delta": 0.0017,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.288,
"after": 0.3095,
"delta": 0.0215,
"percent_delta": 0.0747,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3169,
"delta": 0.0069,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3467,
"delta": -0.0433,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.462,
"after": 0.4855,
"delta": 0.0235,
"percent_delta": 0.0509,
"direction": "no_change",
"projection_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.808,
"after": 2.9989,
"delta": 0.1909,
"percent_delta": 0.068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3467,
"delta": -0.0433,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0802,
"predicted_3B": 0.0008,
"predicted_AB": 2.9989,
"predicted_AVG": 0.2374,
"predicted_BB": 0.2473,
"predicted_H": 0.7119,
"predicted_HBP": 0.084,
"predicted_HR": 0.0364,
"predicted_OBP": 0.2955,
"predicted_R": 0.3068,
"predicted_RBI": 0.3141,
"predicted_SLG": 0.3011,
"predicted_SO": 0.4853
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0802,
"after": 0.0802,
"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.9989,
"after": 2.9989,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2507,
"after": 0.2374,
"delta": -0.0133,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2472,
"after": 0.2473,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7174,
"after": 0.7119,
"delta": -0.0055,
"percent_delta": -0.0077,
"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.037,
"after": 0.0364,
"delta": -0.0006,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3057,
"after": 0.2955,
"delta": -0.0102,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3095,
"after": 0.3068,
"delta": -0.0027,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3169,
"after": 0.3141,
"delta": -0.0028,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3467,
"after": 0.3011,
"delta": -0.0456,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4855,
"after": 0.4853,
"delta": -0.0002,
"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.3467,
"after": 0.3011,
"delta": -0.0456,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.00), rates preserved: AVG=0.237 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.0802,
"after": 0.0,
"delta": -0.0802,
"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.9989,
"after": 3.0,
"delta": 0.0011,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2473,
"after": 0.0,
"delta": -0.2473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7119,
"after": 1.0,
"delta": 0.2881,
"percent_delta": 0.4047,
"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.0364,
"after": 0.0,
"delta": -0.0364,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3141,
"after": 0.0,
"delta": -0.3141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4853,
"after": 0.0,
"delta": -0.4853,
"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.7119,
"after": 1.0,
"delta": 0.2881,
"percent_delta": 0.4047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4853,
"after": 0.0,
"delta": -0.4853,
"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.3068,
"after": 0.0,
"delta": -0.3068,
"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.3068,
"after": 0.0,
"delta": -0.3068,
"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.2374,
"after": 0.333,
"delta": 0.0956,
"percent_delta": 0.4027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2955,
"after": 0.333,
"delta": 0.0375,
"percent_delta": 0.1269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3011,
"after": 0.333,
"delta": 0.0319,
"percent_delta": 0.1059,
"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.2374,
"after": 0.333,
"delta": 0.0956,
"percent_delta": 0.4027,
"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": 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.2374,
"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.2955,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3011,
"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.2374,
"delta": -0.0956,
"percent_delta": -0.2871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2955,
"delta": -0.0375,
"percent_delta": -0.1126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3011,
"delta": -0.0319,
"percent_delta": -0.0959,
"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.2374,
"delta": -0.0956,
"percent_delta": -0.2871,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.923,
"percent_delta": 11.987,
"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.808,
"after": 4.0,
"delta": 1.192,
"percent_delta": 0.4245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2374,
"delta": -0.0206,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"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.304,
"after": 0.2955,
"delta": -0.0085,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.288,
"after": 1.0,
"delta": 0.712,
"percent_delta": 2.4722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 2.0,
"delta": 1.69,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3011,
"delta": -0.0889,
"percent_delta": -0.2279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"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": 2.0,
"delta": 1.69,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"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.077 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.808 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.288 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.462 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.080 | 0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.999 | 0.191 |
| predicted_AVG | 0.251 | -0.007 |
| predicted_BB | 0.247 | -0.003 |
| predicted_H | 0.717 | 0.047 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.037 | -0.013 |
| predicted_OBP | 0.306 | 0.002 |
| predicted_R | 0.309 | 0.022 |
| predicted_RBI | 0.317 | 0.007 |
| predicted_SLG | 0.347 | -0.043 |
| predicted_SO | 0.485 | 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.080 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.999 | 0.000 |
| predicted_AVG | 0.237 | -0.013 |
| predicted_BB | 0.247 | 0.000 |
| predicted_H | 0.712 | -0.006 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.036 | -0.001 |
| predicted_OBP | 0.295 | -0.010 |
| predicted_R | 0.307 | -0.003 |
| predicted_RBI | 0.314 | -0.003 |
| predicted_SLG | 0.301 | -0.046 |
| predicted_SO | 0.485 | -0.000 |
AB rounded to 3 (raw=3.00), rates preserved: AVG=0.237 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.080 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.001 |
| predicted_AVG | 0.333 | 0.096 |
| predicted_BB | 0.000 | -0.247 |
| predicted_H | 1.000 | 0.288 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 0.000 | -0.307 |
| predicted_RBI | 0.000 | -0.314 |
| predicted_SLG | 0.333 | 0.032 |
| predicted_SO | 0.000 | -0.485 |
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 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 2.000 | 0.2105 | 0.2500 | 0.2105 | 0.2105 | 0.0000 | 0.1053 | 0.0526 | 0.1053 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 0.000 | 0.000 | 3.000 | 3.000 | 2.000 | 5.000 | 0.2432 | 0.2821 | 0.2703 | 0.2432 | 0.0000 | 0.0811 | 0.0541 | 0.1351 |
| season | 0.60 | 52 | - | 146.000 | 36.000 | 4.000 | 0.000 | 0.000 | 14.000 | 15.000 | 13.000 | 24.000 | 0.2466 | 0.3373 | 0.2740 | 0.2466 | 0.0000 | 0.0959 | 0.0890 | 0.1644 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0850 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2790 |
| predicted_AVG | 0.2401 |
| predicted_BB | 0.2430 |
| predicted_H | 0.7870 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.0180 |
| predicted_OBP | 0.3083 |
| predicted_R | 0.3410 |
| predicted_RBI | 0.3270 |
| predicted_SLG | 0.2832 |
| predicted_SO | 0.5200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0770 | 0.0850 | 0.0802 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8080 | 3.2790 | 2.9989 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2401 | 0.2507 | model_form_blend |
| predicted_BB | 0.2500 | 0.2430 | 0.2472 | model_form_blend |
| predicted_H | 0.6700 | 0.7870 | 0.7174 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.0500 | 0.0180 | 0.0370 | model_form_blend |
| predicted_OBP | 0.3040 | 0.3083 | 0.3057 | model_form_blend |
| predicted_R | 0.2880 | 0.3410 | 0.3095 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3270 | 0.3169 | model_form_blend |
| predicted_SLG | 0.3900 | 0.2832 | 0.3467 | model_form_blend |
| predicted_SO | 0.4620 | 0.5200 | 0.4855 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 111 |
| Season rows before report date | 111 |
| 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.247 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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-CF |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 696030 |
| playerID | 696030 |
| playerName | Alejandro Osuna |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.29 |
| sl_xwoba | 0.311 |
| sl_xba | 0.264 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 30.1 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 5.4 |
| sl_whiff_percent | 15.5 |
| 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.061 | 0.000 | 0.000 | Hitting_2B | 0.057 | 1.000 | -0.057 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.818 | 4.000 | 3.000 | Hitting_AB | 2.943 | 3.000 | 1.057 | 1.000 |
| predicted_AVG | 0.289 | 0.250 | 0.333 | Hitting_AVG | 0.291 | 0.333 | -0.041 | -0.083 |
| predicted_BB | 0.091 | 0.000 | 0.000 | Hitting_BB | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_H | 0.310 | 1.000 | 1.000 | Hitting_H | 0.857 | 1.000 | 0.143 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_OBP | 0.316 | 0.250 | 0.333 | Hitting_OBP | 0.342 | 0.500 | -0.092 | -0.250 |
| predicted_R | 0.303 | 0.000 | 0.000 | Hitting_R | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.229 | 1.000 | -0.229 | -1.000 |
| predicted_SLG | 0.460 | 0.250 | 0.333 | Hitting_SLG | 0.340 | 0.667 | -0.090 | -0.417 |
| predicted_SO | 0.485 | 0.000 | 1.000 | Hitting_SO | 0.486 | 1.000 | -0.486 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.8180 -> 4.0000 (boost 1.1820, better) |
| Biggest Deboost | predicted_SO: 0.4850 -> 0.0000 (deboost -0.4850, 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_H: 0.3100 -> 0.5747 (boost 0.2647, better) | predicted_SLG: 0.4600 -> 0.4368 (deboost -0.0232, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4368 -> 0.2572 (deboost -0.1796, 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.5344 -> 1.0000 (boost 0.4656, worse) | predicted_RBI: 0.2275 -> 0.0000 (deboost -0.2275, worse) | AB rounded to 3 (raw=2.93), rates preserved: AVG=0.194 HR/AB=0.011 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3222 -> 0.0000 (deboost -0.3222, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1945 -> 0.3330 (boost 0.1385, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1945 (deboost -0.1385, 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.061,
"predicted_3B": 0.0,
"predicted_AB": 2.818,
"predicted_AVG": 0.289,
"predicted_BB": 0.091,
"predicted_H": 0.31,
"predicted_HR": 0.03,
"predicted_OBP": 0.316,
"predicted_R": 0.303,
"predicted_RBI": 0.17,
"predicted_SLG": 0.46,
"predicted_SO": 0.485
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0808,
"predicted_3B": 0.0011,
"predicted_AB": 2.9328,
"predicted_AVG": 0.3015,
"predicted_BB": 0.0994,
"predicted_H": 0.5747,
"predicted_HBP": 0.084,
"predicted_HR": 0.0342,
"predicted_OBP": 0.3339,
"predicted_R": 0.3251,
"predicted_RBI": 0.2295,
"predicted_SLG": 0.4368,
"predicted_SO": 0.5346
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.061,
"after": 0.0808,
"delta": 0.0198,
"percent_delta": 0.3246,
"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.818,
"after": 2.9328,
"delta": 0.1148,
"percent_delta": 0.0407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.3015,
"delta": 0.0125,
"percent_delta": 0.0433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.091,
"after": 0.0994,
"delta": 0.0084,
"percent_delta": 0.0923,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.5747,
"delta": 0.2647,
"percent_delta": 0.8539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0342,
"delta": 0.0042,
"percent_delta": 0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3339,
"delta": 0.0179,
"percent_delta": 0.0566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.303,
"after": 0.3251,
"delta": 0.0221,
"percent_delta": 0.0729,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2295,
"delta": 0.0595,
"percent_delta": 0.35,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4368,
"delta": -0.0232,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.485,
"after": 0.5346,
"delta": 0.0496,
"percent_delta": 0.1023,
"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.5747,
"delta": 0.2647,
"percent_delta": 0.8539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4368,
"delta": -0.0232,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 33
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0808,
"predicted_3B": 0.0011,
"predicted_AB": 2.9328,
"predicted_AVG": 0.1945,
"predicted_BB": 0.0994,
"predicted_H": 0.5703,
"predicted_HBP": 0.084,
"predicted_HR": 0.0336,
"predicted_OBP": 0.2209,
"predicted_R": 0.3222,
"predicted_RBI": 0.2275,
"predicted_SLG": 0.2572,
"predicted_SO": 0.5344
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0808,
"after": 0.0808,
"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.9328,
"after": 2.9328,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3015,
"after": 0.1945,
"delta": -0.107,
"percent_delta": -0.3549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0994,
"after": 0.0994,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5747,
"after": 0.5703,
"delta": -0.0044,
"percent_delta": -0.0077,
"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.0342,
"after": 0.0336,
"delta": -0.0006,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3339,
"after": 0.2209,
"delta": -0.113,
"percent_delta": -0.3384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3251,
"after": 0.3222,
"delta": -0.0029,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2295,
"after": 0.2275,
"delta": -0.002,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4368,
"after": 0.2572,
"delta": -0.1796,
"percent_delta": -0.4112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5346,
"after": 0.5344,
"delta": -0.0002,
"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.4368,
"after": 0.2572,
"delta": -0.1796,
"percent_delta": -0.4112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.93), rates preserved: AVG=0.194 HR/AB=0.011",
"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.0808,
"after": 0.0,
"delta": -0.0808,
"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.9328,
"after": 3.0,
"delta": 0.0672,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0994,
"after": 0.0,
"delta": -0.0994,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5703,
"after": 1.0,
"delta": 0.4297,
"percent_delta": 0.7535,
"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.0336,
"after": 0.0,
"delta": -0.0336,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2275,
"after": 0.0,
"delta": -0.2275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5344,
"after": 1.0,
"delta": 0.4656,
"percent_delta": 0.8713,
"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.5344,
"after": 1.0,
"delta": 0.4656,
"percent_delta": 0.8713,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2275,
"after": 0.0,
"delta": -0.2275,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3222,
"after": 0.0,
"delta": -0.3222,
"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.3222,
"after": 0.0,
"delta": -0.3222,
"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.1945,
"after": 0.333,
"delta": 0.1385,
"percent_delta": 0.7121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2209,
"after": 0.333,
"delta": 0.1121,
"percent_delta": 0.5075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2572,
"after": 0.333,
"delta": 0.0758,
"percent_delta": 0.2947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1945,
"after": 0.333,
"delta": 0.1385,
"percent_delta": 0.7121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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": 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.1945,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2209,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2572,
"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.1945,
"delta": -0.1385,
"percent_delta": -0.416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2209,
"delta": -0.1121,
"percent_delta": -0.3367,
"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.2572,
"delta": -0.0758,
"percent_delta": -0.2277,
"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.1945,
"delta": -0.1385,
"percent_delta": -0.416,
"direction": "deboost",
"projection_effect": "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": 2.818,
"after": 4.0,
"delta": 1.182,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.1945,
"delta": -0.0945,
"percent_delta": -0.327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.2209,
"delta": -0.0951,
"percent_delta": -0.3009,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"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.46,
"after": 0.2572,
"delta": -0.2028,
"percent_delta": -0.4409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.485,
"after": 0.0,
"delta": -0.485,
"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.818,
"after": 4.0,
"delta": 1.182,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.485,
"after": 0.0,
"delta": -0.485,
"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.061 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.818 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.091 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.303 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.460 | - |
| predicted_SO | 0.485 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 | 0.001 |
| predicted_AB | 2.933 | 0.115 |
| predicted_AVG | 0.301 | 0.013 |
| predicted_BB | 0.099 | 0.008 |
| predicted_H | 0.575 | 0.265 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.034 | 0.004 |
| predicted_OBP | 0.334 | 0.018 |
| predicted_R | 0.325 | 0.022 |
| predicted_RBI | 0.230 | 0.059 |
| predicted_SLG | 0.437 | -0.023 |
| predicted_SO | 0.535 | 0.050 |
Step 3: 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 | 2.933 | 0.000 |
| predicted_AVG | 0.195 | -0.107 |
| predicted_BB | 0.099 | 0.000 |
| predicted_H | 0.570 | -0.004 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.034 | -0.001 |
| predicted_OBP | 0.221 | -0.113 |
| predicted_R | 0.322 | -0.003 |
| predicted_RBI | 0.228 | -0.002 |
| predicted_SLG | 0.257 | -0.180 |
| predicted_SO | 0.534 | -0.000 |
AB rounded to 3 (raw=2.93), rates preserved: AVG=0.194 HR/AB=0.011
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
| 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.081 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.067 |
| predicted_AVG | 0.333 | 0.139 |
| predicted_BB | 0.000 | -0.099 |
| predicted_H | 1.000 | 0.430 |
| predicted_HR | 0.000 | -0.034 |
| predicted_OBP | 0.333 | 0.112 |
| predicted_R | 0.000 | -0.322 |
| predicted_RBI | 0.000 | -0.228 |
| predicted_SLG | 0.333 | 0.076 |
| predicted_SO | 1.000 | 0.466 |
Attached 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 | - | 15.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 4.000 | 0.4000 | 0.4375 | 0.4667 | 0.4000 | 0.0000 | 0.1333 | 0.0000 | 0.2667 |
| last_10 | 0.20 | 10 | - | 31.000 | 11.000 | 1.000 | 0.000 | 0.000 | 3.000 | 3.000 | 1.000 | 5.000 | 0.3548 | 0.3939 | 0.3871 | 0.3548 | 0.0000 | 0.0968 | 0.0323 | 0.1613 |
| season | 0.60 | 33 | - | 93.000 | 30.000 | 2.000 | 0.000 | 1.000 | 8.000 | 10.000 | 3.000 | 16.000 | 0.3226 | 0.3571 | 0.3763 | 0.3226 | 0.0107 | 0.0860 | 0.0323 | 0.1720 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1130 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.1190 |
| predicted_AVG | 0.3218 |
| predicted_BB | 0.1130 |
| predicted_H | 1.0040 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.0410 |
| predicted_OBP | 0.3630 |
| predicted_R | 0.3610 |
| predicted_RBI | 0.3260 |
| predicted_SLG | 0.3993 |
| predicted_SO | 0.6150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0610 | 0.1130 | 0.0808 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.8180 | 3.1190 | 2.9328 | model_form_blend |
| predicted_AVG | 0.2890 | 0.3218 | 0.3015 | model_form_blend |
| predicted_BB | 0.0910 | 0.1130 | 0.0994 | model_form_blend |
| predicted_H | 0.3100 | 1.0040 | 0.5747 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.0300 | 0.0410 | 0.0342 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3630 | 0.3339 | model_form_blend |
| predicted_R | 0.3030 | 0.3610 | 0.3251 | model_form_blend |
| predicted_RBI | 0.1700 | 0.3260 | 0.2295 | model_form_blend |
| predicted_SLG | 0.4600 | 0.3993 | 0.4368 | model_form_blend |
| predicted_SO | 0.4850 | 0.6150 | 0.5346 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 33 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260701_TEX@CLE |
| game_type | full |
| mlbID | 670032 |
| playerID | 670032 |
| playerName | Nicky Lopez |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | TEX |
| teamID | 28 |
| game_date | 2026-07-01 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 3.0 |
| sl_woba | 0.329 |
| sl_xwoba | 0.267 |
| sl_xba | 0.254 |
| sl_xslg | 0.305 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 24.1 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 1.1 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 53.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.438 | 1.000 | -1.438 | -1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.750 | 0.000 | 0.250 | 3.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.812 | 5.000 | 0.188 | 1.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.213 | 7.000 | -0.113 | -0.900 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 6.312 | 9.000 | -0.312 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better) | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "543135",
"player_name": "Nathan Eovaldi",
"position": "Starter",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 31.200 | 14.000 | 33.000 | 7.000 | 34.000 | 4.000 | 3.9789 | 1.2632 | 0.4421 | 1.0421 | 0.2210 | 1.0737 | 0.1263 |
| last_10 | 0.35 | 10 | 67.200 | 23.000 | 54.000 | 14.000 | 69.000 | 8.000 | 3.0591 | 1.0049 | 0.3399 | 0.7980 | 0.2069 | 1.0197 | 0.1182 |
| season | 0.20 | 16 | 100.100 | 44.000 | 93.000 | 23.000 | 101.000 | 17.000 | 3.9468 | 1.1561 | 0.4385 | 0.9269 | 0.2292 | 1.0066 | 0.1694 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6120 |
| predicted_ER | 2.7460 |
| predicted_ERA | 3.8477 |
| predicted_H | 6.0440 |
| predicted_HR | 0.8710 |
| predicted_IP | 6.1000 |
| predicted_SO | 6.5530 |
| predicted_WHIP | 1.1922 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.6120 | 0.8856 | model_form_blend |
| predicted_ER | 3.0000 | 2.7460 | 2.8605 | model_form_blend |
| predicted_ERA | - | 3.8477 | 3.8477 | form_only |
| predicted_H | 6.0000 | 6.0440 | 6.0242 | model_form_blend |
| predicted_HR | 1.0000 | 0.8710 | 0.9291 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 5.0000 | 6.5530 | 5.8532 | model_form_blend |
| predicted_WHIP | - | 1.1922 | 1.1922 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.1 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 6 |
| HR | 1 |
| BF | 26 |
| Pitches | 98 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.95 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 4 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 92 |
| Pitching_R | 0 |
| Pitching_SO | 9 |
| Pitching_Strikes | 59 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260626_TEX@TOR |
| game_type | full |
| mlbID | 543135 |
| playerID | 543135 |
| playerName | Nathan Eovaldi |
| pos | P |
| started | True |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-26 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.313 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 38.0 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 52.0 |
| sl_avg_best_speed | 77.220716831 |
| sl_avg_hyper_speed | 94.013303216 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.273 | 0.000 | 0.727 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.242 | 0.000 | 1.758 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.515 | 0.000 | 1.485 | 2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.209 | 1.000 | -0.109 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.303 | 2.000 | -1.303 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.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": 1.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 2.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": 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.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 2.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 | 2.000 | 3.000 | 2.000 | 7.000 | 1.000 | 2.8421 | 0.7895 | 0.3158 | 0.4737 | 0.3158 | 1.1053 | 0.1579 |
| last_10 | 0.35 | 10 | 13.000 | 2.000 | 5.000 | 3.000 | 14.000 | 1.000 | 1.3846 | 0.6154 | 0.1538 | 0.3846 | 0.2308 | 1.0769 | 0.0769 |
| season | 0.20 | 32 | 42.000 | 5.000 | 14.000 | 8.000 | 43.000 | 3.000 | 1.0714 | 0.5238 | 0.1191 | 0.3333 | 0.1905 | 1.0238 | 0.0714 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3960 |
| predicted_ER | 0.4320 |
| predicted_ERA | 2.9161 |
| predicted_H | 0.8280 |
| predicted_HR | 0.1670 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3760 |
| predicted_WHIP | 0.9183 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3960 | 0.7031 | model_form_blend |
| predicted_ER | 2.0000 | 0.4320 | 1.2294 | model_form_blend |
| predicted_ERA | - | 2.9161 | 2.9161 | form_only |
| predicted_H | 2.0000 | 0.8280 | 1.4240 | model_form_blend |
| predicted_HR | 0.0000 | 0.1670 | 0.0821 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3760 | 0.6763 | model_form_blend |
| predicted_WHIP | - | 0.9183 | 0.9183 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 7 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.71 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260630_TEX@CLE |
| game_type | full |
| mlbID | 656641 |
| playerID | 656641 |
| playerName | Jacob Latz |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-30 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.175 |
| sl_xwoba | 0.246 |
| sl_sweet_spot_percent | 23.0 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 39.0 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 51.2 |
| sl_avg_best_speed | 77.7833576 |
| sl_avg_hyper_speed | 93.759795152 |
| 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.194 | 0.000 | -0.194 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.355 | 1.000 | -0.355 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.968 | 2.000 | -0.968 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.042 | 1.000 | -0.042 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.871 | 1.000 | -0.871 | -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": 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 | 4.000 | 8.000 | 1.000 | 5.000 | 1.000 | 8.3077 | 2.0769 | 0.9231 | 1.8461 | 0.2308 | 1.1539 | 0.2308 |
| last_10 | 0.35 | 10 | 10.200 | 6.000 | 15.000 | 1.000 | 12.000 | 2.000 | 5.0625 | 1.5000 | 0.5625 | 1.4062 | 0.0938 | 1.1250 | 0.1875 |
| season | 0.20 | 31 | 35.100 | 11.000 | 30.000 | 6.000 | 27.000 | 2.000 | 2.8019 | 1.0189 | 0.3113 | 0.8491 | 0.1698 | 0.7641 | 0.0566 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2490 |
| predicted_ER | 0.6010 |
| predicted_ERA | 5.4076 |
| predicted_H | 1.2730 |
| predicted_HR | 0.1670 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0190 |
| predicted_WHIP | 1.5216 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2490 | 0.1180 | model_form_blend |
| predicted_ER | 0.0000 | 0.6010 | 0.2849 | model_form_blend |
| predicted_ERA | - | 5.4076 | 5.4076 | form_only |
| predicted_H | 0.0000 | 1.2730 | 0.6034 | model_form_blend |
| predicted_HR | 0.0000 | 0.1670 | 0.0792 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0190 | 0.4830 | model_form_blend |
| predicted_WHIP | - | 1.5216 | 1.5216 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.80 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260629_TEX@CLE |
| game_type | full |
| mlbID | 596001 |
| playerID | 596001 |
| playerName | Jakob Junis |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-29 |
| sl_k_percent | 18.9 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.258 |
| sl_xwoba | 0.303 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 34.6 |
| sl_whiff_percent | 19.3 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 76.031058333 |
| sl_avg_hyper_speed | 93.124571869 |
| 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.318 | 0.000 | 0.682 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.045 | 1.000 | -1.045 | -1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 1.232 | 1.000 | -1.132 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.500 | 1.000 | -0.500 | 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: 2.0000 -> 1.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "682608",
"player_name": "Peyton Gray",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 0.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.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 | 6.100 | 0.000 | 2.000 | 0.000 | 11.000 | 0.000 | 0.0000 | 0.3158 | 0.0000 | 0.3158 | 0.0000 | 1.7368 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 3.000 | 7.000 | 0.000 | 15.000 | 1.000 | 2.2500 | 0.5833 | 0.2500 | 0.5833 | 0.0000 | 1.2500 | 0.0833 |
| season | 0.20 | 22 | 29.200 | 10.000 | 23.000 | 7.000 | 33.000 | 3.000 | 3.0337 | 1.0112 | 0.3371 | 0.7753 | 0.2360 | 1.1124 | 0.1011 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1660 |
| predicted_ER | 0.2730 |
| predicted_ERA | 2.8115 |
| predicted_H | 0.6240 |
| predicted_HR | 0.0820 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0640 |
| predicted_WHIP | 0.9043 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1660 | 0.6198 | model_form_blend |
| predicted_ER | 0.0000 | 0.2730 | 0.1245 | model_form_blend |
| predicted_ERA | - | 2.8115 | 2.8115 | form_only |
| predicted_H | 0.0000 | 0.6240 | 0.2845 | model_form_blend |
| predicted_HR | 0.0000 | 0.0820 | 0.0374 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0640 | 1.5733 | model_form_blend |
| predicted_WHIP | - | 0.9043 | 0.9043 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 2 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.03 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260630_TEX@CLE |
| game_type | full |
| mlbID | 682608 |
| playerID | 682608 |
| playerName | Peyton Gray |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-30 |
| sl_k_percent | 26.6 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.252 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 35.4 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 77.20337775 |
| sl_avg_hyper_speed | 93.1709115 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | LAA 2 - 3 SEA | SEA | 0.640 | scoring_simulation.final_score | True |
| Simulation draw | LAA 3 - 4 SEA | SEA | - | reconciled_final_score | True |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 6.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6400 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | reconciled_final_score |
| 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 | 2.866 | 4.464 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 3 | 0.6400 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 2 | 3 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 2 | 3 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6082236618911177,
"base_low_score_probability": 0.419054441260745,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.18916922063037267,
"confidence": 0.8257096000000002,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.4514192000000004
},
"prediction": "low_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 6.7,
"low_score_model_expected_total_runs": 6.7,
"final_simulation_total_runs": 7,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 86,
"near_bucket_sample_size": 14,
"medium_bucket_sample_size": 21,
"wide_bucket_sample_size": 86,
"global_sample_size": 88,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.5349,
"bayesian_hit_rate": 0.5288,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8269,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6217,
"calibrated_pick_probability": 0.5594,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "SEA",
"games": 87,
"wins": 44,
"losses": 43,
"win_pct": 0.5057471264367817,
"runs_scored": 356,
"runs_allowed": 343,
"run_differential": 13,
"run_differential_per_game": 0.14942528735632185,
"available": true
},
"away": {
"team": "LAA",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.41379310344827586,
"runs_scored": 391,
"runs_allowed": 436,
"run_differential": -45,
"run_differential_per_game": -0.5172413793103449,
"available": true
},
"run_differential_edge_per_game": 0.6667,
"win_pct_edge": 0.092,
"quality_edge": 0.8046,
"margin_adjustment": 0.3379,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.596,
"home_runs": 3.027,
"home_win_probability": 0.6217
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "SEA",
"guardrail_predicted_team": "SEA",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "SEA",
"output_opponent_team": "LAA",
"final_score_winner": "SEA",
"pre_simulation_winner": "SEA",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "LAA 2 - 3 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 SEA",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.8046,
"winner": "SEA",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "SEA",
"games": 87,
"wins": 44,
"losses": 43,
"win_pct": 0.5057471264367817,
"runs_scored": 356,
"runs_allowed": 343,
"run_differential": 13,
"run_differential_per_game": 0.14942528735632185,
"available": true
},
"away": {
"team": "LAA",
"games": 87,
"wins": 36,
"losses": 51,
"win_pct": 0.41379310344827586,
"runs_scored": 391,
"runs_allowed": 436,
"run_differential": -45,
"run_differential_per_game": -0.5172413793103449,
"available": true
}
}
}{
"applied": false,
"raw_margin": 1.4312,
"final_margin": 1.4312,
"margin_cap": 2.0,
"season_quality_edge": 0.8046,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.559373,
"final_confidence": 0.559373,
"confidence_cap": 0.66,
"score_gap": 1.4312,
"calibration_sample_size": 86,
"calibration_empirical_hit_rate": 0.5349,
"calibration_bayesian_hit_rate": 0.5288,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.8046,
"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": 3,
"score_text": "LAA 2 - 3 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 SEA",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.8046,
"winner": "SEA",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 4,
"confidence": 0.64,
"home_win_probability": 0.64,
"away_win_probability": 0.36,
"predicted_score_text": "LAA 3 - 4 SEA",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "LAA",
"original_runs": 2,
"run_delta": -0.4186,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": -0.07501163000577964,
"contact": -0.22813876675907785,
"power": 0.05567643698818271,
"discipline": -0.32799123853199935,
"xwoba": 0.30771875000000004,
"recent_xwoba": 0.30771875000000004,
"barrel": 8.662500000000001,
"ab_hard_contact": -0.1724712602363458,
"ab_bat_speed": 70.86082954091549,
"ab_strikeout_rate": 0.24857903615104704,
"available_players": 8,
"top_players": [
{
"player_id": "666176",
"player_name": "Jo Adell",
"position": "RF",
"weight": 4.0,
"quality": 0.2649737059495749,
"contact": 0.3265595492176619,
"power": 0.46884706515263835,
"discipline": -0.8417619047619047,
"xwoba": 0.32,
"recent_xwoba": 0.32,
"barrel": 8.3,
"ab_hard_contact": 0.736560350671811,
"ab_bat_speed": 75.8700483276644,
"ab_strikeout_rate": 0.2571428571428572,
"available": 1.0
},
{
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"position": "C",
"weight": 3.0,
"quality": -0.3316445832685308,
"contact": -0.9785673876510249,
"power": -0.275117137603403,
"discipline": -0.44283261183261174,
"xwoba": 0.271,
"recent_xwoba": 0.271,
"barrel": 10.2,
"ab_hard_contact": -0.8623427520680635,
"ab_bat_speed": 69.93682239057239,
"ab_strikeout_rate": 0.25707070707070706,
"available": 1.0
},
{
"player_id": "694384",
"player_name": "Nolan Schanuel",
"position": "1B",
"weight": 4.0,
"quality": -0.07135056658804903,
"contact": 0.21657243959464578,
"power": -0.5871325075514436,
"discipline": 0.3903888888888889,
"xwoba": 0.32,
"recent_xwoba": 0.32,
"barrel": 2.3,
"ab_hard_contact": 0.22725461087589258,
"ab_bat_speed": 66.50161747685185,
"ab_strikeout_rate": 0.16527777777777777,
"available": 1.0
},
{
"player_id": "672724",
"player_name": "Oswald Peraza",
"position": "2B",
"weight": 3.0,
"quality": -0.2410158765754823,
"contact": -0.37778300254217256,
"power": -0.090917829466684,
"discipline": -1.0234917184265009,
"xwoba": 0.296,
"recent_xwoba": 0.296,
"barrel": 8.3,
"ab_hard_contact": -0.42673754171464,
"ab_bat_speed": 70.78316123188407,
"ab_strikeout_rate": 0.2760869565217391,
"available": 1.0
},
{
"player_id": "687263",
"player_name": "Zach Neto",
"position": "SS",
"weight": 4.0,
"quality": -0.057569243668781654,
"contact": -0.4689394273979848,
"power": 0.5716730628088342,
"discipline": -0.36483333333333334,
"xwoba": 0.313,
"recent_xwoba": 0.313,
"barrel": 13.4,
"ab_hard_contact": 0.054794589510022404,
"ab_bat_speed": 68.48744926303854,
"ab_strikeout_rate": 0.30178571428571427,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "682243",
"player_name": "Bryce Miller",
"quality": 0.25921787857261,
"contact": 1.3564230110356348,
"command": 1.002857142857143,
"movement": 0.7570503146001297,
"xwoba": 0.237,
"whiff": 29.3,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "SEA",
"original_runs": 3,
"run_delta": -0.0335,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.2410095834155689,
"contact": 0.19076341945954117,
"power": 0.33681831713639254,
"discipline": -0.06461239721692683,
"xwoba": 0.33103030303030306,
"recent_xwoba": 0.33103030303030306,
"barrel": 9.187878787878788,
"ab_hard_contact": 0.16807774243924936,
"ab_bat_speed": 71.4524169110111,
"ab_strikeout_rate": 0.236311531416061,
"available_players": 9,
"top_players": [
{
"player_id": "686527",
"player_name": "Dominic Canzone",
"position": "DH",
"weight": 3.0,
"quality": 0.7005405185533355,
"contact": 1.3432071849319471,
"power": 1.7787137900221683,
"discipline": -0.08069576719576724,
"xwoba": 0.386,
"recent_xwoba": 0.386,
"barrel": 16.0,
"ab_hard_contact": 0.3220853242528876,
"ab_bat_speed": 73.09844753086419,
"ab_strikeout_rate": 0.23814814814814816,
"available": 1.0
},
{
"player_id": "670042",
"player_name": "Luke Raley",
"position": "RF",
"weight": 3.0,
"quality": 0.47399471344995453,
"contact": 0.5014128910543971,
"power": 1.569098766667443,
"discipline": -1.3496020408163265,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 17.0,
"ab_hard_contact": 0.8193086666821644,
"ab_bat_speed": 73.79295027534823,
"ab_strikeout_rate": 0.3860544217687075,
"available": 1.0
},
{
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"weight": 4.0,
"quality": 0.6002109132785616,
"contact": 0.7020521370456498,
"power": 0.7347574296178685,
"discipline": -0.22299149659863943,
"xwoba": 0.35,
"recent_xwoba": 0.35,
"barrel": 9.1,
"ab_hard_contact": 0.6681009733097543,
"ab_bat_speed": 75.45754712301587,
"ab_strikeout_rate": 0.21594387755102043,
"available": 1.0
},
{
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"weight": 4.0,
"quality": 0.3392530072971278,
"contact": 0.5560494390986144,
"power": 0.3615562245087416,
"discipline": -0.07844047619047607,
"xwoba": 0.343,
"recent_xwoba": 0.343,
"barrel": 7.8,
"ab_hard_contact": 0.01969591874626319,
"ab_bat_speed": 69.1499007936508,
"ab_strikeout_rate": 0.24910714285714283,
"available": 1.0
},
{
"player_id": "806068",
"player_name": "Colt Emerson",
"position": "SS",
"weight": 3.0,
"quality": -0.1609981867971053,
"contact": -1.4764089494595873,
"power": -0.7919070109134365,
"discipline": -0.5587063492063491,
"xwoba": 0.253,
"recent_xwoba": 0.253,
"barrel": 6.6,
"ab_hard_contact": -0.6267116468401575,
"ab_bat_speed": 70.67972222222221,
"ab_strikeout_rate": 0.19444444444444445,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "700712",
"player_name": "Walbert Urena",
"quality": 0.25766371711005265,
"contact": 0.579889983066429,
"command": -0.030000000000000096,
"movement": 0.8640783389047744,
"xwoba": 0.283,
"whiff": 27.8,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 2,
"home_runs": 3,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 2,
"home_runs": 3,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 0.8046,
"recent_form_edge_home_minus_away": 0.012,
"pitcher_matchup_edge_home_minus_away": 0.0709,
"composite_home_edge": 0.7815,
"existing_home_win_probability": 0.5594,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.7815
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 3,
"predicted_score_text": "LAA 2 - 3 SEA",
"confidence": 0.64,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 3,
"score_text": "LAA 2 - 3 SEA",
"winner": "SEA"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "LAA 3 - 4 SEA",
"winner": "SEA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.8046,
"winner": "SEA",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "SEA",
"display_confidence": 0.64,
"internal_fair_probability": 0.5697,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.0457,
"moneyline_fit": "press",
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.8046,
"winner_recent_form_edge": 0.012,
"winner_pitcher_matchup_edge": 0.0709,
"winner_simulation_draw_rate": 0.4375,
"blowout_draw_rate_margin_4_plus": 0.1875,
"high_total_draw_rate_11_plus": 0.125,
"low_total_draw_rate_6_or_less": 0.5,
"total_runs_spread": {
"min": 1,
"median": 7,
"max": 13,
"range": 12
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}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.0051 | 1.0051 | 1 | 9 | 0 |
| Home SEA | True | 1.0349 | 1.0349 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Denzer Guzman | 325 | 1.0117 | 0.1565 | neutral | 0.3220 | 0.2580 | 0.4210 | 9.10 | 41.80 | 88.90 | 10.90 | 23.60 | 20.80 | 7.80 | -0.3429 |
| DH | Jorge Soler | 285 | 1.0099 | 0.1314 | neutral | 0.3100 | 0.2180 | 0.3870 | 11 | 41.30 | 88.10 | 14.80 | 36.30 | 31.30 | 10.30 | -0.1714 |
| SS | Zach Neto | 58 | 1.0127 | 0.1691 | neutral | 0.3130 | 0.2010 | 0.4110 | 13.40 | 39.20 | 89.80 | 22.30 | 32.50 | 32.20 | 10.60 | -0.7143 |
| LF | Wade Meckler | 187 | 1.0013 | 0.0177 | neutral | 0.3210 | 0.2520 | 0.3860 | 6.30 | 30 | 86.10 | 7.70 | 23.70 | 21.80 | 10.90 | -0.8286 |
| 1B | Nolan Schanuel | 127 | 1.0057 | 0.0761 | neutral | 0.3200 | 0.2730 | 0.3730 | 2.30 | 32.90 | 87.30 | 11.60 | 18.10 | 14.70 | 8 | 0 |
| RF | Jo Adell | 330 | 1.0377 | 0.5022 | neutral | 0.3200 | 0.2580 | 0.4320 | 8.30 | 44.40 | 90.20 | 17.60 | 26.40 | 22.70 | 2.80 | 0.5714 |
| 2B | Oswald Peraza | 71 | 0.9950 | -0.0661 | neutral | 0.2960 | 0.2460 | 0.3840 | 8.30 | 37.60 | 87.40 | 9.40 | 30.10 | 27.50 | 3.50 | -0.4000 |
| CF | Josh Lowe | 566 | 0.9926 | -0.0985 | neutral | 0.2810 | 0.2190 | 0.3890 | 8.80 | 37.30 | 89.70 | 18.40 | 28.70 | 28.10 | 4.60 | 0.2000 |
| C | Logan O'Hoppe | 321 | 0.9789 | -0.2807 | neutral | 0.2710 | 0.1980 | 0.3380 | 10.20 | 37.20 | 86.50 | 18.40 | 27.70 | 24.90 | 6.80 | -0.3714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Dominic Canzone | 95 | 1.0716 | 0.9550 | neutral | 0.3860 | 0.2880 | 0.5430 | 16 | 50 | 93.40 | 12 | 29 | 21 | 9.10 | 0.0571 |
| 3B | J.P. Crawford | 269 | 1.0285 | 0.3802 | neutral | 0.3320 | 0.2430 | 0.3850 | 7.40 | 36.30 | 88 | 12.40 | 17.30 | 20.20 | 13 | 0.6000 |
| LF | Randy Arozarena | 36 | 1.0439 | 0.5857 | neutral | 0.3430 | 0.2600 | 0.4160 | 7.80 | 43.60 | 91.50 | 7.90 | 27.20 | 22.40 | 9 | -0.4571 |
| C | Cal Raleigh | 430 | 0.9928 | -0.0966 | positive_batter_regression | 0.2920 | 0.1800 | 0.3660 | 11.20 | 31.30 | 87.70 | 24 | 31.20 | 31.40 | 12.60 | 0.8857 |
| CF | Julio Rodríguez | 43 | 1.0712 | 0.9495 | neutral | 0.3500 | 0.2740 | 0.4740 | 9.10 | 44.40 | 90.20 | 12.50 | 27.60 | 21 | 7.40 | 0.6571 |
| 1B | Josh Naylor | 355 | 1.0341 | 0.4542 | neutral | 0.3280 | 0.2770 | 0.4110 | 5.20 | 37.60 | 87.70 | 13.70 | 18.40 | 13 | 7.80 | 0.6286 |
| 2B | Cole Young | 32 | 1.0455 | 0.6066 | neutral | 0.3390 | 0.2820 | 0.4300 | 5.40 | 38.40 | 88.20 | 15 | 20.10 | 17.20 | 6.60 | 0.6286 |
| SS | Colt Emerson | 188 | 0.9619 | -0.5079 | negative_batter_regression | 0.2530 | 0.1810 | 0.2960 | 6.60 | 30.30 | 87 | 16.30 | 32.60 | 32.60 | 8.30 | -2 |
| RF | Luke Raley | 260 | 1.0645 | 0.8600 | neutral | 0.3570 | 0.2580 | 0.5150 | 17 | 48.10 | 90.90 | 16.20 | 40.90 | 32.20 | 5.70 | 0.5143 |
{
"home": {
"applied": true,
"offense_factor": 1.0349,
"raw_average_factor": 1.0349,
"team_espn_average_rank": 189.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "686527",
"player_name": "Dominic Canzone",
"offense_factor": 1.0716,
"quality_score": 0.955,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686527",
"espn_id": 4345621,
"player_name": "Dominic Canzone",
"team": "SEA",
"role": "batter",
"espn_rank": 95,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 95,
"gp_value": 75.0,
"gp_rank": 134,
"ab_value": 194.0,
"ab_rank": 210,
"r_value": 30.0,
"r_rank": 160,
"h_value": 53.0,
"h_rank": 173,
"avg_value": 0.2731958,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": 101,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 34.0,
"rbi_rank": 110,
"tb_value": 107.0,
"tb_rank": 629,
"bb_value": 20.0,
"bb_rank": 178,
"so_value": 46.0,
"so_rank": 197,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3470319,
"obp_rank": "-",
"slg_value": 0.5515463,
"slg_rank": "-",
"ops_value": 0.8985782,
"ops_rank": null,
"war_value": 1.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 124.0,
"k_percent": 21.0,
"bb_percent": 9.1,
"woba": 0.384,
"xwoba": 0.386,
"xba": 0.288,
"xslg": 0.543,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 16.0,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 93.4,
"launch_angle_avg": 12.0,
"whiff_percent": 29.0,
"swing_percent": 47.3
},
"components": {
"expected_quality": 1.9609,
"regression_edge": 0.0571,
"xwoba_edge": 2.3714,
"xba_edge": 1.4,
"xslg_edge": 2.4571,
"barrel_edge": 2.0222,
"hard_hit_edge": 1.7,
"exit_velocity_edge": 1.84,
"sweet_spot_edge": 1.0167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "641487",
"player_name": "J.P. Crawford",
"offense_factor": 1.0285,
"quality_score": 0.3802,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641487",
"espn_id": 33210,
"player_name": "J.P. Crawford",
"team": "SEA",
"role": "batter",
"espn_rank": 269,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 269,
"gp_value": 69.0,
"gp_rank": 172,
"ab_value": 248.0,
"ab_rank": 136,
"r_value": 33.0,
"r_rank": 134,
"h_value": 53.0,
"h_rank": 173,
"avg_value": 0.2137096,
"avg_rank": 147.0,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 10.0,
"hr_rank": 94,
"rbi_value": 25.0,
"rbi_rank": 194,
"tb_value": 88.0,
"tb_rank": 1182,
"bb_value": 38.0,
"bb_rank": 41,
"so_value": 59.0,
"so_rank": 128,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3287671,
"obp_rank": "81",
"slg_value": 0.3548387,
"slg_rank": "135",
"ops_value": 0.6836058,
"ops_rank": 54.0,
"war_value": 0.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 202.0,
"k_percent": 20.2,
"bb_percent": 13.0,
"woba": 0.311,
"xwoba": 0.332,
"xba": 0.243,
"xslg": 0.385,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 36.3,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 12.4,
"whiff_percent": 17.3,
"swing_percent": 39.0
},
"components": {
"expected_quality": 0.3839,
"regression_edge": 0.6,
"xwoba_edge": 0.8286,
"xba_edge": 0.1143,
"xslg_edge": 0.2,
"barrel_edge": 0.1111,
"hard_hit_edge": -0.2571,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "668227",
"player_name": "Randy Arozarena",
"offense_factor": 1.0439,
"quality_score": 0.5857,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668227",
"espn_id": 36488,
"player_name": "Randy Arozarena",
"team": "SEA",
"role": "batter",
"espn_rank": 36,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 36,
"gp_value": 79.0,
"gp_rank": 109,
"ab_value": 290.0,
"ab_rank": 91,
"r_value": 51.0,
"r_rank": 29,
"h_value": 82.0,
"h_rank": 48,
"avg_value": 0.2827586,
"avg_rank": 26.0,
"2b_value": 20.0,
"2b_rank": 9,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 37.0,
"rbi_rank": 91,
"tb_value": 128.0,
"tb_rank": 604,
"bb_value": 30.0,
"bb_rank": 79,
"so_value": 75.0,
"so_rank": 67,
"sb_value": 19.0,
"sb_rank": 7,
"obp_value": 0.3701492,
"obp_rank": "24",
"slg_value": 0.4413793,
"slg_rank": "67",
"ops_value": 0.8115285,
"ops_rank": 91.0,
"war_value": 2.61,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 22.4,
"bb_percent": 9.0,
"woba": 0.359,
"xwoba": 0.343,
"xba": 0.26,
"xslg": 0.416,
"sweet_spot_percent": 37.2,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 7.9,
"whiff_percent": 27.2,
"swing_percent": 47.8
},
"components": {
"expected_quality": 0.7555,
"regression_edge": -0.4571,
"xwoba_edge": 1.1429,
"xba_edge": 0.6,
"xslg_edge": 0.6429,
"barrel_edge": 0.2,
"hard_hit_edge": 0.7857,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "663728",
"player_name": "Cal Raleigh",
"offense_factor": 0.9928,
"quality_score": -0.0966,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663728",
"espn_id": 41292,
"player_name": "Cal Raleigh",
"team": "SEA",
"role": "batter",
"espn_rank": 430,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 430,
"gp_value": 55.0,
"gp_rank": 253,
"ab_value": 207.0,
"ab_rank": 184,
"r_value": 21.0,
"r_rank": 233,
"h_value": 34.0,
"h_rank": 272,
"avg_value": 0.1642512,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 23.0,
"rbi_rank": 208,
"tb_value": 63.0,
"tb_rank": 1368,
"bb_value": 30.0,
"bb_rank": 79,
"so_value": 75.0,
"so_rank": 67,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.2677824,
"obp_rank": "-",
"slg_value": 0.3043478,
"slg_rank": "-",
"ops_value": 0.5721302,
"ops_rank": null,
"war_value": -0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 181.0,
"k_percent": 31.4,
"bb_percent": 12.6,
"woba": 0.261,
"xwoba": 0.292,
"xba": 0.18,
"xslg": 0.366,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 31.3,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 24.0,
"whiff_percent": 31.2,
"swing_percent": 51.4
},
"components": {
"expected_quality": -0.2808,
"regression_edge": 0.8857,
"xwoba_edge": -0.3143,
"xba_edge": -1.6857,
"xslg_edge": -0.0714,
"barrel_edge": 0.9556,
"hard_hit_edge": -0.9714,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"offense_factor": 1.0712,
"quality_score": 0.9495,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677594",
"espn_id": 41044,
"player_name": "Julio Rodriguez",
"team": "SEA",
"role": "batter",
"espn_rank": 43,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 43,
"gp_value": 86.0,
"gp_rank": 14,
"ab_value": 344.0,
"ab_rank": 4,
"r_value": 46.0,
"r_rank": 46,
"h_value": 89.0,
"h_rank": 20,
"avg_value": 0.2587209,
"avg_rank": 70.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 40.0,
"rbi_rank": 72,
"tb_value": 146.0,
"tb_rank": 637,
"bb_value": 28.0,
"bb_rank": 97,
"so_value": 79.0,
"so_rank": 53,
"sb_value": 12.0,
"sb_rank": 30,
"obp_value": 0.3209549,
"obp_rank": "98",
"slg_value": 0.4244186,
"slg_rank": "83",
"ops_value": 0.7453735,
"ops_rank": 181.0,
"war_value": 2.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 244.0,
"k_percent": 21.0,
"bb_percent": 7.4,
"woba": 0.327,
"xwoba": 0.35,
"xba": 0.274,
"xslg": 0.474,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 12.5,
"whiff_percent": 27.6,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.9971,
"regression_edge": 0.6571,
"xwoba_edge": 1.3429,
"xba_edge": 1.0,
"xslg_edge": 1.4714,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.0167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "647304",
"player_name": "Josh Naylor",
"offense_factor": 1.0341,
"quality_score": 0.4542,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "647304",
"espn_id": 35066,
"player_name": "Josh Naylor",
"team": "SEA",
"role": "batter",
"espn_rank": 355,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 355,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 315.0,
"ab_rank": 39,
"r_value": 32.0,
"r_rank": 141,
"h_value": 81.0,
"h_rank": 54,
"avg_value": 0.2571428,
"avg_rank": 76.0,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 34.0,
"rbi_rank": 110,
"tb_value": 116.0,
"tb_rank": 991,
"bb_value": 27.0,
"bb_rank": 109,
"so_value": 45.0,
"so_rank": 203,
"sb_value": 15.0,
"sb_rank": 19,
"obp_value": 0.3208092,
"obp_rank": "98",
"slg_value": 0.3682539,
"slg_rank": "130",
"ops_value": 0.6890631,
"ops_rank": 228.0,
"war_value": 0.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 13.0,
"bb_percent": 7.8,
"woba": 0.306,
"xwoba": 0.328,
"xba": 0.277,
"xslg": 0.411,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 13.7,
"whiff_percent": 18.4,
"swing_percent": 52.5
},
"components": {
"expected_quality": 0.4258,
"regression_edge": 0.6286,
"xwoba_edge": 0.7143,
"xba_edge": 1.0857,
"xslg_edge": 0.5714,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "702284",
"player_name": "Cole Young",
"offense_factor": 1.0455,
"quality_score": 0.6066,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702284",
"espn_id": 5080641,
"player_name": "Cole Young",
"team": "SEA",
"role": "batter",
"espn_rank": 32,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 32,
"gp_value": 87.0,
"gp_rank": 3,
"ab_value": 314.0,
"ab_rank": 41,
"r_value": 39.0,
"r_rank": 91,
"h_value": 82.0,
"h_rank": 48,
"avg_value": 0.2611464,
"avg_rank": 68.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 9.0,
"hr_rank": 112,
"rbi_value": 41.0,
"rbi_rank": 66,
"tb_value": 123.0,
"tb_rank": 680,
"bb_value": 23.0,
"bb_rank": 145,
"so_value": 60.0,
"so_rank": 120,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3227665,
"obp_rank": "92",
"slg_value": 0.3917197,
"slg_rank": "111",
"ops_value": 0.7144862,
"ops_rank": 203.0,
"war_value": 2.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 220.0,
"k_percent": 17.2,
"bb_percent": 6.6,
"woba": 0.317,
"xwoba": 0.339,
"xba": 0.282,
"xslg": 0.43,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 38.4,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 15.0,
"whiff_percent": 20.1,
"swing_percent": 48.0
},
"components": {
"expected_quality": 0.603,
"regression_edge": 0.6286,
"xwoba_edge": 1.0286,
"xba_edge": 1.2286,
"xslg_edge": 0.8429,
"barrel_edge": -0.3333,
"hard_hit_edge": 0.0429,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "806068",
"player_name": "Colt Emerson",
"offense_factor": 0.9619,
"quality_score": -0.5079,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "806068",
"espn_id": 5149068,
"player_name": "Colt Emerson",
"team": "SEA",
"role": "batter",
"espn_rank": 188,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 188,
"gp_value": 37.0,
"gp_rank": 348,
"ab_value": 119.0,
"ab_rank": 314,
"r_value": 15.0,
"r_rank": 310,
"h_value": 26.0,
"h_rank": 322,
"avg_value": 0.2184873,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 19.0,
"rbi_rank": 251,
"tb_value": 54.0,
"tb_rank": 1243,
"bb_value": 11.0,
"bb_rank": 293,
"so_value": 43.0,
"so_rank": 221,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.2954545,
"obp_rank": "-",
"slg_value": 0.4537815,
"slg_rank": "-",
"ops_value": 0.749236,
"ops_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 32.0,
"k_percent": 32.6,
"bb_percent": 8.3,
"woba": 0.326,
"xwoba": 0.253,
"xba": 0.181,
"xslg": 0.296,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 30.3,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 16.3,
"whiff_percent": 32.6,
"swing_percent": 50.0
},
"components": {
"expected_quality": -0.9869,
"regression_edge": -2.0,
"xwoba_edge": -1.4286,
"xba_edge": -1.6571,
"xslg_edge": -1.0714,
"barrel_edge": -0.0667,
"hard_hit_edge": -1.1143,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "670042",
"player_name": "Luke Raley",
"offense_factor": 1.0645,
"quality_score": 0.86,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670042",
"espn_id": 40422,
"player_name": "Luke Raley",
"team": "SEA",
"role": "batter",
"espn_rank": 260,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 260,
"gp_value": 73.0,
"gp_rank": 151,
"ab_value": 206.0,
"ab_rank": 185,
"r_value": 25.0,
"r_rank": 199,
"h_value": 49.0,
"h_rank": 197,
"avg_value": 0.237864,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 35.0,
"rbi_rank": 105,
"tb_value": 100.0,
"tb_rank": 736,
"bb_value": 13.0,
"bb_rank": 263,
"so_value": 73.0,
"so_rank": 74,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3022222,
"obp_rank": "-",
"slg_value": 0.4854368,
"slg_rank": "-",
"ops_value": 0.787659,
"ops_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 32.2,
"bb_percent": 5.7,
"woba": 0.339,
"xwoba": 0.357,
"xba": 0.258,
"xslg": 0.515,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 17.0,
"hard_hit_percent": 48.1,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 16.2,
"whiff_percent": 40.9,
"swing_percent": 53.6
},
"components": {
"expected_quality": 1.383,
"regression_edge": 0.5143,
"xwoba_edge": 1.5429,
"xba_edge": 0.5429,
"xslg_edge": 2.0571,
"barrel_edge": 2.2444,
"hard_hit_edge": 1.4286,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0051,
"raw_average_factor": 1.0051,
"team_espn_average_rank": 252.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "694203",
"player_name": "Denzer Guzman",
"offense_factor": 1.0117,
"quality_score": 0.1565,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694203",
"espn_id": 4917822,
"player_name": "Denzer Guzman",
"team": "LAA",
"role": "batter",
"espn_rank": 325,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 325,
"gp_value": 18.0,
"gp_rank": 451,
"ab_value": 71.0,
"ab_rank": 400,
"r_value": 7.0,
"r_rank": 410,
"h_value": 19.0,
"h_rank": 367,
"avg_value": 0.2676056,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 375,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 13.0,
"rbi_rank": 312,
"tb_value": 31.0,
"tb_rank": 1983,
"bb_value": 6.0,
"bb_rank": 385,
"so_value": 16.0,
"so_rank": 422,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3246753,
"obp_rank": "-",
"slg_value": 0.4366197,
"slg_rank": "-",
"ops_value": 0.761295,
"ops_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 20.8,
"bb_percent": 7.8,
"woba": 0.334,
"xwoba": 0.322,
"xba": 0.258,
"xslg": 0.421,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 41.8,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 10.9,
"whiff_percent": 23.6,
"swing_percent": 53.4
},
"components": {
"expected_quality": 0.4601,
"regression_edge": -0.3429,
"xwoba_edge": 0.5429,
"xba_edge": 0.5429,
"xslg_edge": 0.7143,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.5286,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "624585",
"player_name": "Jorge Soler",
"offense_factor": 1.0099,
"quality_score": 0.1314,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624585",
"espn_id": 32558,
"player_name": "Jorge Soler",
"team": "LAA",
"role": "batter",
"espn_rank": 285,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 285,
"gp_value": 65.0,
"gp_rank": 196,
"ab_value": 236.0,
"ab_rank": 154,
"r_value": 31.0,
"r_rank": 148,
"h_value": 52.0,
"h_rank": 179,
"avg_value": 0.2203389,
"avg_rank": 145.0,
"2b_value": 10.0,
"2b_rank": 165,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 11.0,
"hr_rank": 82,
"rbi_value": 37.0,
"rbi_rank": 91,
"tb_value": 97.0,
"tb_rank": 768,
"bb_value": 28.0,
"bb_rank": 97,
"so_value": 85.0,
"so_rank": 32,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3088235,
"obp_rank": "120",
"slg_value": 0.4110169,
"slg_rank": "97",
"ops_value": 0.7198404,
"ops_rank": 217.0,
"war_value": 0.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 31.3,
"bb_percent": 10.3,
"woba": 0.316,
"xwoba": 0.31,
"xba": 0.218,
"xslg": 0.387,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 41.3,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 14.8,
"whiff_percent": 36.3,
"swing_percent": 46.4
},
"components": {
"expected_quality": 0.185,
"regression_edge": -0.1714,
"xwoba_edge": 0.2,
"xba_edge": -0.6,
"xslg_edge": 0.2286,
"barrel_edge": 0.9111,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "687263",
"player_name": "Zach Neto",
"offense_factor": 1.0127,
"quality_score": 0.1691,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687263",
"espn_id": 4666100,
"player_name": "Zach Neto",
"team": "LAA",
"role": "batter",
"espn_rank": 58,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 58,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 331.0,
"ab_rank": 12,
"r_value": 59.0,
"r_rank": 5,
"h_value": 75.0,
"h_rank": 75,
"avg_value": 0.2265861,
"avg_rank": 135.0,
"2b_value": 17.0,
"2b_rank": 32,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 18.0,
"hr_rank": 21,
"rbi_value": 42.0,
"rbi_rank": 63,
"tb_value": 150.0,
"tb_rank": 222,
"bb_value": 40.0,
"bb_rank": 34,
"so_value": 122.0,
"so_rank": 3,
"sb_value": 11.0,
"sb_rank": 37,
"obp_value": 0.3218997,
"obp_rank": "94",
"slg_value": 0.4531722,
"slg_rank": "60",
"ops_value": 0.7750719,
"ops_rank": 34.0,
"war_value": 2.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 253.0,
"k_percent": 32.2,
"bb_percent": 10.6,
"woba": 0.338,
"xwoba": 0.313,
"xba": 0.201,
"xslg": 0.411,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 13.4,
"hard_hit_percent": 39.2,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 22.3,
"whiff_percent": 32.5,
"swing_percent": 50.6
},
"components": {
"expected_quality": 0.3129,
"regression_edge": -0.7143,
"xwoba_edge": 0.2857,
"xba_edge": -1.0857,
"xslg_edge": 0.5714,
"barrel_edge": 1.4444,
"hard_hit_edge": 0.1571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "685133",
"player_name": "Wade Meckler",
"offense_factor": 1.0013,
"quality_score": 0.0177,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "685133",
"espn_id": 4424090,
"player_name": "Wade Meckler",
"team": "LAA",
"role": "batter",
"espn_rank": 187,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 187,
"gp_value": 35.0,
"gp_rank": 359,
"ab_value": 106.0,
"ab_rank": 339,
"r_value": 16.0,
"r_rank": 297,
"h_value": 31.0,
"h_rank": 287,
"avg_value": 0.2924528,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 15.0,
"rbi_rank": 288,
"tb_value": 44.0,
"tb_rank": 1967,
"bb_value": 13.0,
"bb_rank": 263,
"so_value": 26.0,
"so_rank": 332,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3697478,
"obp_rank": "-",
"slg_value": 0.4150943,
"slg_rank": "-",
"ops_value": 0.7848421,
"ops_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 17.0,
"k_percent": 21.8,
"bb_percent": 10.9,
"woba": 0.35,
"xwoba": 0.321,
"xba": 0.252,
"xslg": 0.386,
"sweet_spot_percent": 42.5,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 30.0,
"exit_velocity_avg": 86.1,
"launch_angle_avg": 7.7,
"whiff_percent": 23.7,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.1805,
"regression_edge": -0.8286,
"xwoba_edge": 0.5143,
"xba_edge": 0.3714,
"xslg_edge": 0.2143,
"barrel_edge": -0.1333,
"hard_hit_edge": -1.1571,
"exit_velocity_edge": -1.08,
"sweet_spot_edge": 1.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "694384",
"player_name": "Nolan Schanuel",
"offense_factor": 1.0057,
"quality_score": 0.0761,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694384",
"espn_id": 4739755,
"player_name": "Nolan Schanuel",
"team": "LAA",
"role": "batter",
"espn_rank": 127,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 127,
"gp_value": 69.0,
"gp_rank": 172,
"ab_value": 256.0,
"ab_rank": 126,
"r_value": 29.0,
"r_rank": 167,
"h_value": 67.0,
"h_rank": 106,
"avg_value": 0.2617187,
"avg_rank": 66.0,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 31.0,
"rbi_rank": 142,
"tb_value": 99.0,
"tb_rank": 1164,
"bb_value": 23.0,
"bb_rank": 145,
"so_value": 42.0,
"so_rank": 226,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3321678,
"obp_rank": "76",
"slg_value": 0.3867187,
"slg_rank": "114",
"ops_value": 0.7188865,
"ops_rank": 38.0,
"war_value": 1.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 200.0,
"k_percent": 14.7,
"bb_percent": 8.0,
"woba": 0.32,
"xwoba": 0.32,
"xba": 0.273,
"xslg": 0.373,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 32.9,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 11.6,
"whiff_percent": 18.1,
"swing_percent": 45.6
},
"components": {
"expected_quality": 0.0973,
"regression_edge": 0.0,
"xwoba_edge": 0.4857,
"xba_edge": 0.9714,
"xslg_edge": 0.0286,
"barrel_edge": -1.0222,
"hard_hit_edge": -0.7429,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "666176",
"player_name": "Jo Adell",
"offense_factor": 1.0377,
"quality_score": 0.5022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666176",
"espn_id": 40854,
"player_name": "Jo Adell",
"team": "LAA",
"role": "batter",
"espn_rank": 330,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 330,
"gp_value": 86.0,
"gp_rank": 14,
"ab_value": 338.0,
"ab_rank": 7,
"r_value": 39.0,
"r_rank": 91,
"h_value": 83.0,
"h_rank": 42,
"avg_value": 0.2455621,
"avg_rank": 96.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 11.0,
"hr_rank": 82,
"rbi_value": 45.0,
"rbi_rank": 48,
"tb_value": 133.0,
"tb_rank": 529,
"bb_value": 10.0,
"bb_rank": 307,
"so_value": 82.0,
"so_rank": 47,
"sb_value": 3.0,
"sb_rank": 169,
"obp_value": 0.2900552,
"obp_rank": "147",
"slg_value": 0.3934911,
"slg_rank": "110",
"ops_value": 0.6835463,
"ops_rank": 257.0,
"war_value": 0.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 228.0,
"k_percent": 22.7,
"bb_percent": 2.8,
"woba": 0.3,
"xwoba": 0.32,
"xba": 0.258,
"xslg": 0.432,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 17.6,
"whiff_percent": 26.4,
"swing_percent": 55.8
},
"components": {
"expected_quality": 0.491,
"regression_edge": 0.5714,
"xwoba_edge": 0.4857,
"xba_edge": 0.5429,
"xslg_edge": 0.8714,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "672724",
"player_name": "Oswald Peraza",
"offense_factor": 0.995,
"quality_score": -0.0661,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672724",
"espn_id": 42479,
"player_name": "Oswald Peraza",
"team": "LAA",
"role": "batter",
"espn_rank": 71,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 71,
"gp_value": 76.0,
"gp_rank": 130,
"ab_value": 239.0,
"ab_rank": 148,
"r_value": 24.0,
"r_rank": 206,
"h_value": 61.0,
"h_rank": 133,
"avg_value": 0.2552301,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 22.0,
"rbi_rank": 225,
"tb_value": 97.0,
"tb_rank": 769,
"bb_value": 9.0,
"bb_rank": 334,
"so_value": 70.0,
"so_rank": 85,
"sb_value": 9.0,
"sb_rank": 55,
"obp_value": 0.2992125,
"obp_rank": "-",
"slg_value": 0.4058577,
"slg_rank": "-",
"ops_value": 0.7050702,
"ops_rank": null,
"war_value": 1.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 152.0,
"k_percent": 27.5,
"bb_percent": 3.5,
"woba": 0.31,
"xwoba": 0.296,
"xba": 0.246,
"xslg": 0.384,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 9.4,
"whiff_percent": 30.1,
"swing_percent": 55.6
},
"components": {
"expected_quality": -0.0461,
"regression_edge": -0.4,
"xwoba_edge": -0.2,
"xba_edge": 0.2,
"xslg_edge": 0.1857,
"barrel_edge": 0.3111,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.45,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "666139",
"player_name": "Josh Lowe",
"offense_factor": 0.9926,
"quality_score": -0.0985,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666139",
"espn_id": 40557,
"player_name": "Josh Lowe",
"team": "LAA",
"role": "batter",
"espn_rank": 566,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 566,
"gp_value": 51.0,
"gp_rank": 275,
"ab_value": 143.0,
"ab_rank": 279,
"r_value": 11.0,
"r_rank": 354,
"h_value": 31.0,
"h_rank": 287,
"avg_value": 0.2167832,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 18.0,
"rbi_rank": 263,
"tb_value": 53.0,
"tb_rank": 1593,
"bb_value": 7.0,
"bb_rank": 370,
"so_value": 43.0,
"so_rank": 221,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.2565789,
"obp_rank": "-",
"slg_value": 0.3706293,
"slg_rank": "-",
"ops_value": 0.6272082,
"ops_rank": null,
"war_value": -0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 129.0,
"k_percent": 28.1,
"bb_percent": 4.6,
"woba": 0.274,
"xwoba": 0.281,
"xba": 0.219,
"xslg": 0.389,
"sweet_spot_percent": 29.4,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 37.3,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 18.4,
"whiff_percent": 28.7,
"swing_percent": 56.8
},
"components": {
"expected_quality": -0.228,
"regression_edge": 0.2,
"xwoba_edge": -0.6286,
"xba_edge": -0.5714,
"xslg_edge": 0.2571,
"barrel_edge": 0.4222,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"offense_factor": 0.9789,
"quality_score": -0.2807,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681351",
"espn_id": 42047,
"player_name": "Logan O'Hoppe",
"team": "LAA",
"role": "batter",
"espn_rank": 321,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 321,
"gp_value": 60.0,
"gp_rank": 221,
"ab_value": 186.0,
"ab_rank": 223,
"r_value": 20.0,
"r_rank": 245,
"h_value": 43.0,
"h_rank": 219,
"avg_value": 0.2311827,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 4.0,
"hr_rank": 238,
"rbi_value": 23.0,
"rbi_rank": 208,
"tb_value": 63.0,
"tb_rank": 1571,
"bb_value": 14.0,
"bb_rank": 245,
"so_value": 51.0,
"so_rank": 169,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2941176,
"obp_rank": "-",
"slg_value": 0.3387096,
"slg_rank": "-",
"ops_value": 0.6328272,
"ops_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 24.9,
"bb_percent": 6.8,
"woba": 0.284,
"xwoba": 0.271,
"xba": 0.198,
"xslg": 0.338,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 37.2,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 18.4,
"whiff_percent": 27.7,
"swing_percent": 51.0
},
"components": {
"expected_quality": -0.5431,
"regression_edge": -0.3714,
"xwoba_edge": -0.9143,
"xba_edge": -1.1714,
"xslg_edge": -0.4714,
"barrel_edge": 0.7333,
"hard_hit_edge": -0.1286,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -0.6667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAA | True | 102 | 0.2775 | 0.6680 | 0.9764 | 1.0067 | 1.0361 | 0.9477 | neutral | 0.2830 | 0.2940 | 22 | 11.80 | 27.80 | 5.90 | 33.70 | |
| Home SEA | True | 43 | 0.5110 | 0.4500 | 0.9566 | 1.0369 | 0.9460 | 0.9473 | neutral | 0.2370 | 0.2340 | 33.10 | 3.10 | 29.30 | 7.80 | 27.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAA | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home SEA | True | None | 83 | 91.35 | 2257 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0893 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9805 |
| home_runs_vs_away_pitcher | 0.9842 |
| home_pitcher_quality_edge | 0.2335 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "682243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 60.0,
"k_percent": 33.1,
"bb_percent": 3.1,
"woba": 0.234,
"xwoba": 0.237,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 27.9,
"avg_best_speed": 75.1803,
"avg_hyper_speed": 92.5114,
"whiff_percent": 29.3,
"swing_percent": 57.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.488,
"command_and_miss": 1.1682,
"regression_edge": -0.0857,
"xwoba_edge": 2.1571,
"barrel_edge": -0.0889,
"hard_hit_edge": 1.4857,
"whiff_edge": 0.5429,
"bb_edge": 1.5,
"pitch_design_score": 0.0893
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682243",
"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": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3537,
"release_spin_rate": 2256.5659,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0893,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6381,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.511,
"sample_weight": 0.45,
"run_prevention_factor": 0.9566,
"strikeout_factor": 1.0369,
"walk_factor": 0.946,
"homer_factor": 0.9473,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682243",
"espn_id": 4654313,
"player_name": "Bryce Miller",
"team": "SEA",
"role": "pitcher",
"espn_rank": 43,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 43,
"gp_value": 8.0,
"gp_rank": 445,
"gs_value": 7.0,
"gs_rank": 152,
"qs_value": 2.0,
"qs_rank": 123,
"era_value": 1.9708,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 45.2,
"ip_rank": 166,
"h_value": 28.0,
"h_rank": 277,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 7.0,
"hr_rank": 139,
"bb_value": 5.0,
"bb_rank": 506,
"k_value": 54.0,
"k_rank": 131,
"k_per_9_value": 10.642335,
"k_per_9_rank": 21,
"whip_value": 0.7226,
"whip_rank": null,
"war_value": 1.86,
"war_rank": null
},
"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.0,
"bb_percent": 11.8,
"woba": 0.294,
"xwoba": 0.283,
"sweet_spot_percent": 25.2,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 33.7,
"avg_best_speed": 75.1476,
"avg_hyper_speed": 93.5115,
"whiff_percent": 27.8,
"swing_percent": 44.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.7115,
"command_and_miss": -0.0554,
"regression_edge": 0.3143,
"xwoba_edge": 0.8429,
"barrel_edge": 0.3333,
"hard_hit_edge": 0.6571,
"whiff_edge": 0.3286,
"bb_edge": -0.675,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "700712",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2775,
"sample_weight": 0.668,
"run_prevention_factor": 0.9764,
"strikeout_factor": 1.0067,
"walk_factor": 1.0361,
"homer_factor": 0.9477,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700712",
"espn_id": 5197476,
"player_name": "Walbert Urena",
"team": "LAA",
"role": "pitcher",
"espn_rank": 102,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 102,
"gp_value": 15.0,
"gp_rank": 328,
"gs_value": 13.0,
"gs_rank": 96,
"qs_value": 6.0,
"qs_rank": 52,
"era_value": 3.1395,
"era_rank": null,
"w_value": 5.0,
"w_rank": 57,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 71.2,
"ip_rank": 108,
"h_value": 59.0,
"h_rank": 120,
"er_value": 25.0,
"er_rank": 139,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 37.0,
"bb_rank": 16,
"k_value": 69.0,
"k_rank": 82,
"k_per_9_value": 8.665116,
"k_per_9_rank": 20,
"whip_value": 1.3395,
"whip_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9805,
"home_runs_vs_away_pitcher": 0.9842,
"home_pitcher_quality_edge": 0.2335
},
"score_before": {
"away_runs": 2.0,
"home_runs": 3.0
},
"score_after": {
"away_runs": 1.9609,
"home_runs": 2.9527,
"home_win_probability": 0.5885
},
"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 | 5-5 | 0.500 | 4.30 | 4.60 | -3 | average | average | |
| Home SEA | 5-5 | 0.500 | 3.40 | 3.30 | 1 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away LAA | 36-51 | 0.414 | -45 | -0.517 | True |
| Home SEA | 44-43 | 0.506 | 13 | 0.149 | True |
| Signal | - | - | 0.667 | 0.805 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target LAA | - | - | 2 | - | - | - | - |
| Game target SEA | - | - | 3 | - | - | - | - |
| Player finalized LAA | 32 | 9 | 1 | 0 | 3 | 1 | 9 |
| Player finalized SEA | 33 | 9 | 3 | 0 | 2 | 1 | 9 |
| Player model fractional LAA | 32.95 | 7.82 | 3.83 | 1.11 | 4.11 | 2.58 | 8.73 |
| Player model fractional SEA | 32.46 | 7.80 | 4.16 | 1.21 | 3.91 | 3.16 | 8.30 |
| Simulation box LAA | 31 | 4 | 3 | 1 | 3 | 2 | 10 |
| Simulation box SEA | 31 | 7 | 4 | 1 | 4 | 5 | 5 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away LAA | Starter | Walbert Urena | 5.20 | 1 | 5 | 5 | 2 | 3.80 | 1.28 | True |
| Away LAA | Middle Reliever | Kirby Yates | 1 | 0 | 0 | 0 | 1 | 2.98 | 1.03 | True |
| Away LAA | Middle Reliever | Sam Bachman | 1.10 | 0 | 0 | 1 | 0 | 4.58 | 1.26 | True |
| Away LAA | Middle Reliever | Ryan Zeferjahn | 0 | 3 | 0 | 1 | 2 | 2.25 | 1.10 | True |
| Home SEA | Starter | Bryce Miller | 6 | 2 | 7 | 2 | 2 | 2.87 | 0.89 | True |
| Home SEA | Middle Reliever | Andrés Muñoz | 1 | 1 | 2 | 1 | 0 | 3.02 | 1.08 | True |
| Home SEA | Middle Reliever | Eduard Bazardo | 1 | 0 | 1 | 1 | 0 | 3.10 | 1.33 | True |
| Home SEA | Middle Reliever | José A. Ferrer | 1 | 0 | 0 | 0 | 0 | 3.25 | 1.30 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | LAA | batter | CF | Josh Lowe | worse | 10 | 5 | 5 | 4 | 6 | predicted_RBI | 2.5600 | boost | better |
| home | SEA | batter | LF | Randy Arozarena | better | 11 | 7 | 4 | 6 | 5 | predicted_RBI | 2.4900 | boost | better |
| home | SEA | batter | CF | Julio Rodríguez | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -1.4200 | deboost | worse |
| home | SEA | batter | C | Cal Raleigh | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -1.3640 | deboost | better |
| away | LAA | batter | 3B | Denzer Guzman | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.1110 | boost | worse |
| away | LAA | batter | 1B | Nolan Schanuel | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -1.1000 | deboost | worse |
| home | SEA | batter | 3B | J.P. Crawford | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | -1.0700 | deboost | worse |
| away | LAA | batter | 2B | Oswald Peraza | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.0280 | boost | worse |
| home | SEA | batter | RF | Luke Raley | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.0280 | deboost | better |
| away | LAA | pitcher | Starter | Walbert Urena | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| away | LAA | pitcher | Middle Reliever | Ryan Zeferjahn | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | SEA | pitcher | Starter | Bryce Miller | better | 1 | 0 | 1 | 1 | 0 | predicted_ER | -1.0000 | deboost | better |
| home | SEA | pitcher | Middle Reliever | Andrés Muñoz | worse | 2 | 2 | 0 | 0 | 2 | predicted_ER | 1.0000 | boost | worse |
| home | SEA | pitcher | Middle Reliever | Eduard Bazardo | better | 1 | 0 | 1 | 1 | 0 | predicted_H | -1.0000 | deboost | better |
| home | SEA | batter | 1B | Josh Naylor | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.9900 | deboost | worse |
| home | SEA | batter | DH | Dominic Canzone | better | 12 | 8 | 4 | 7 | 5 | predicted_3B | 0.9860 | boost | better |
| away | LAA | batter | SS | Zach Neto | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -0.9800 | deboost | worse |
| away | LAA | batter | RF | Jo Adell | worse | 9 | 3 | 6 | 3 | 6 | predicted_AB | -0.9700 | deboost | worse |
| away | LAA | batter | C | Logan O'Hoppe | worse | 11 | 0 | 11 | 1 | 10 | predicted_SO | -0.8950 | deboost | better |
| away | LAA | batter | DH | Jorge Soler | worse | 10 | 1 | 9 | 2 | 8 | predicted_H | -0.8800 | deboost | worse |
| away | LAA | batter | LF | Wade Meckler | worse | 10 | 3 | 7 | 4 | 6 | predicted_2B | 0.7880 | boost | better |
| home | SEA | batter | SS | Colt Emerson | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.7200 | deboost | worse |
| home | SEA | batter | 2B | Cole Young | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -0.6900 | deboost | better |
| away | LAA | pitcher | Middle Reliever | Sam Bachman | 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.2775 |
| ESPN Rank | 102 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5.2000 |
| Pre ER | 1 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 3.1395 |
| Season WHIP | 1.3395 |
| Role Avg IP | 5.3850 |
| Recent Avg IP | 5.4670 |
| Last Start IP | 4.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4681,
"avg_runs_scored": 4.5213,
"avg_runs_allowed": 4.9894,
"offense_index": 0.9997,
"defense_index": 0.9064,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0762
},
"opponent": {
"team": "SEA",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 397.0,
"runs_allowed": 377.0,
"run_differential": 20.0,
"run_differential_per_game": 0.2151,
"avg_runs_scored": 4.2688,
"avg_runs_allowed": 4.0538,
"offense_index": 0.9439,
"defense_index": 1.1156,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.0,
"run_differential": -6.0
},
"available": true,
"quality_score": 0.0398
},
"edges": {
"quality_edge": -0.116,
"offense_edge": -0.0003,
"opponent_offense_edge": -0.0561,
"defense_strength": -0.0936,
"opponent_defense_weakness": -0.1156,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9948,
"run_prevention": 1.0062,
"strikeout": 1.001
},
"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.0,
"bb_percent": 11.8,
"woba": 0.294,
"xwoba": 0.283,
"sweet_spot_percent": 25.2,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 33.7,
"avg_best_speed": 75.1476,
"avg_hyper_speed": 93.5115,
"whiff_percent": 27.8,
"swing_percent": 44.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.7115,
"command_and_miss": -0.0554,
"regression_edge": 0.3143,
"xwoba_edge": 0.8429,
"barrel_edge": 0.3333,
"hard_hit_edge": 0.6571,
"whiff_edge": 0.3286,
"bb_edge": -0.675,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "700712",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2775,
"sample_weight": 0.668,
"run_prevention_factor": 0.9764,
"strikeout_factor": 1.0067,
"walk_factor": 1.0361,
"homer_factor": 0.9477,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700712",
"espn_id": 5197476,
"player_name": "Walbert Urena",
"team": "LAA",
"role": "pitcher",
"espn_rank": 102,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 102,
"gp_value": 15.0,
"gp_rank": 328,
"gs_value": 13.0,
"gs_rank": 96,
"qs_value": 6.0,
"qs_rank": 52,
"era_value": 3.1395,
"era_rank": null,
"w_value": 5.0,
"w_rank": 57,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 71.2,
"ip_rank": 108,
"h_value": 59.0,
"h_rank": 120,
"er_value": 25.0,
"er_rank": 139,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 37.0,
"bb_rank": 16,
"k_value": 69.0,
"k_rank": 82,
"k_per_9_value": 8.665116,
"k_per_9_rank": 20,
"whip_value": 1.3395,
"whip_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9842,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9842,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0241,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9651,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0045,
"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": 55.1,
"ER": 18,
"H": 42,
"BB": 24,
"SO": 52,
"HR": 4,
"ERA": 2.9277108433734944,
"WHIP": 1.1927710843373496,
"K9": 8.457831325301205,
"HR9": 0.6506024096385543,
"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-26T00:00:00"
}{
"available": false,
"pitcher_id": "700712",
"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": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "700712",
"report_date": "20260702_L",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.1,
"ER": 13.0,
"R": 14.0,
"H": 23.0,
"BB": 12.0,
"SO": 28.0,
"HR": 2.0,
"BF": 119.0,
"Pitches": 455.0
},
"per_game": {
"IP": 5.1,
"ER": 2.6,
"R": 2.8,
"H": 4.6,
"BB": 2.4,
"SO": 5.6,
"HR": 0.4,
"BF": 23.8,
"Pitches": 91.0
},
"rates": {
"ERA": 4.2805,
"WHIP": 1.2805,
"ER_per_IP": 0.47561,
"H_per_IP": 0.84146,
"BB_per_IP": 0.43902,
"SO_per_IP": 1.02439,
"HR_per_IP": 0.07317
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.1,
"ER": 18.0,
"R": 19.0,
"H": 42.0,
"BB": 24.0,
"SO": 52.0,
"HR": 4.0,
"BF": 234.0,
"Pitches": 913.0
},
"per_game": {
"IP": 5.2,
"ER": 1.8,
"R": 1.9,
"H": 4.2,
"BB": 2.4,
"SO": 5.2,
"HR": 0.4,
"BF": 23.4,
"Pitches": 91.3
},
"rates": {
"ERA": 2.9277,
"WHIP": 1.1928,
"ER_per_IP": 0.3253,
"H_per_IP": 0.75904,
"BB_per_IP": 0.43373,
"SO_per_IP": 0.93976,
"HR_per_IP": 0.07229
}
},
"season": {
"games": 15,
"totals": {
"IP": 71.2,
"ER": 25.0,
"R": 32.0,
"H": 59.0,
"BB": 37.0,
"SO": 69.0,
"HR": 5.0,
"BF": 313.0,
"Pitches": 1216.0
},
"per_game": {
"IP": 4.2,
"ER": 1.6667,
"R": 2.1333,
"H": 3.9333,
"BB": 2.4667,
"SO": 4.6,
"HR": 0.3333,
"BF": 20.8667,
"Pitches": 81.0667
},
"rates": {
"ERA": 3.1395,
"WHIP": 1.3395,
"ER_per_IP": 0.34884,
"H_per_IP": 0.82326,
"BB_per_IP": 0.51628,
"SO_per_IP": 0.96279,
"HR_per_IP": 0.06977
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.284,
"predicted_H": 4.583,
"predicted_BB": 2.318,
"predicted_SO": 5.27,
"predicted_HR": 0.491,
"predicted_ERA": 3.8038,
"predicted_WHIP": 1.2769
}
}{
"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": 1.0,
"form": 2.284,
"final": 1.699,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.583,
"final": 4.773,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.318,
"final": 2.1731,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.27,
"final": 4.6914,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.491,
"final": 0.2673,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8038,
"final": 3.8038,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2769,
"final": 1.2769,
"source": "form_only"
}
}
}{
"available": false,
"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.1577 |
| ESPN Rank | 245 |
| 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 | 0 |
| Season ERA | 2.5472 |
| Season WHIP | 0.9057 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4681,
"avg_runs_scored": 4.5213,
"avg_runs_allowed": 4.9894,
"offense_index": 0.9997,
"defense_index": 0.9064,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0762
},
"opponent": {
"team": "SEA",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 397.0,
"runs_allowed": 377.0,
"run_differential": 20.0,
"run_differential_per_game": 0.2151,
"avg_runs_scored": 4.2688,
"avg_runs_allowed": 4.0538,
"offense_index": 0.9439,
"defense_index": 1.1156,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.0,
"run_differential": -6.0
},
"available": true,
"quality_score": 0.0398
},
"edges": {
"quality_edge": -0.116,
"offense_edge": -0.0003,
"opponent_offense_edge": -0.0561,
"defense_strength": -0.0936,
"opponent_defense_weakness": -0.1156,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9948,
"run_prevention": 1.0062,
"strikeout": 1.001
},
"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": 34.2,
"bb_percent": 9.6,
"woba": 0.256,
"xwoba": 0.278,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 51.3,
"avg_best_speed": 82.0288,
"avg_hyper_speed": 95.9447,
"whiff_percent": 36.1,
"swing_percent": 49.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.1559,
"command_and_miss": 1.2539,
"regression_edge": -0.6286,
"xwoba_edge": 0.9857,
"barrel_edge": -0.6444,
"hard_hit_edge": -1.8571,
"whiff_edge": 1.5143,
"bb_edge": -0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "489446",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1577,
"sample_weight": 0.45,
"run_prevention_factor": 0.9866,
"strikeout_factor": 1.0572,
"walk_factor": 1.0045,
"homer_factor": 1.0433,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "489446",
"espn_id": 32623,
"player_name": "Kirby Yates",
"team": "LAA",
"role": "pitcher",
"espn_rank": 245,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 245,
"gp_value": 20.0,
"gp_rank": 215,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.0566,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 17.2,
"ip_rank": 430,
"h_value": 10.0,
"h_rank": 512,
"er_value": 6.0,
"er_rank": 496,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 7.0,
"bb_rank": 432,
"k_value": 25.0,
"k_rank": 345,
"k_per_9_value": 12.735849,
"k_per_9_rank": 21,
"whip_value": 0.9622,
"whip_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.994,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.994,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0195,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0257,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 1,
"H": 2,
"BB": 3,
"SO": 13,
"HR": 0,
"ERA": 1.08,
"WHIP": 0.6000000000000001,
"K9": 14.040000000000003,
"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-27T00: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": 3.502,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4119,
"prior_weight": 0.5881
},
"role": "pitcher",
"player_id": "489446",
"report_date": "20260702_L",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 60.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.2,
"H": 0.2,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.2,
"Pitches": 12.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4615,
"ER_per_IP": 0.0,
"H_per_IP": 0.23077,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.84615,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 2.0,
"H": 3.0,
"BB": 3.0,
"SO": 15.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 138.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.3,
"BB": 0.3,
"SO": 1.5,
"HR": 0.0,
"BF": 3.5,
"Pitches": 13.8
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.6429,
"ER_per_IP": 0.10714,
"H_per_IP": 0.32143,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.60714,
"HR_per_IP": 0.0
}
},
"season": {
"games": 19,
"totals": {
"IP": 17.2,
"ER": 5.0,
"R": 6.0,
"H": 9.0,
"BB": 7.0,
"SO": 25.0,
"HR": 1.0,
"BF": 72.0,
"Pitches": 283.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2632,
"R": 0.3158,
"H": 0.4737,
"BB": 0.3684,
"SO": 1.3158,
"HR": 0.0526,
"BF": 3.7895,
"Pitches": 14.8947
},
"rates": {
"ERA": 2.5472,
"WHIP": 0.9057,
"ER_per_IP": 0.28302,
"H_per_IP": 0.50943,
"BB_per_IP": 0.39623,
"SO_per_IP": 1.41509,
"HR_per_IP": 0.0566
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.331,
"predicted_H": 0.699,
"predicted_BB": 0.332,
"predicted_SO": 1.251,
"predicted_HR": 0.091,
"predicted_ERA": 2.9827,
"predicted_WHIP": 1.0308
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5985,
"form_weight": 0.4015,
"form_reliability": 0.4119,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.502,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4119,
"prior_weight": 0.5881
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.331,
"final": 0.1329,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.699,
"final": 0.2807,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.332,
"final": 0.7318,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.251,
"final": 0.5023,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.091,
"final": 0.0365,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9827,
"final": 2.9827,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0308,
"final": 1.0308,
"source": "form_only"
}
}
}{
"available": false,
"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.1421 |
| ESPN Rank | 147 |
| 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 | 3.3451 |
| Season WHIP | 1.1947 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4681,
"avg_runs_scored": 4.5213,
"avg_runs_allowed": 4.9894,
"offense_index": 0.9997,
"defense_index": 0.9064,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0762
},
"opponent": {
"team": "SEA",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 397.0,
"runs_allowed": 377.0,
"run_differential": 20.0,
"run_differential_per_game": 0.2151,
"avg_runs_scored": 4.2688,
"avg_runs_allowed": 4.0538,
"offense_index": 0.9439,
"defense_index": 1.1156,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.0,
"run_differential": -6.0
},
"available": true,
"quality_score": 0.0398
},
"edges": {
"quality_edge": -0.116,
"offense_edge": -0.0003,
"opponent_offense_edge": -0.0561,
"defense_strength": -0.0936,
"opponent_defense_weakness": -0.1156,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9948,
"run_prevention": 1.0062,
"strikeout": 1.001
},
"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": 24.4,
"bb_percent": 12.2,
"woba": 0.297,
"xwoba": 0.294,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 34.0,
"avg_best_speed": 76.7535,
"avg_hyper_speed": 93.3582,
"whiff_percent": 32.7,
"swing_percent": 44.4
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.3982,
"command_and_miss": 0.3239,
"regression_edge": 0.0857,
"xwoba_edge": 0.5286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.6143,
"whiff_edge": 1.0286,
"bb_edge": -0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "696147",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1421,
"sample_weight": 0.45,
"run_prevention_factor": 0.9879,
"strikeout_factor": 1.0233,
"walk_factor": 1.0279,
"homer_factor": 0.9818,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696147",
"espn_id": 4621489,
"player_name": "Sam Bachman",
"team": "LAA",
"role": "pitcher",
"espn_rank": 147,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 147,
"gp_value": 31.0,
"gp_rank": 107,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.3451,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 12.0,
"hld_rank": 16,
"ip_value": 37.2,
"ip_rank": 217,
"h_value": 26.0,
"h_rank": 304,
"er_value": 14.0,
"er_rank": 273,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 19.0,
"bb_rank": 166,
"k_value": 38.0,
"k_rank": 212,
"k_per_9_value": 9.079646,
"k_per_9_rank": 26,
"whip_value": 1.1946,
"whip_rank": null,
"war_value": 0.8,
"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": 1.0126,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9918,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0105,
"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": 9,
"BB": 5,
"SO": 9,
"HR": 3,
"ERA": 6.75,
"WHIP": 1.5,
"K9": 8.678571428571429,
"HR9": 2.892857142857143,
"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-27T00: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": 7.467,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5989,
"prior_weight": 0.4011
},
"role": "pitcher",
"player_id": "696147",
"report_date": "20260702_L",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 3.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 0.6,
"HR": 0.2,
"BF": 4.0,
"Pitches": 16.2
},
"rates": {
"ERA": 3.6,
"WHIP": 1.0,
"ER_per_IP": 0.4,
"H_per_IP": 0.6,
"BB_per_IP": 0.4,
"SO_per_IP": 0.6,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 7.0,
"H": 9.0,
"BB": 5.0,
"SO": 9.0,
"HR": 3.0,
"BF": 42.0,
"Pitches": 161.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 0.9,
"BB": 0.5,
"SO": 0.9,
"HR": 0.3,
"BF": 4.2,
"Pitches": 16.1
},
"rates": {
"ERA": 6.75,
"WHIP": 1.5,
"ER_per_IP": 0.75,
"H_per_IP": 0.96429,
"BB_per_IP": 0.53571,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.32143
}
},
"season": {
"games": 31,
"totals": {
"IP": 37.2,
"ER": 14.0,
"R": 14.0,
"H": 26.0,
"BB": 19.0,
"SO": 38.0,
"HR": 5.0,
"BF": 156.0,
"Pitches": 592.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4516,
"R": 0.4516,
"H": 0.8387,
"BB": 0.6129,
"SO": 1.2258,
"HR": 0.1613,
"BF": 5.0323,
"Pitches": 19.0968
},
"rates": {
"ERA": 3.3451,
"WHIP": 1.1947,
"ER_per_IP": 0.37168,
"H_per_IP": 0.69027,
"BB_per_IP": 0.50442,
"SO_per_IP": 1.00885,
"HR_per_IP": 0.13274
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.529,
"predicted_H": 0.867,
"predicted_BB": 0.441,
"predicted_SO": 0.902,
"predicted_HR": 0.204,
"predicted_ERA": 4.5822,
"predicted_WHIP": 1.2576
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5195,
"form_weight": 0.4805,
"form_reliability": 0.5989,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.467,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5989,
"prior_weight": 0.4011
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.529,
"final": 0.2542,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.867,
"final": 0.9361,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.441,
"final": 0.2119,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.902,
"final": 0.4334,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.204,
"final": 0.098,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5822,
"final": 4.5822,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2576,
"final": 1.2576,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Ryan Zeferjahn |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2100 |
| ESPN Rank | 254 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 3 |
| Pre H | 1 |
| Pre BB | 2 |
| Pre SO | 0 |
| Season ERA | 4.1186 |
| Season WHIP | 1.2966 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4681,
"avg_runs_scored": 4.5213,
"avg_runs_allowed": 4.9894,
"offense_index": 0.9997,
"defense_index": 0.9064,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0762
},
"opponent": {
"team": "SEA",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 397.0,
"runs_allowed": 377.0,
"run_differential": 20.0,
"run_differential_per_game": 0.2151,
"avg_runs_scored": 4.2688,
"avg_runs_allowed": 4.0538,
"offense_index": 0.9439,
"defense_index": 1.1156,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.0,
"run_differential": -6.0
},
"available": true,
"quality_score": 0.0398
},
"edges": {
"quality_edge": -0.116,
"offense_edge": -0.0003,
"opponent_offense_edge": -0.0561,
"defense_strength": -0.0936,
"opponent_defense_weakness": -0.1156,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9948,
"run_prevention": 1.0062,
"strikeout": 1.001
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666171",
"profile": {
"available": true,
"pitcher_id": "666171",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 107.0,
"k_percent": 31.2,
"bb_percent": 16.8,
"woba": 0.28,
"xwoba": 0.286,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 34.9,
"avg_best_speed": 79.4156,
"avg_hyper_speed": 93.2042,
"whiff_percent": 32.8,
"swing_percent": 39.4
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.6149,
"command_and_miss": 0.5361,
"regression_edge": -0.1714,
"xwoba_edge": 0.7571,
"barrel_edge": 0.5556,
"hard_hit_edge": 0.4857,
"whiff_edge": 1.0429,
"bb_edge": -1.925,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "666171",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.21,
"sample_weight": 0.45,
"run_prevention_factor": 0.9822,
"strikeout_factor": 1.041,
"walk_factor": 1.0693,
"homer_factor": 0.961,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666171",
"espn_id": 4722057,
"player_name": "Ryan Zeferjahn",
"team": "LAA",
"role": "pitcher",
"espn_rank": 254,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 254,
"gp_value": 34.0,
"gp_rank": 68,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.1186,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 6.0,
"hld_rank": 87,
"ip_value": 39.1,
"ip_rank": 201,
"h_value": 21.0,
"h_rank": 367,
"er_value": 18.0,
"er_rank": 205,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 30.0,
"bb_rank": 47,
"k_value": 54.0,
"k_rank": 131,
"k_per_9_value": 12.355932,
"k_per_9_rank": 17,
"whip_value": 1.2966,
"whip_rank": null,
"war_value": 0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.992,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0312,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0185,
"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": 0,
"H": 1,
"BB": 9,
"SO": 19,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.0344827586206897,
"K9": 17.689655172413794,
"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-30T00:00:00"
}{
"available": false,
"pitcher_id": "666171",
"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.797,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6093,
"prior_weight": 0.3907
},
"role": "pitcher",
"player_id": "666171",
"report_date": "20260702_L",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 3.0,
"SO": 11.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 87.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.6,
"SO": 2.2,
"HR": 0.0,
"BF": 3.8,
"Pitches": 17.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.1875,
"BB_per_IP": 0.5625,
"SO_per_IP": 2.0625,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 9.0,
"SO": 19.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 173.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.1,
"BB": 0.9,
"SO": 1.9,
"HR": 0.0,
"BF": 3.8,
"Pitches": 17.3
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0345,
"ER_per_IP": 0.0,
"H_per_IP": 0.10345,
"BB_per_IP": 0.93103,
"SO_per_IP": 1.96552,
"HR_per_IP": 0.0
}
},
"season": {
"games": 34,
"totals": {
"IP": 39.1,
"ER": 18.0,
"R": 20.0,
"H": 21.0,
"BB": 30.0,
"SO": 54.0,
"HR": 3.0,
"BF": 174.0,
"Pitches": 743.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5294,
"R": 0.5882,
"H": 0.6176,
"BB": 0.8824,
"SO": 1.5882,
"HR": 0.0882,
"BF": 5.1176,
"Pitches": 21.8529
},
"rates": {
"ERA": 4.1186,
"WHIP": 1.2966,
"ER_per_IP": 0.45763,
"H_per_IP": 0.5339,
"BB_per_IP": 0.76271,
"SO_per_IP": 1.37288,
"HR_per_IP": 0.07627
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.185,
"predicted_H": 0.381,
"predicted_BB": 0.433,
"predicted_SO": 1.127,
"predicted_HR": 0.049,
"predicted_ERA": 2.2517,
"predicted_WHIP": 1.1011
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5151,
"form_weight": 0.4849,
"form_reliability": 0.6093,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.797,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6093,
"prior_weight": 0.3907
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.185,
"final": 1.6349,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.381,
"final": 0.6998,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.433,
"final": 1.2401,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.127,
"final": 1.0616,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.049,
"final": 0.5388,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2517,
"final": 2.2517,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1011,
"final": 1.1011,
"source": "form_only"
}
}
}{
"available": false,
"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.167 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.260 | 4.000 | 4.000 | Hitting_AB | 3.944 | 4.000 | 0.056 | 0.000 |
| predicted_AVG | 0.241 | 0.250 | 0.250 | Hitting_AVG | 0.268 | 0.250 | -0.018 | 0.000 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 1.056 | 1.000 | -0.056 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.250 | Hitting_OBP | 0.325 | 0.250 | -0.075 | 0.000 |
| predicted_R | 0.389 | 1.000 | 0.000 | Hitting_R | 0.389 | 0.000 | 0.611 | 1.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.722 | 1.000 | -0.722 | -1.000 |
| predicted_SLG | 0.495 | 0.250 | 0.250 | Hitting_SLG | 0.437 | 0.250 | -0.187 | 0.000 |
| predicted_SO | 0.889 | 2.000 | 1.000 | Hitting_SO | 0.889 | 1.000 | 1.111 | 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.8890 -> 2.0000 (boost 1.1110, worse) |
| 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 | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2410 -> 0.2506 (boost 0.0096, better) | predicted_AB: 4.2600 -> 4.1191 (deboost -0.1409, worse) | Final model input calibrated with local 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.4715 -> 0.4019 (deboost -0.0696, 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.5908 -> 1.0000 (boost 0.4092, better) | predicted_BB: 0.3333 -> 0.0000 (deboost -0.3333, worse) | AB rounded to 4 (raw=4.26), rates preserved: AVG=0.240 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3747 -> 0.0000 (deboost -0.3747, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4019 -> 0.2500 (deboost -0.1519, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_R: 0.0000 -> 1.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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4019 (boost 0.1519, better) | - | 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.167,
"predicted_3B": 0.0,
"predicted_AB": 4.26,
"predicted_AVG": 0.241,
"predicted_BB": 0.333,
"predicted_H": 1.03,
"predicted_HR": 0.16,
"predicted_OBP": 0.317,
"predicted_R": 0.389,
"predicted_RBI": 0.59,
"predicted_SLG": 0.495,
"predicted_SO": 0.889
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1666,
"predicted_3B": 0.0015,
"predicted_AB": 4.1191,
"predicted_AVG": 0.2506,
"predicted_BB": 0.3345,
"predicted_H": 1.0318,
"predicted_HBP": 0.009,
"predicted_HR": 0.1578,
"predicted_OBP": 0.3209,
"predicted_R": 0.3816,
"predicted_RBI": 0.6018,
"predicted_SLG": 0.4715,
"predicted_SO": 0.9074
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1666,
"delta": -0.0004,
"percent_delta": -0.0024,
"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": 4.26,
"after": 4.1191,
"delta": -0.1409,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2506,
"delta": 0.0096,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3345,
"delta": 0.0015,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0318,
"delta": 0.0018,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1578,
"delta": -0.0022,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3209,
"delta": 0.0039,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.389,
"after": 0.3816,
"delta": -0.0074,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6018,
"delta": 0.0118,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.4715,
"delta": -0.0235,
"percent_delta": -0.0475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 0.9074,
"delta": 0.0184,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_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.241,
"after": 0.2506,
"delta": 0.0096,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 4.1191,
"delta": -0.1409,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.1666,
"predicted_3B": 0.0015,
"predicted_AB": 4.1191,
"predicted_AVG": 0.2478,
"predicted_BB": 0.3333,
"predicted_H": 1.0206,
"predicted_HBP": 0.009,
"predicted_HR": 0.1551,
"predicted_OBP": 0.3041,
"predicted_R": 0.3747,
"predicted_RBI": 0.5908,
"predicted_SLG": 0.4019,
"predicted_SO": 0.9106
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1666,
"after": 0.1666,
"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": 4.1191,
"after": 4.1191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2506,
"after": 0.2478,
"delta": -0.0028,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3345,
"after": 0.3333,
"delta": -0.0012,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0318,
"after": 1.0206,
"delta": -0.0112,
"percent_delta": -0.0109,
"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.1578,
"after": 0.1551,
"delta": -0.0027,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3209,
"after": 0.3041,
"delta": -0.0168,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3816,
"after": 0.3747,
"delta": -0.0069,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6018,
"after": 0.5908,
"delta": -0.011,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4715,
"after": 0.4019,
"delta": -0.0696,
"percent_delta": -0.1476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9074,
"after": 0.9106,
"delta": 0.0032,
"percent_delta": 0.0035,
"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.4715,
"after": 0.4019,
"delta": -0.0696,
"percent_delta": -0.1476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.240 HR/AB=0.036",
"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.1666,
"after": 0.0,
"delta": -0.1666,
"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": 4.1191,
"after": 4.0,
"delta": -0.1191,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3333,
"after": 0.0,
"delta": -0.3333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0206,
"after": 1.0,
"delta": -0.0206,
"percent_delta": -0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1551,
"after": 0.0,
"delta": -0.1551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5908,
"after": 1.0,
"delta": 0.4092,
"percent_delta": 0.6926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9106,
"after": 1.0,
"delta": 0.0894,
"percent_delta": 0.0982,
"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.5908,
"after": 1.0,
"delta": 0.4092,
"percent_delta": 0.6926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3333,
"after": 0.0,
"delta": -0.3333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3747,
"after": 0.0,
"delta": -0.3747,
"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.3747,
"after": 0.0,
"delta": -0.3747,
"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.2478,
"after": 0.25,
"delta": 0.0022,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3041,
"after": 0.25,
"delta": -0.0541,
"percent_delta": -0.1779,
"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.4019,
"after": 0.25,
"delta": -0.1519,
"percent_delta": -0.378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4019,
"after": 0.25,
"delta": -0.1519,
"percent_delta": -0.378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2478,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3041,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4019,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2478,
"delta": -0.0022,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3041,
"delta": 0.0541,
"percent_delta": 0.2163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4019,
"delta": 0.1519,
"percent_delta": 0.6075,
"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.4019,
"delta": 0.1519,
"percent_delta": 0.6075,
"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.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.26,
"after": 4.0,
"delta": -0.26,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2478,
"delta": 0.0068,
"percent_delta": 0.0282,
"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.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"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.317,
"after": 0.3041,
"delta": -0.0129,
"percent_delta": -0.0407,
"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.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.4019,
"delta": -0.0931,
"percent_delta": -0.1881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 2.0,
"delta": 1.111,
"percent_delta": 1.2497,
"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.889,
"after": 2.0,
"delta": 1.111,
"percent_delta": 1.2497,
"direction": "boost",
"projection_effect": "worse",
"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.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.389 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.495 | - |
| predicted_SO | 0.889 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | -0.000 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 4.119 | -0.141 |
| predicted_AVG | 0.251 | 0.010 |
| predicted_BB | 0.335 | 0.002 |
| predicted_H | 1.032 | 0.002 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.158 | -0.002 |
| predicted_OBP | 0.321 | 0.004 |
| predicted_R | 0.382 | -0.007 |
| predicted_RBI | 0.602 | 0.012 |
| predicted_SLG | 0.471 | -0.024 |
| predicted_SO | 0.907 | 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.167 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 4.119 | 0.000 |
| predicted_AVG | 0.248 | -0.003 |
| predicted_BB | 0.333 | -0.001 |
| predicted_H | 1.021 | -0.011 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.155 | -0.003 |
| predicted_OBP | 0.304 | -0.017 |
| predicted_R | 0.375 | -0.007 |
| predicted_RBI | 0.591 | -0.011 |
| predicted_SLG | 0.402 | -0.070 |
| predicted_SO | 0.911 | 0.003 |
AB rounded to 4 (raw=4.26), rates preserved: AVG=0.240 HR/AB=0.036
| 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.167 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | -0.119 |
| predicted_AVG | 0.250 | 0.002 |
| predicted_BB | 0.000 | -0.333 |
| predicted_H | 1.000 | -0.021 |
| predicted_HR | 0.000 | -0.155 |
| predicted_OBP | 0.250 | -0.054 |
| predicted_R | 0.000 | -0.375 |
| predicted_RBI | 1.000 | 0.409 |
| predicted_SLG | 0.250 | -0.152 |
| 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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 6.000 | 0.3000 | 0.3333 | 0.3500 | 0.3000 | 0.0000 | 0.1000 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 1.000 | 0.000 | 3.000 | 8.000 | 4.000 | 6.000 | 10.000 | 0.2703 | 0.3721 | 0.5405 | 0.2703 | 0.0811 | 0.2162 | 0.1622 | 0.2703 |
| season | 0.60 | 18 | - | 71.000 | 19.000 | 3.000 | 0.000 | 3.000 | 13.000 | 7.000 | 6.000 | 16.000 | 0.2676 | 0.3247 | 0.4366 | 0.2676 | 0.0423 | 0.1831 | 0.0845 | 0.2253 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1660 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.8770 |
| predicted_AVG | 0.2671 |
| predicted_BB | 0.3370 |
| predicted_H | 1.0350 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1540 |
| predicted_OBP | 0.3275 |
| predicted_R | 0.3690 |
| predicted_RBI | 0.6220 |
| predicted_SLG | 0.4312 |
| predicted_SO | 0.9390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1660 | 0.1666 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 4.2600 | 3.8770 | 4.1191 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2671 | 0.2506 | model_form_blend |
| predicted_BB | 0.3330 | 0.3370 | 0.3345 | model_form_blend |
| predicted_H | 1.0300 | 1.0350 | 1.0318 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1600 | 0.1540 | 0.1578 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3275 | 0.3209 | model_form_blend |
| predicted_R | 0.3890 | 0.3690 | 0.3816 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6220 | 0.6018 | model_form_blend |
| predicted_SLG | 0.4950 | 0.4312 | 0.4715 | model_form_blend |
| predicted_SO | 0.8890 | 0.9390 | 0.9074 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.268 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260629_LAA@SEA |
| game_type | full |
| mlbID | 694203 |
| playerID | 694203 |
| playerName | Denzer Guzman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-29 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.334 |
| sl_xwoba | 0.322 |
| sl_xba | 0.258 |
| sl_xslg | 0.421 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 41.8 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 10.9 |
| 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.154 | 0.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | -0.172 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.820 | 4.000 | 4.000 | Hitting_AB | 3.754 | 3.000 | 0.246 | 1.000 |
| predicted_AVG | 0.232 | 0.000 | 0.250 | Hitting_AVG | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_BB | 0.431 | 0.000 | 1.000 | Hitting_BB | 0.435 | 1.000 | -0.435 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 0.000 | 1.000 | Hitting_H | 0.828 | 0.000 | -0.828 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_OBP | 0.329 | 0.000 | 0.400 | Hitting_OBP | 0.307 | 0.250 | -0.307 | -0.250 |
| predicted_R | 0.477 | 0.000 | 0.000 | Hitting_R | 0.504 | 0.000 | -0.504 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.608 | 0.000 | -0.608 | 0.000 |
| predicted_SLG | 0.494 | 0.000 | 0.250 | Hitting_SLG | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_SO | 1.308 | 1.000 | 1.000 | Hitting_SO | 1.341 | 1.000 | -0.341 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.8200 -> 4.0000 (boost 0.1800, 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 | 4 | 2 | 2 | 2 | 2 | predicted_BB: 0.4310 -> 0.4941 (boost 0.0631, better) | predicted_AB: 3.8200 -> 3.6895 (deboost -0.1305, worse) | Final model input calibrated with local 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.4711 -> 0.4181 (deboost -0.0530, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 5 | 2 | predicted_BB: 0.4924 -> 1.0000 (boost 0.5076, better) | predicted_SO: 1.2788 -> 1.0000 (deboost -0.2788, better) | AB rounded to 4 (raw=3.82), rates preserved: AVG=0.223 HR/AB=0.045 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4655 -> 0.0000 (deboost -0.4655, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3214 -> 0.4000 (boost 0.0786, better) | predicted_SLG: 0.4181 -> 0.2500 (deboost -0.1681, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4181 (boost 0.1681, better) | predicted_OBP: 0.4000 -> 0.3214 (deboost -0.0786, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624585",
"player_name": "Jorge Soler",
"position": "DH",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.015,
"predicted_AB": 3.82,
"predicted_AVG": 0.232,
"predicted_BB": 0.431,
"predicted_H": 0.88,
"predicted_HR": 0.17,
"predicted_OBP": 0.329,
"predicted_R": 0.477,
"predicted_RBI": 0.53,
"predicted_SLG": 0.494,
"predicted_SO": 1.308
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.0209,
"predicted_AB": 3.6895,
"predicted_AVG": 0.2344,
"predicted_BB": 0.4941,
"predicted_H": 0.8611,
"predicted_HBP": 0.035,
"predicted_HR": 0.1734,
"predicted_OBP": 0.3357,
"predicted_R": 0.4741,
"predicted_RBI": 0.5325,
"predicted_SLG": 0.4711,
"predicted_SO": 1.2743
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.138,
"delta": -0.016,
"percent_delta": -0.1039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0209,
"delta": 0.0059,
"percent_delta": 0.3933,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.82,
"after": 3.6895,
"delta": -0.1305,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2344,
"delta": 0.0024,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.431,
"after": 0.4941,
"delta": 0.0631,
"percent_delta": 0.1464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8611,
"delta": -0.0189,
"percent_delta": -0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1734,
"delta": 0.0034,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3357,
"delta": 0.0067,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.477,
"after": 0.4741,
"delta": -0.0029,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5325,
"delta": 0.0025,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.494,
"after": 0.4711,
"delta": -0.0229,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.308,
"after": 1.2743,
"delta": -0.0337,
"percent_delta": -0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.431,
"after": 0.4941,
"delta": 0.0631,
"percent_delta": 0.1464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.82,
"after": 3.6895,
"delta": -0.1305,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.138,
"predicted_3B": 0.0209,
"predicted_AB": 3.6895,
"predicted_AVG": 0.2308,
"predicted_BB": 0.4924,
"predicted_H": 0.8517,
"predicted_HBP": 0.035,
"predicted_HR": 0.1704,
"predicted_OBP": 0.3214,
"predicted_R": 0.4655,
"predicted_RBI": 0.5228,
"predicted_SLG": 0.4181,
"predicted_SO": 1.2788
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.138,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0209,
"after": 0.0209,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6895,
"after": 3.6895,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2344,
"after": 0.2308,
"delta": -0.0036,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4941,
"after": 0.4924,
"delta": -0.0017,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8611,
"after": 0.8517,
"delta": -0.0094,
"percent_delta": -0.0109,
"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.1734,
"after": 0.1704,
"delta": -0.003,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3357,
"after": 0.3214,
"delta": -0.0143,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4741,
"after": 0.4655,
"delta": -0.0086,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5325,
"after": 0.5228,
"delta": -0.0097,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4711,
"after": 0.4181,
"delta": -0.053,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2743,
"after": 1.2788,
"delta": 0.0045,
"percent_delta": 0.0035,
"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.4711,
"after": 0.4181,
"delta": -0.053,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.82), rates preserved: AVG=0.223 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0209,
"after": 0.0,
"delta": -0.0209,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6895,
"after": 4.0,
"delta": 0.3105,
"percent_delta": 0.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4924,
"after": 1.0,
"delta": 0.5076,
"percent_delta": 1.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8517,
"after": 1.0,
"delta": 0.1483,
"percent_delta": 0.1741,
"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.1704,
"after": 0.0,
"delta": -0.1704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5228,
"after": 1.0,
"delta": 0.4772,
"percent_delta": 0.9128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2788,
"after": 1.0,
"delta": -0.2788,
"percent_delta": -0.218,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4924,
"after": 1.0,
"delta": 0.5076,
"percent_delta": 1.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.2788,
"after": 1.0,
"delta": -0.2788,
"percent_delta": -0.218,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.4655,
"after": 0.0,
"delta": -0.4655,
"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.4655,
"after": 0.0,
"delta": -0.4655,
"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": 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.2308,
"after": 0.25,
"delta": 0.0192,
"percent_delta": 0.0832,
"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.3214,
"after": 0.4,
"delta": 0.0786,
"percent_delta": 0.2446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.4181,
"after": 0.25,
"delta": -0.1681,
"percent_delta": -0.4021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3214,
"after": 0.4,
"delta": 0.0786,
"percent_delta": 0.2446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4181,
"after": 0.25,
"delta": -0.1681,
"percent_delta": -0.4021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 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.2308,
"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.3214,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4181,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3214,
"delta": -0.0786,
"percent_delta": -0.1965,
"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.4181,
"delta": 0.1681,
"percent_delta": 0.6725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4181,
"delta": 0.1681,
"percent_delta": 0.6725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3214,
"delta": -0.0786,
"percent_delta": -0.1965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"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.82,
"after": 4.0,
"delta": 0.18,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2308,
"delta": -0.0012,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.431,
"after": 0.0,
"delta": -0.431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.0,
"delta": -0.88,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3214,
"delta": -0.0076,
"percent_delta": -0.0231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.477,
"after": 0.0,
"delta": -0.477,
"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.494,
"after": 0.4181,
"delta": -0.0759,
"percent_delta": -0.1536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.308,
"after": 1.0,
"delta": -0.308,
"percent_delta": -0.2355,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.82,
"after": 4.0,
"delta": 0.18,
"percent_delta": 0.0471,
"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.154 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.820 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.431 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.477 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.494 | - |
| predicted_SO | 1.308 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.016 |
| predicted_3B | 0.021 | 0.006 |
| predicted_AB | 3.689 | -0.131 |
| predicted_AVG | 0.234 | 0.002 |
| predicted_BB | 0.494 | 0.063 |
| predicted_H | 0.861 | -0.019 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.173 | 0.003 |
| predicted_OBP | 0.336 | 0.007 |
| predicted_R | 0.474 | -0.003 |
| predicted_RBI | 0.532 | 0.002 |
| predicted_SLG | 0.471 | -0.023 |
| predicted_SO | 1.274 | -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.138 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.689 | 0.000 |
| predicted_AVG | 0.231 | -0.004 |
| predicted_BB | 0.492 | -0.002 |
| predicted_H | 0.852 | -0.009 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.170 | -0.003 |
| predicted_OBP | 0.321 | -0.014 |
| predicted_R | 0.466 | -0.009 |
| predicted_RBI | 0.523 | -0.010 |
| predicted_SLG | 0.418 | -0.053 |
| predicted_SO | 1.279 | 0.004 |
AB rounded to 4 (raw=3.82), rates preserved: AVG=0.223 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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 | 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.138 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.311 |
| predicted_AVG | 0.250 | 0.019 |
| predicted_BB | 1.000 | 0.508 |
| predicted_H | 1.000 | 0.148 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.400 | 0.079 |
| predicted_R | 0.000 | -0.466 |
| predicted_RBI | 1.000 | 0.477 |
| predicted_SLG | 0.250 | -0.168 |
| 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 | 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 | -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 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 5.000 | 6.000 | 0.2500 | 0.4286 | 0.4375 | 0.2500 | 0.0625 | 0.1250 | 0.3125 | 0.3750 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 1.000 | 1.000 | 2.000 | 6.000 | 5.000 | 7.000 | 12.000 | 0.2727 | 0.3902 | 0.5455 | 0.2727 | 0.0606 | 0.1818 | 0.2121 | 0.3636 |
| season | 0.60 | 65 | - | 236.000 | 52.000 | 10.000 | 1.000 | 11.000 | 37.000 | 31.000 | 28.000 | 85.000 | 0.2203 | 0.3088 | 0.4110 | 0.2203 | 0.0466 | 0.1568 | 0.1186 | 0.3602 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0290 |
| predicted_AB | 3.5100 |
| predicted_AVG | 0.2378 |
| predicted_BB | 0.5810 |
| predicted_H | 0.8350 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.1780 |
| predicted_OBP | 0.3448 |
| predicted_R | 0.4700 |
| predicted_RBI | 0.5360 |
| predicted_SLG | 0.4397 |
| predicted_SO | 1.2280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1160 | 0.1380 | model_form_blend |
| predicted_3B | 0.0150 | 0.0290 | 0.0209 | model_form_blend |
| predicted_AB | 3.8200 | 3.5100 | 3.6895 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2378 | 0.2344 | model_form_blend |
| predicted_BB | 0.4310 | 0.5810 | 0.4941 | model_form_blend |
| predicted_H | 0.8800 | 0.8350 | 0.8611 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.1700 | 0.1780 | 0.1734 | model_form_blend |
| predicted_OBP | 0.3290 | 0.3448 | 0.3357 | model_form_blend |
| predicted_R | 0.4770 | 0.4700 | 0.4741 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5360 | 0.5325 | model_form_blend |
| predicted_SLG | 0.4940 | 0.4397 | 0.4711 | model_form_blend |
| predicted_SO | 1.3080 | 1.2280 | 1.2743 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 624585 |
| playerID | 624585 |
| playerName | Jorge Soler |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-30 |
| sl_k_percent | 31.3 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.316 |
| sl_xwoba | 0.31 |
| sl_xba | 0.218 |
| sl_xslg | 0.387 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 41.3 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 36.3 |
| sl_swing_percent | 46.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.202 | 0.000 | 0.000 | Hitting_2B | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 4.450 | 4.000 | 4.000 | Hitting_AB | 3.954 | 4.000 | 0.046 | 0.000 |
| predicted_AVG | 0.219 | 0.000 | 0.250 | Hitting_AVG | 0.238 | 0.250 | -0.238 | -0.250 |
| predicted_BB | 0.476 | 0.000 | 0.000 | Hitting_BB | 0.570 | 0.000 | -0.570 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.095 | 0.000 | -0.095 | 0.000 |
| predicted_H | 0.980 | 0.000 | 1.000 | Hitting_H | 0.940 | 1.000 | -0.940 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_OBP | 0.296 | 0.000 | 0.250 | Hitting_OBP | 0.344 | 0.250 | -0.344 | -0.250 |
| predicted_R | 0.702 | 0.000 | 1.000 | Hitting_R | 0.725 | 0.000 | -0.725 | 0.000 |
| predicted_RBI | 0.550 | 0.000 | 0.000 | Hitting_RBI | 0.496 | 2.000 | -0.496 | -2.000 |
| predicted_SLG | 0.500 | 0.000 | 0.250 | Hitting_SLG | 0.451 | 0.250 | -0.451 | -0.250 |
| predicted_SO | 1.452 | 2.000 | 1.000 | Hitting_SO | 1.412 | 1.000 | 0.588 | 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: 1.4520 -> 2.0000 (boost 0.5480, worse) |
| Biggest Deboost | predicted_H: 0.9800 -> 0.0000 (deboost -0.9800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 1 | 3 | - | predicted_AB: 4.4500 -> 4.2207 (deboost -0.2293, worse) | Final model input calibrated with local 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.4760 -> 0.4192 (deboost -0.0568, 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.9274 -> 1.0000 (boost 0.0726, better) | predicted_RBI: 0.5421 -> 0.0000 (deboost -0.5421, worse) | AB rounded to 4 (raw=4.45), rates preserved: AVG=0.208 HR/AB=0.044 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6754 -> 1.0000 (boost 0.3246, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2197 -> 0.2500 (boost 0.0303, better) | predicted_SLG: 0.4192 -> 0.2500 (deboost -0.1692, 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.4192 (boost 0.1692, better) | predicted_AVG: 0.2500 -> 0.2197 (deboost -0.0303, 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.202,
"predicted_3B": 0.024,
"predicted_AB": 4.45,
"predicted_AVG": 0.219,
"predicted_BB": 0.476,
"predicted_H": 0.98,
"predicted_HR": 0.2,
"predicted_OBP": 0.296,
"predicted_R": 0.702,
"predicted_RBI": 0.55,
"predicted_SLG": 0.5,
"predicted_SO": 1.452
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2093,
"predicted_3B": 0.0197,
"predicted_AB": 4.2207,
"predicted_AVG": 0.2216,
"predicted_BB": 0.4254,
"predicted_H": 0.9376,
"predicted_HBP": 0.049,
"predicted_HR": 0.2013,
"predicted_OBP": 0.2962,
"predicted_R": 0.6879,
"predicted_RBI": 0.5521,
"predicted_SLG": 0.476,
"predicted_SO": 1.3851
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.2093,
"delta": 0.0073,
"percent_delta": 0.0361,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0197,
"delta": -0.0043,
"percent_delta": -0.1792,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.45,
"after": 4.2207,
"delta": -0.2293,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2216,
"delta": 0.0026,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.476,
"after": 0.4254,
"delta": -0.0506,
"percent_delta": -0.1063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9376,
"delta": -0.0424,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2013,
"delta": 0.0013,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2962,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.702,
"after": 0.6879,
"delta": -0.0141,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5521,
"delta": 0.0021,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.476,
"delta": -0.024,
"percent_delta": -0.048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.452,
"after": 1.3851,
"delta": -0.0669,
"percent_delta": -0.0461,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.45,
"after": 4.2207,
"delta": -0.2293,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 84
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2093,
"predicted_3B": 0.0197,
"predicted_AB": 4.2207,
"predicted_AVG": 0.2197,
"predicted_BB": 0.4239,
"predicted_H": 0.9274,
"predicted_HBP": 0.049,
"predicted_HR": 0.1978,
"predicted_OBP": 0.2909,
"predicted_R": 0.6754,
"predicted_RBI": 0.5421,
"predicted_SLG": 0.4192,
"predicted_SO": 1.3899
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2093,
"after": 0.2093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0197,
"after": 0.0197,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2207,
"after": 4.2207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2216,
"after": 0.2197,
"delta": -0.0019,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4254,
"after": 0.4239,
"delta": -0.0015,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9376,
"after": 0.9274,
"delta": -0.0102,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2013,
"after": 0.1978,
"delta": -0.0035,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2962,
"after": 0.2909,
"delta": -0.0053,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6879,
"after": 0.6754,
"delta": -0.0125,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5521,
"after": 0.5421,
"delta": -0.01,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.476,
"after": 0.4192,
"delta": -0.0568,
"percent_delta": -0.1193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3851,
"after": 1.3899,
"delta": 0.0048,
"percent_delta": 0.0035,
"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.476,
"after": 0.4192,
"delta": -0.0568,
"percent_delta": -0.1193,
"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.208 HR/AB=0.044",
"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.2093,
"after": 0.0,
"delta": -0.2093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0197,
"after": 0.0,
"delta": -0.0197,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2207,
"after": 4.0,
"delta": -0.2207,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4239,
"after": 0.0,
"delta": -0.4239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9274,
"after": 1.0,
"delta": 0.0726,
"percent_delta": 0.0783,
"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.1978,
"after": 0.0,
"delta": -0.1978,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5421,
"after": 0.0,
"delta": -0.5421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3899,
"after": 1.0,
"delta": -0.3899,
"percent_delta": -0.2805,
"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.9274,
"after": 1.0,
"delta": 0.0726,
"percent_delta": 0.0783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5421,
"after": 0.0,
"delta": -0.5421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 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.6754,
"after": 1.0,
"delta": 0.3246,
"percent_delta": 0.4806,
"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.6754,
"after": 1.0,
"delta": 0.3246,
"percent_delta": 0.4806,
"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.2197,
"after": 0.25,
"delta": 0.0303,
"percent_delta": 0.1379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2909,
"after": 0.25,
"delta": -0.0409,
"percent_delta": -0.1406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4192,
"after": 0.25,
"delta": -0.1692,
"percent_delta": -0.4036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2197,
"after": 0.25,
"delta": 0.0303,
"percent_delta": 0.1379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4192,
"after": 0.25,
"delta": -0.1692,
"percent_delta": -0.4036,
"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": 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": 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.2197,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2909,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4192,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2197,
"delta": -0.0303,
"percent_delta": -0.1211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2909,
"delta": 0.0409,
"percent_delta": 0.1637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4192,
"delta": 0.1692,
"percent_delta": 0.6769,
"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.4192,
"delta": 0.1692,
"percent_delta": 0.6769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2197,
"delta": -0.0303,
"percent_delta": -0.1211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.219,
"after": 0.2197,
"delta": 0.0007,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.98,
"after": 0.0,
"delta": -0.98,
"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.296,
"after": 0.2909,
"delta": -0.0051,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.702,
"after": 0.0,
"delta": -0.702,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4192,
"delta": -0.0808,
"percent_delta": -0.1616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.452,
"after": 2.0,
"delta": 0.548,
"percent_delta": 0.3774,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.452,
"after": 2.0,
"delta": 0.548,
"percent_delta": 0.3774,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.202 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 4.450 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.476 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.702 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.500 | - |
| predicted_SO | 1.452 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.209 | 0.007 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 4.221 | -0.229 |
| predicted_AVG | 0.222 | 0.003 |
| predicted_BB | 0.425 | -0.051 |
| predicted_H | 0.938 | -0.042 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.201 | 0.001 |
| predicted_OBP | 0.296 | 0.000 |
| predicted_R | 0.688 | -0.014 |
| predicted_RBI | 0.552 | 0.002 |
| predicted_SLG | 0.476 | -0.024 |
| predicted_SO | 1.385 | -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.209 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 4.221 | 0.000 |
| predicted_AVG | 0.220 | -0.002 |
| predicted_BB | 0.424 | -0.002 |
| predicted_H | 0.927 | -0.010 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.198 | -0.004 |
| predicted_OBP | 0.291 | -0.005 |
| predicted_R | 0.675 | -0.012 |
| predicted_RBI | 0.542 | -0.010 |
| predicted_SLG | 0.419 | -0.057 |
| predicted_SO | 1.390 | 0.005 |
AB rounded to 4 (raw=4.45), rates preserved: AVG=0.208 HR/AB=0.044
| 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=14.0, weight=0.127, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.209 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | -0.221 |
| predicted_AVG | 0.250 | 0.030 |
| predicted_BB | 0.000 | -0.424 |
| predicted_H | 1.000 | 0.073 |
| predicted_HR | 0.000 | -0.198 |
| predicted_OBP | 0.250 | -0.041 |
| predicted_R | 1.000 | 0.325 |
| predicted_RBI | 0.000 | -0.542 |
| predicted_SLG | 0.250 | -0.169 |
| predicted_SO | 1.000 | -0.390 |
Attached 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 | - | 20.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 5.000 | 0.2000 | 0.2381 | 0.4000 | 0.2000 | 0.0500 | 0.1500 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 3.000 | 0.000 | 2.000 | 7.000 | 7.000 | 2.000 | 13.000 | 0.2368 | 0.2750 | 0.4737 | 0.2368 | 0.0526 | 0.1842 | 0.0526 | 0.3421 |
| season | 0.60 | 84 | - | 331.000 | 75.000 | 17.000 | 2.000 | 18.000 | 42.000 | 59.000 | 40.000 | 122.000 | 0.2266 | 0.3219 | 0.4532 | 0.2266 | 0.0544 | 0.1269 | 0.1208 | 0.3686 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2190 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.9150 |
| predicted_AVG | 0.2251 |
| predicted_BB | 0.3580 |
| predicted_H | 0.8810 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.2030 |
| predicted_OBP | 0.2965 |
| predicted_R | 0.6690 |
| predicted_RBI | 0.5550 |
| predicted_SLG | 0.4439 |
| predicted_SO | 1.2960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2020 | 0.2190 | 0.2093 | model_form_blend |
| predicted_3B | 0.0240 | 0.0140 | 0.0197 | model_form_blend |
| predicted_AB | 4.4500 | 3.9150 | 4.2207 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2251 | 0.2216 | model_form_blend |
| predicted_BB | 0.4760 | 0.3580 | 0.4254 | model_form_blend |
| predicted_H | 0.9800 | 0.8810 | 0.9376 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.2000 | 0.2030 | 0.2013 | model_form_blend |
| predicted_OBP | 0.2960 | 0.2965 | 0.2962 | model_form_blend |
| predicted_R | 0.7020 | 0.6690 | 0.6879 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5550 | 0.5521 | model_form_blend |
| predicted_SLG | 0.5000 | 0.4439 | 0.4760 | model_form_blend |
| predicted_SO | 1.4520 | 1.2960 | 1.3851 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 284 |
| Season rows before report date | 284 |
| Report year | 2026 |
| Profile rows used | 84 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 687263 |
| playerID | 687263 |
| playerName | Zach Neto |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-30 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.338 |
| sl_xwoba | 0.313 |
| sl_xba | 0.201 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 13.4 |
| sl_hard_hit_percent | 39.2 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 22.3 |
| sl_whiff_percent | 32.5 |
| 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.212 | 1.000 | 0.000 | Hitting_2B | 0.146 | 0.000 | 0.854 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.212 | 3.000 | 3.000 | Hitting_AB | 3.146 | 4.000 | -0.146 | -1.000 |
| predicted_AVG | 0.267 | 0.333 | 0.333 | Hitting_AVG | 0.298 | 0.500 | 0.035 | -0.167 |
| predicted_BB | 0.394 | 0.000 | 0.000 | Hitting_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 1.000 | 1.000 | Hitting_H | 0.938 | 2.000 | 0.062 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_OBP | 0.343 | 0.500 | 0.333 | Hitting_OBP | 0.365 | 0.500 | 0.135 | 0.000 |
| predicted_R | 0.485 | 0.000 | 0.000 | Hitting_R | 0.396 | 1.000 | -0.396 | -1.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.471 | 0.667 | 0.333 | Hitting_SLG | 0.444 | 0.500 | 0.223 | 0.167 |
| predicted_SO | 0.788 | 0.000 | 1.000 | Hitting_SO | 0.708 | 0.000 | -0.708 | 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_2B: 0.2120 -> 1.0000 (boost 0.7880, better) |
| Biggest Deboost | predicted_SO: 0.7880 -> 0.0000 (deboost -0.7880, 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_AB: 3.2120 -> 3.2695 (boost 0.0575, better) | predicted_SLG: 0.4710 -> 0.4422 (deboost -0.0288, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4422 -> 0.3964 (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 | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.8166 -> 1.0000 (boost 0.1834, worse) | predicted_BB: 0.3977 -> 0.0000 (deboost -0.3977, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.269 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4927 -> 0.0000 (deboost -0.4927, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2688 -> 0.3330 (boost 0.0642, better) | predicted_SLG: 0.3964 -> 0.3330 (deboost -0.0634, 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 | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3964 (boost 0.0634, better) | predicted_AVG: 0.3330 -> 0.2688 (deboost -0.0642, 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.212,
"predicted_3B": 0.0,
"predicted_AB": 3.212,
"predicted_AVG": 0.267,
"predicted_BB": 0.394,
"predicted_H": 0.84,
"predicted_HR": 0.08,
"predicted_OBP": 0.343,
"predicted_R": 0.485,
"predicted_RBI": 0.36,
"predicted_SLG": 0.471,
"predicted_SO": 0.788
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2089,
"predicted_3B": 0.0012,
"predicted_AB": 3.2695,
"predicted_AVG": 0.2748,
"predicted_BB": 0.3991,
"predicted_H": 0.8885,
"predicted_HBP": 0.006,
"predicted_HR": 0.0698,
"predicted_OBP": 0.3515,
"predicted_R": 0.5018,
"predicted_RBI": 0.3545,
"predicted_SLG": 0.4422,
"predicted_SO": 0.8138
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.2089,
"delta": -0.0031,
"percent_delta": -0.0146,
"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.212,
"after": 3.2695,
"delta": 0.0575,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2748,
"delta": 0.0078,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.3991,
"delta": 0.0051,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8885,
"delta": 0.0485,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0698,
"delta": -0.0102,
"percent_delta": -0.1275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3515,
"delta": 0.0085,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 0.5018,
"delta": 0.0168,
"percent_delta": 0.0346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3545,
"delta": -0.0055,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4422,
"delta": -0.0288,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.788,
"after": 0.8138,
"delta": 0.0258,
"percent_delta": 0.0327,
"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": 3.212,
"after": 3.2695,
"delta": 0.0575,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4422,
"delta": -0.0288,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 33
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2089,
"predicted_3B": 0.0012,
"predicted_AB": 3.2695,
"predicted_AVG": 0.2688,
"predicted_BB": 0.3977,
"predicted_H": 0.8788,
"predicted_HBP": 0.006,
"predicted_HR": 0.0686,
"predicted_OBP": 0.3481,
"predicted_R": 0.4927,
"predicted_RBI": 0.348,
"predicted_SLG": 0.3964,
"predicted_SO": 0.8166
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2089,
"after": 0.2089,
"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.2695,
"after": 3.2695,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2748,
"after": 0.2688,
"delta": -0.006,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3991,
"after": 0.3977,
"delta": -0.0014,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8885,
"after": 0.8788,
"delta": -0.0097,
"percent_delta": -0.0109,
"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.0698,
"after": 0.0686,
"delta": -0.0012,
"percent_delta": -0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3515,
"after": 0.3481,
"delta": -0.0034,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5018,
"after": 0.4927,
"delta": -0.0091,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3545,
"after": 0.348,
"delta": -0.0065,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4422,
"after": 0.3964,
"delta": -0.0458,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8138,
"after": 0.8166,
"delta": 0.0028,
"percent_delta": 0.0034,
"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.4422,
"after": 0.3964,
"delta": -0.0458,
"percent_delta": -0.1036,
"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.269 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.2089,
"after": 0.0,
"delta": -0.2089,
"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.2695,
"after": 3.0,
"delta": -0.2695,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3977,
"after": 0.0,
"delta": -0.3977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8788,
"after": 1.0,
"delta": 0.1212,
"percent_delta": 0.1379,
"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.0686,
"after": 0.0,
"delta": -0.0686,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8166,
"after": 1.0,
"delta": 0.1834,
"percent_delta": 0.2246,
"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.8166,
"after": 1.0,
"delta": 0.1834,
"percent_delta": 0.2246,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3977,
"after": 0.0,
"delta": -0.3977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4927,
"after": 0.0,
"delta": -0.4927,
"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.4927,
"after": 0.0,
"delta": -0.4927,
"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.2688,
"after": 0.333,
"delta": 0.0642,
"percent_delta": 0.2388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3481,
"after": 0.333,
"delta": -0.0151,
"percent_delta": -0.0434,
"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.3964,
"after": 0.333,
"delta": -0.0634,
"percent_delta": -0.1599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2688,
"after": 0.333,
"delta": 0.0642,
"percent_delta": 0.2388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3964,
"after": 0.333,
"delta": -0.0634,
"percent_delta": -0.1599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 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": 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": 3.0,
"predicted_AVG": 0.2688,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3481,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3964,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2688,
"delta": -0.0642,
"percent_delta": -0.1928,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3481,
"delta": 0.0151,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3964,
"delta": 0.0634,
"percent_delta": 0.1902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3964,
"delta": 0.0634,
"percent_delta": 0.1902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2688,
"delta": -0.0642,
"percent_delta": -0.1928,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 1.0,
"delta": 0.788,
"percent_delta": 3.717,
"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.212,
"after": 3.0,
"delta": -0.212,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2688,
"delta": 0.0018,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.0,
"delta": 0.16,
"percent_delta": 0.1905,
"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.343,
"after": 0.3481,
"delta": 0.0051,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"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.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.3964,
"delta": -0.0746,
"percent_delta": -0.1584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.788,
"after": 0.0,
"delta": -0.788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.212,
"after": 1.0,
"delta": 0.788,
"percent_delta": 3.717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.788,
"after": 0.0,
"delta": -0.788,
"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.212 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.212 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.394 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.485 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.788 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.209 | -0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.269 | 0.057 |
| predicted_AVG | 0.275 | 0.008 |
| predicted_BB | 0.399 | 0.005 |
| predicted_H | 0.888 | 0.048 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.070 | -0.010 |
| predicted_OBP | 0.351 | 0.008 |
| predicted_R | 0.502 | 0.017 |
| predicted_RBI | 0.354 | -0.006 |
| predicted_SLG | 0.442 | -0.029 |
| predicted_SO | 0.814 | 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.209 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.269 | 0.000 |
| predicted_AVG | 0.269 | -0.006 |
| predicted_BB | 0.398 | -0.001 |
| predicted_H | 0.879 | -0.010 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.069 | -0.001 |
| predicted_OBP | 0.348 | -0.003 |
| predicted_R | 0.493 | -0.009 |
| predicted_RBI | 0.348 | -0.007 |
| predicted_SLG | 0.396 | -0.046 |
| predicted_SO | 0.817 | 0.003 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.269 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.209 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.269 |
| predicted_AVG | 0.333 | 0.064 |
| predicted_BB | 0.000 | -0.398 |
| predicted_H | 1.000 | 0.121 |
| predicted_HR | 0.000 | -0.069 |
| predicted_OBP | 0.333 | -0.015 |
| predicted_R | 0.000 | -0.493 |
| predicted_RBI | 0.000 | -0.348 |
| predicted_SLG | 0.333 | -0.063 |
| predicted_SO | 1.000 | 0.183 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 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 | 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 | 0.000 | 3.000 | 2.000 | 4.000 | 0.3125 | 0.3889 | 0.3750 | 0.3125 | 0.0000 | 0.0000 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 2.000 | 0.000 | 0.000 | 2.000 | 6.000 | 6.000 | 11.000 | 0.2941 | 0.4000 | 0.3529 | 0.2941 | 0.0000 | 0.0588 | 0.1765 | 0.3235 |
| season | 0.60 | 33 | - | 106.000 | 31.000 | 7.000 | 0.000 | 2.000 | 15.000 | 16.000 | 13.000 | 26.000 | 0.2925 | 0.3697 | 0.4151 | 0.2924 | 0.0189 | 0.1415 | 0.1226 | 0.2453 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2040 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.3590 |
| predicted_AVG | 0.2869 |
| predicted_BB | 0.4070 |
| predicted_H | 0.9640 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.0540 |
| predicted_OBP | 0.3648 |
| predicted_R | 0.5280 |
| predicted_RBI | 0.3460 |
| predicted_SLG | 0.3974 |
| predicted_SO | 0.8540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.2040 | 0.2089 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.2120 | 3.3590 | 3.2695 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2869 | 0.2748 | model_form_blend |
| predicted_BB | 0.3940 | 0.4070 | 0.3991 | model_form_blend |
| predicted_H | 0.8400 | 0.9640 | 0.8885 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0800 | 0.0540 | 0.0698 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3648 | 0.3515 | model_form_blend |
| predicted_R | 0.4850 | 0.5280 | 0.5018 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3460 | 0.3545 | model_form_blend |
| predicted_SLG | 0.4710 | 0.3974 | 0.4422 | model_form_blend |
| predicted_SO | 0.7880 | 0.8540 | 0.8138 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 48 |
| Season rows before report date | 48 |
| Report year | 2026 |
| Profile rows used | 33 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.292 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | LF |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 685133 |
| playerID | 685133 |
| playerName | Wade Meckler |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-30 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.35 |
| sl_xwoba | 0.321 |
| sl_xba | 0.252 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 42.5 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 30.0 |
| sl_exit_velocity_avg | 86.1 |
| sl_launch_angle_avg | 7.7 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 45.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.206 | 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 | 4.100 | 3.000 | 4.000 | Hitting_AB | 3.951 | 4.000 | -0.951 | -1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.264 | 0.250 | -0.264 | -0.250 |
| predicted_BB | 0.338 | 1.000 | 0.000 | Hitting_BB | 0.295 | 0.000 | 0.705 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.045 | 1.000 | -1.045 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.319 | 0.250 | 0.250 | Hitting_OBP | 0.321 | 0.250 | -0.071 | 0.000 |
| predicted_R | 0.426 | 0.000 | 0.000 | Hitting_R | 0.411 | 0.000 | -0.411 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_SLG | 0.456 | 0.000 | 0.250 | Hitting_SLG | 0.385 | 0.250 | -0.385 | -0.250 |
| predicted_SO | 0.618 | 1.000 | 1.000 | Hitting_SO | 0.670 | 0.000 | 0.330 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.3380 -> 1.0000 (boost 0.6620, 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 | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2410 -> 0.2488 (boost 0.0078, better) | predicted_AB: 4.1000 -> 3.9729 (deboost -0.1271, worse) | Final model input calibrated with local 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.4219 -> 0.3609 (deboost -0.0610, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.5965 -> 1.0000 (boost 0.4035, worse) | predicted_RBI: 0.3917 -> 0.0000 (deboost -0.3917, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.238 HR/AB=0.020 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4170 -> 0.0000 (deboost -0.4170, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3609 -> 0.2500 (deboost -0.1109, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3609 (boost 0.1109, 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.206,
"predicted_3B": 0.0,
"predicted_AB": 4.1,
"predicted_AVG": 0.241,
"predicted_BB": 0.338,
"predicted_H": 0.99,
"predicted_HR": 0.09,
"predicted_OBP": 0.319,
"predicted_R": 0.426,
"predicted_RBI": 0.41,
"predicted_SLG": 0.456,
"predicted_SO": 0.618
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2039,
"predicted_3B": 0.0004,
"predicted_AB": 3.9729,
"predicted_AVG": 0.2488,
"predicted_BB": 0.3519,
"predicted_H": 0.9883,
"predicted_HBP": 0.043,
"predicted_HR": 0.0854,
"predicted_OBP": 0.3241,
"predicted_R": 0.4247,
"predicted_RBI": 0.399,
"predicted_SLG": 0.4219,
"predicted_SO": 0.5944
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.206,
"after": 0.2039,
"delta": -0.0021,
"percent_delta": -0.0102,
"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": 3.9729,
"delta": -0.1271,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2488,
"delta": 0.0078,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.3519,
"delta": 0.0139,
"percent_delta": 0.0411,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9883,
"delta": -0.0017,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0854,
"delta": -0.0046,
"percent_delta": -0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3241,
"delta": 0.0051,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 0.4247,
"delta": -0.0013,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.399,
"delta": -0.011,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4219,
"delta": -0.0341,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.618,
"after": 0.5944,
"delta": -0.0236,
"percent_delta": -0.0382,
"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_AVG",
"before": 0.241,
"after": 0.2488,
"delta": 0.0078,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9729,
"delta": -0.1271,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.2039,
"predicted_3B": 0.0004,
"predicted_AB": 3.9729,
"predicted_AVG": 0.246,
"predicted_BB": 0.3507,
"predicted_H": 0.9775,
"predicted_HBP": 0.043,
"predicted_HR": 0.0839,
"predicted_OBP": 0.3072,
"predicted_R": 0.417,
"predicted_RBI": 0.3917,
"predicted_SLG": 0.3609,
"predicted_SO": 0.5965
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2039,
"after": 0.2039,
"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.9729,
"after": 3.9729,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2488,
"after": 0.246,
"delta": -0.0028,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3519,
"after": 0.3507,
"delta": -0.0012,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9883,
"after": 0.9775,
"delta": -0.0108,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0854,
"after": 0.0839,
"delta": -0.0015,
"percent_delta": -0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3241,
"after": 0.3072,
"delta": -0.0169,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4247,
"after": 0.417,
"delta": -0.0077,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.399,
"after": 0.3917,
"delta": -0.0073,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4219,
"after": 0.3609,
"delta": -0.061,
"percent_delta": -0.1446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5944,
"after": 0.5965,
"delta": 0.0021,
"percent_delta": 0.0035,
"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.4219,
"after": 0.3609,
"delta": -0.061,
"percent_delta": -0.1446,
"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.238 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.2039,
"after": 0.0,
"delta": -0.2039,
"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.9729,
"after": 4.0,
"delta": 0.0271,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3507,
"after": 0.0,
"delta": -0.3507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9775,
"after": 1.0,
"delta": 0.0225,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0839,
"after": 0.0,
"delta": -0.0839,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3917,
"after": 0.0,
"delta": -0.3917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5965,
"after": 1.0,
"delta": 0.4035,
"percent_delta": 0.6764,
"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.5965,
"after": 1.0,
"delta": 0.4035,
"percent_delta": 0.6764,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3917,
"after": 0.0,
"delta": -0.3917,
"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.091)",
"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.417,
"after": 0.0,
"delta": -0.417,
"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.417,
"after": 0.0,
"delta": -0.417,
"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.246,
"after": 0.25,
"delta": 0.004,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3072,
"after": 0.25,
"delta": -0.0572,
"percent_delta": -0.1862,
"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.3609,
"after": 0.25,
"delta": -0.1109,
"percent_delta": -0.3073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.3609,
"after": 0.25,
"delta": -0.1109,
"percent_delta": -0.3073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.246,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3072,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3609,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.246,
"delta": -0.004,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3072,
"delta": 0.0572,
"percent_delta": 0.2288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3609,
"delta": 0.1109,
"percent_delta": 0.4438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.3609,
"delta": 0.1109,
"percent_delta": 0.4438,
"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.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.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.246,
"delta": 0.005,
"percent_delta": 0.0207,
"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": 0.99,
"after": 0.0,
"delta": -0.99,
"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.319,
"after": 0.3072,
"delta": -0.0118,
"percent_delta": -0.037,
"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.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.3609,
"delta": -0.0951,
"percent_delta": -0.2086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"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.338,
"after": 1.0,
"delta": 0.662,
"percent_delta": 1.9586,
"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.206 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.338 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.426 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 0.618 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.002 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.973 | -0.127 |
| predicted_AVG | 0.249 | 0.008 |
| predicted_BB | 0.352 | 0.014 |
| predicted_H | 0.988 | -0.002 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.085 | -0.005 |
| predicted_OBP | 0.324 | 0.005 |
| predicted_R | 0.425 | -0.001 |
| predicted_RBI | 0.399 | -0.011 |
| predicted_SLG | 0.422 | -0.034 |
| predicted_SO | 0.594 | -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.204 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.973 | 0.000 |
| predicted_AVG | 0.246 | -0.003 |
| predicted_BB | 0.351 | -0.001 |
| predicted_H | 0.978 | -0.011 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.084 | -0.002 |
| predicted_OBP | 0.307 | -0.017 |
| predicted_R | 0.417 | -0.008 |
| predicted_RBI | 0.392 | -0.007 |
| predicted_SLG | 0.361 | -0.061 |
| predicted_SO | 0.597 | 0.002 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.238 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 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
| 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.204 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.027 |
| predicted_AVG | 0.250 | 0.004 |
| predicted_BB | 0.000 | -0.351 |
| predicted_H | 1.000 | 0.022 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.250 | -0.057 |
| predicted_R | 0.000 | -0.417 |
| predicted_RBI | 0.000 | -0.392 |
| predicted_SLG | 0.250 | -0.111 |
| predicted_SO | 1.000 | 0.403 |
Attached 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 | - | 19.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.2105 | 0.2857 | 0.2632 | 0.2105 | 0.0000 | 0.0000 | 0.1053 | 0.1053 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 2.000 | 0.000 | 1.000 | 5.000 | 6.000 | 5.000 | 4.000 | 0.3077 | 0.3864 | 0.4359 | 0.3077 | 0.0256 | 0.1282 | 0.1282 | 0.1026 |
| season | 0.60 | 68 | - | 256.000 | 67.000 | 14.000 | 0.000 | 6.000 | 31.000 | 29.000 | 23.000 | 42.000 | 0.2617 | 0.3322 | 0.3867 | 0.2617 | 0.0234 | 0.1211 | 0.0898 | 0.1641 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7990 |
| predicted_AVG | 0.2594 |
| predicted_BB | 0.3710 |
| predicted_H | 0.9860 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.0790 |
| predicted_OBP | 0.3311 |
| predicted_R | 0.4230 |
| predicted_RBI | 0.3840 |
| predicted_SLG | 0.3753 |
| predicted_SO | 0.5620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2060 | 0.2010 | 0.2039 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1000 | 3.7990 | 3.9729 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2594 | 0.2488 | model_form_blend |
| predicted_BB | 0.3380 | 0.3710 | 0.3519 | model_form_blend |
| predicted_H | 0.9900 | 0.9860 | 0.9883 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.0900 | 0.0790 | 0.0854 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3311 | 0.3241 | model_form_blend |
| predicted_R | 0.4260 | 0.4230 | 0.4247 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3840 | 0.3990 | model_form_blend |
| predicted_SLG | 0.4560 | 0.3753 | 0.4219 | model_form_blend |
| predicted_SO | 0.6180 | 0.5620 | 0.5944 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.262 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.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 | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 694384 |
| playerID | 694384 |
| playerName | Nolan Schanuel |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-30 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.32 |
| sl_xwoba | 0.32 |
| sl_xba | 0.273 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 32.9 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 11.6 |
| sl_whiff_percent | 18.1 |
| sl_swing_percent | 45.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.174 | 0.000 | 0.000 | Hitting_2B | 0.141 | 0.000 | -0.141 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.970 | 3.000 | 4.000 | Hitting_AB | 3.951 | 4.000 | -0.951 | -1.000 |
| predicted_AVG | 0.232 | 0.333 | 0.250 | Hitting_AVG | 0.245 | 0.000 | 0.088 | 0.333 |
| predicted_BB | 0.116 | 1.000 | 0.000 | Hitting_BB | 0.129 | 0.000 | 0.871 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.920 | 1.000 | 1.000 | Hitting_H | 0.970 | 0.000 | 0.030 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.288 | 0.500 | 0.250 | Hitting_OBP | 0.293 | 0.000 | 0.207 | 0.500 |
| predicted_R | 0.453 | 1.000 | 0.000 | Hitting_R | 0.414 | 0.000 | 0.586 | 1.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_SLG | 0.491 | 0.333 | 0.250 | Hitting_SLG | 0.384 | 0.000 | -0.051 | 0.333 |
| predicted_SO | 0.953 | 1.000 | 1.000 | Hitting_SO | 0.981 | 0.000 | 0.019 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1160 -> 1.0000 (boost 0.8840, 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4910 -> 0.4620 (deboost -0.0290, worse) | Final model input calibrated with local 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.4620 -> 0.3982 (deboost -0.0638, 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.5240 -> 1.0000 (boost 0.4760, better) | predicted_HBP: 0.1920 -> 0.0000 (deboost -0.1920, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.229 HR/AB=0.034 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4385 -> 0.0000 (deboost -0.4385, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2304 -> 0.2500 (boost 0.0196, better) | predicted_SLG: 0.3982 -> 0.2500 (deboost -0.1482, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3982 (boost 0.1482, better) | predicted_AVG: 0.2500 -> 0.2304 (deboost -0.0196, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666176",
"player_name": "Jo Adell",
"position": "RF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.012,
"predicted_AB": 3.97,
"predicted_AVG": 0.232,
"predicted_BB": 0.116,
"predicted_H": 0.92,
"predicted_HR": 0.14,
"predicted_OBP": 0.288,
"predicted_R": 0.453,
"predicted_RBI": 0.52,
"predicted_SLG": 0.491,
"predicted_SO": 0.953
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.0342,
"predicted_AB": 3.952,
"predicted_AVG": 0.2331,
"predicted_BB": 0.1104,
"predicted_H": 0.9204,
"predicted_HBP": 0.192,
"predicted_HR": 0.1387,
"predicted_OBP": 0.2877,
"predicted_R": 0.4466,
"predicted_RBI": 0.5337,
"predicted_SLG": 0.462,
"predicted_SO": 0.9171
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.186,
"delta": 0.012,
"percent_delta": 0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0342,
"delta": 0.0222,
"percent_delta": 1.85,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.97,
"after": 3.952,
"delta": -0.018,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2331,
"delta": 0.0011,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.116,
"after": 0.1104,
"delta": -0.0056,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9204,
"delta": 0.0004,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1387,
"delta": -0.0013,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2877,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 0.4466,
"delta": -0.0064,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5337,
"delta": 0.0137,
"percent_delta": 0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.462,
"delta": -0.029,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.953,
"after": 0.9171,
"delta": -0.0359,
"percent_delta": -0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.491,
"after": 0.462,
"delta": -0.029,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 86
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.0342,
"predicted_AB": 3.952,
"predicted_AVG": 0.2304,
"predicted_BB": 0.11,
"predicted_H": 0.9104,
"predicted_HBP": 0.192,
"predicted_HR": 0.1363,
"predicted_OBP": 0.2512,
"predicted_R": 0.4385,
"predicted_RBI": 0.524,
"predicted_SLG": 0.3982,
"predicted_SO": 0.9203
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.186,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0342,
"after": 0.0342,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.952,
"after": 3.952,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2331,
"after": 0.2304,
"delta": -0.0027,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1104,
"after": 0.11,
"delta": -0.0004,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9204,
"after": 0.9104,
"delta": -0.01,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.192,
"after": 0.192,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1387,
"after": 0.1363,
"delta": -0.0024,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2877,
"after": 0.2512,
"delta": -0.0365,
"percent_delta": -0.1269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4466,
"after": 0.4385,
"delta": -0.0081,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5337,
"after": 0.524,
"delta": -0.0097,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.462,
"after": 0.3982,
"delta": -0.0638,
"percent_delta": -0.1381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9171,
"after": 0.9203,
"delta": 0.0032,
"percent_delta": 0.0035,
"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.462,
"after": 0.3982,
"delta": -0.0638,
"percent_delta": -0.1381,
"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.229 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.186,
"after": 0.0,
"delta": -0.186,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0342,
"after": 0.0,
"delta": -0.0342,
"percent_delta": -1.0,
"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_BB",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9104,
"after": 1.0,
"delta": 0.0896,
"percent_delta": 0.0984,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.192,
"after": 0.0,
"delta": -0.192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1363,
"after": 0.0,
"delta": -0.1363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.524,
"after": 1.0,
"delta": 0.476,
"percent_delta": 0.9084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9203,
"after": 1.0,
"delta": 0.0797,
"percent_delta": 0.0866,
"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.524,
"after": 1.0,
"delta": 0.476,
"percent_delta": 0.9084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.192,
"after": 0.0,
"delta": -0.192,
"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": 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.4385,
"after": 0.0,
"delta": -0.4385,
"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.4385,
"after": 0.0,
"delta": -0.4385,
"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.2304,
"after": 0.25,
"delta": 0.0196,
"percent_delta": 0.0851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2512,
"after": 0.25,
"delta": -0.0012,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3982,
"after": 0.25,
"delta": -0.1482,
"percent_delta": -0.3722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.2304,
"after": 0.25,
"delta": 0.0196,
"percent_delta": 0.0851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3982,
"after": 0.25,
"delta": -0.1482,
"percent_delta": -0.3722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2304,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2512,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3982,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2304,
"delta": -0.0196,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2512,
"delta": 0.0012,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3982,
"delta": 0.1482,
"percent_delta": 0.5927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.3982,
"delta": 0.1482,
"percent_delta": 0.5927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2304,
"delta": -0.0196,
"percent_delta": -0.0786,
"direction": "deboost",
"projection_effect": "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.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"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.232,
"after": 0.2304,
"delta": -0.0016,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.116,
"after": 1.0,
"delta": 0.884,
"percent_delta": 7.6207,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2512,
"delta": -0.0368,
"percent_delta": -0.1278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.453,
"after": 1.0,
"delta": 0.547,
"percent_delta": 1.2075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.3982,
"delta": -0.0928,
"percent_delta": -0.189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.953,
"after": 1.0,
"delta": 0.047,
"percent_delta": 0.0493,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.116,
"after": 1.0,
"delta": 0.884,
"percent_delta": 7.6207,
"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.174 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.116 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.453 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.491 | - |
| predicted_SO | 0.953 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.186 | 0.012 |
| predicted_3B | 0.034 | 0.022 |
| predicted_AB | 3.952 | -0.018 |
| predicted_AVG | 0.233 | 0.001 |
| predicted_BB | 0.110 | -0.006 |
| predicted_H | 0.920 | 0.000 |
| predicted_HBP | 0.192 | - |
| predicted_HR | 0.139 | -0.001 |
| predicted_OBP | 0.288 | -0.000 |
| predicted_R | 0.447 | -0.006 |
| predicted_RBI | 0.534 | 0.014 |
| predicted_SLG | 0.462 | -0.029 |
| predicted_SO | 0.917 | -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.186 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 3.952 | 0.000 |
| predicted_AVG | 0.230 | -0.003 |
| predicted_BB | 0.110 | -0.000 |
| predicted_H | 0.910 | -0.010 |
| predicted_HBP | 0.192 | 0.000 |
| predicted_HR | 0.136 | -0.002 |
| predicted_OBP | 0.251 | -0.037 |
| predicted_R | 0.439 | -0.008 |
| predicted_RBI | 0.524 | -0.010 |
| predicted_SLG | 0.398 | -0.064 |
| predicted_SO | 0.920 | 0.003 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.229 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 | - |
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 | 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.186 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 4.000 | 0.048 |
| predicted_AVG | 0.250 | 0.020 |
| predicted_BB | 0.000 | -0.110 |
| predicted_H | 1.000 | 0.090 |
| predicted_HR | 0.000 | -0.136 |
| predicted_OBP | 0.250 | -0.001 |
| predicted_R | 0.000 | -0.439 |
| predicted_RBI | 1.000 | 0.476 |
| predicted_SLG | 0.250 | -0.148 |
| predicted_SO | 1.000 | 0.080 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | 1.000 | 1.000 | 4.000 | 2.000 | 0.000 | 3.000 | 0.2105 | 0.2857 | 0.5263 | 0.2105 | 0.0526 | 0.2105 | 0.0000 | 0.1579 |
| last_10 | 0.20 | 10 | - | 41.000 | 9.000 | 3.000 | 1.000 | 1.000 | 4.000 | 4.000 | 1.000 | 9.000 | 0.2195 | 0.2727 | 0.4146 | 0.2195 | 0.0244 | 0.0976 | 0.0244 | 0.2195 |
| season | 0.60 | 86 | - | 338.000 | 83.000 | 15.000 | 1.000 | 11.000 | 45.000 | 39.000 | 10.000 | 82.000 | 0.2456 | 0.2901 | 0.3935 | 0.2456 | 0.0325 | 0.1331 | 0.0296 | 0.2426 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2020 |
| predicted_3B | 0.0640 |
| predicted_AB | 3.9280 |
| predicted_AVG | 0.2345 |
| predicted_BB | 0.1030 |
| predicted_H | 0.9210 |
| predicted_HBP | 0.1920 |
| predicted_HR | 0.1370 |
| predicted_OBP | 0.2873 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.5520 |
| predicted_SLG | 0.4231 |
| predicted_SO | 0.8690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.2020 | 0.1860 | model_form_blend |
| predicted_3B | 0.0120 | 0.0640 | 0.0342 | model_form_blend |
| predicted_AB | 3.9700 | 3.9280 | 3.9520 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2345 | 0.2331 | model_form_blend |
| predicted_BB | 0.1160 | 0.1030 | 0.1104 | model_form_blend |
| predicted_H | 0.9200 | 0.9210 | 0.9204 | model_form_blend |
| predicted_HBP | - | 0.1920 | 0.1920 | form_only |
| predicted_HR | 0.1400 | 0.1370 | 0.1387 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2873 | 0.2877 | model_form_blend |
| predicted_R | 0.4530 | 0.4380 | 0.4466 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5520 | 0.5337 | model_form_blend |
| predicted_SLG | 0.4910 | 0.4231 | 0.4620 | model_form_blend |
| predicted_SO | 0.9530 | 0.8690 | 0.9171 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 86 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.246 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-30 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 2.8 |
| sl_woba | 0.3 |
| sl_xwoba | 0.32 |
| sl_xba | 0.258 |
| sl_xslg | 0.432 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 17.6 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 55.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.153 | 0.000 | 0.000 | Hitting_2B | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.319 | 4.000 | 3.000 | Hitting_AB | 3.398 | 4.000 | 0.602 | 0.000 |
| predicted_AVG | 0.243 | 0.000 | 0.333 | Hitting_AVG | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_BB | 0.111 | 0.000 | 0.000 | Hitting_BB | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.930 | 0.000 | -0.930 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.264 | 0.000 | 0.333 | Hitting_OBP | 0.339 | 0.000 | -0.339 | 0.000 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.376 | 0.000 | -0.376 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.376 | 0.000 | -0.376 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_SLG | 0.432 | 0.000 | 0.333 | Hitting_SLG | 0.453 | 0.000 | -0.453 | 0.000 |
| predicted_SO | 0.972 | 2.000 | 1.000 | Hitting_SO | 0.973 | 1.000 | 1.027 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.9720 -> 2.0000 (boost 1.0280, worse) |
| Biggest Deboost | predicted_H: 0.7500 -> 0.0000 (deboost -0.7500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.9720 -> 1.0240 (boost 0.0520, worse) | predicted_SLG: 0.4320 -> 0.3906 (deboost -0.0414, worse) | Final model input calibrated with local form: 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.3507 (deboost -0.0399, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.7497 -> 1.0000 (boost 0.2503, better) | predicted_AB: 3.3601 -> 3.0000 (deboost -0.3601, worse) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.223 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3438 -> 0.0000 (deboost -0.3438, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2231 -> 0.3330 (boost 0.1099, better) | predicted_SLG: 0.3507 -> 0.3330 (deboost -0.0177, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_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.3507 (boost 0.0177, better) | predicted_AVG: 0.3330 -> 0.2231 (deboost -0.1099, 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.153,
"predicted_3B": 0.028,
"predicted_AB": 3.319,
"predicted_AVG": 0.243,
"predicted_BB": 0.111,
"predicted_H": 0.75,
"predicted_HR": 0.09,
"predicted_OBP": 0.264,
"predicted_R": 0.333,
"predicted_RBI": 0.3,
"predicted_SLG": 0.432,
"predicted_SO": 0.972
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0234,
"predicted_AB": 3.3601,
"predicted_AVG": 0.2355,
"predicted_BB": 0.1009,
"predicted_H": 0.758,
"predicted_HBP": 0.049,
"predicted_HR": 0.0799,
"predicted_OBP": 0.2595,
"predicted_R": 0.3502,
"predicted_RBI": 0.2866,
"predicted_SLG": 0.3906,
"predicted_SO": 1.024
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.1463,
"delta": -0.0067,
"percent_delta": -0.0438,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0234,
"delta": -0.0046,
"percent_delta": -0.1643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.319,
"after": 3.3601,
"delta": 0.0411,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2355,
"delta": -0.0075,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.111,
"after": 0.1009,
"delta": -0.0101,
"percent_delta": -0.091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.758,
"delta": 0.008,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0799,
"delta": -0.0101,
"percent_delta": -0.1122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2595,
"delta": -0.0045,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3502,
"delta": 0.0172,
"percent_delta": 0.0517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.2866,
"delta": -0.0134,
"percent_delta": -0.0447,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.3906,
"delta": -0.0414,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.972,
"after": 1.024,
"delta": 0.052,
"percent_delta": 0.0535,
"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.972,
"after": 1.024,
"delta": 0.052,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.3906,
"delta": -0.0414,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1463,
"predicted_3B": 0.0234,
"predicted_AB": 3.3601,
"predicted_AVG": 0.2231,
"predicted_BB": 0.1005,
"predicted_H": 0.7497,
"predicted_HBP": 0.049,
"predicted_HR": 0.0785,
"predicted_OBP": 0.2457,
"predicted_R": 0.3438,
"predicted_RBI": 0.2814,
"predicted_SLG": 0.3507,
"predicted_SO": 1.0276
},
"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.0234,
"after": 0.0234,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3601,
"after": 3.3601,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2355,
"after": 0.2231,
"delta": -0.0124,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1009,
"after": 0.1005,
"delta": -0.0004,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.758,
"after": 0.7497,
"delta": -0.0083,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.049,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0799,
"after": 0.0785,
"delta": -0.0014,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2595,
"after": 0.2457,
"delta": -0.0138,
"percent_delta": -0.0532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3502,
"after": 0.3438,
"delta": -0.0064,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2866,
"after": 0.2814,
"delta": -0.0052,
"percent_delta": -0.0181,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3906,
"after": 0.3507,
"delta": -0.0399,
"percent_delta": -0.1022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.024,
"after": 1.0276,
"delta": 0.0036,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_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.3507,
"delta": -0.0399,
"percent_delta": -0.1022,
"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.223 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.1463,
"after": 0.0,
"delta": -0.1463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0234,
"after": 0.0,
"delta": -0.0234,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3601,
"after": 3.0,
"delta": -0.3601,
"percent_delta": -0.1072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1005,
"after": 0.0,
"delta": -0.1005,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7497,
"after": 1.0,
"delta": 0.2503,
"percent_delta": 0.3339,
"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.0785,
"after": 0.0,
"delta": -0.0785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2814,
"after": 0.0,
"delta": -0.2814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0276,
"after": 1.0,
"delta": -0.0276,
"percent_delta": -0.0269,
"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.7497,
"after": 1.0,
"delta": 0.2503,
"percent_delta": 0.3339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3601,
"after": 3.0,
"delta": -0.3601,
"percent_delta": -0.1072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3438,
"after": 0.0,
"delta": -0.3438,
"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.3438,
"after": 0.0,
"delta": -0.3438,
"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.2231,
"after": 0.333,
"delta": 0.1099,
"percent_delta": 0.4926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2457,
"after": 0.333,
"delta": 0.0873,
"percent_delta": 0.3553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3507,
"after": 0.333,
"delta": -0.0177,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2231,
"after": 0.333,
"delta": 0.1099,
"percent_delta": 0.4926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3507,
"after": 0.333,
"delta": -0.0177,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2231,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2457,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3507,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2231,
"delta": -0.1099,
"percent_delta": -0.3299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2457,
"delta": -0.0873,
"percent_delta": -0.2622,
"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.3507,
"delta": 0.0177,
"percent_delta": 0.0531,
"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.3507,
"delta": 0.0177,
"percent_delta": 0.0531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2231,
"delta": -0.1099,
"percent_delta": -0.3299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.319,
"after": 4.0,
"delta": 0.681,
"percent_delta": 0.2052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2231,
"delta": -0.0199,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"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.264,
"after": 0.2457,
"delta": -0.0183,
"percent_delta": -0.0693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.432,
"after": 0.3507,
"delta": -0.0813,
"percent_delta": -0.1882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.972,
"after": 2.0,
"delta": 1.028,
"percent_delta": 1.0576,
"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.972,
"after": 2.0,
"delta": 1.028,
"percent_delta": 1.0576,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 3.319 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.111 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.264 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.432 | - |
| predicted_SO | 0.972 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.007 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.360 | 0.041 |
| predicted_AVG | 0.235 | -0.008 |
| predicted_BB | 0.101 | -0.010 |
| predicted_H | 0.758 | 0.008 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.080 | -0.010 |
| predicted_OBP | 0.260 | -0.005 |
| predicted_R | 0.350 | 0.017 |
| predicted_RBI | 0.287 | -0.013 |
| predicted_SLG | 0.391 | -0.041 |
| predicted_SO | 1.024 | 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.146 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.360 | 0.000 |
| predicted_AVG | 0.223 | -0.012 |
| predicted_BB | 0.101 | -0.000 |
| predicted_H | 0.750 | -0.008 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.079 | -0.001 |
| predicted_OBP | 0.246 | -0.014 |
| predicted_R | 0.344 | -0.006 |
| predicted_RBI | 0.281 | -0.005 |
| predicted_SLG | 0.351 | -0.040 |
| predicted_SO | 1.028 | 0.004 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.223 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.146 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.360 |
| predicted_AVG | 0.333 | 0.110 |
| predicted_BB | 0.000 | -0.101 |
| predicted_H | 1.000 | 0.250 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.333 | 0.087 |
| predicted_R | 0.000 | -0.344 |
| predicted_RBI | 0.000 | -0.281 |
| predicted_SLG | 0.333 | -0.018 |
| predicted_SO | 1.000 | -0.028 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 7.000 | 0.1176 | 0.1176 | 0.1176 | 0.1177 | 0.0000 | 0.0588 | 0.0000 | 0.4118 |
| last_10 | 0.20 | 10 | - | 35.000 | 8.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 0.000 | 13.000 | 0.2286 | 0.2286 | 0.2857 | 0.2286 | 0.0000 | 0.0286 | 0.0000 | 0.3714 |
| season | 0.60 | 72 | - | 239.000 | 61.000 | 11.000 | 2.000 | 7.000 | 22.000 | 24.000 | 8.000 | 70.000 | 0.2552 | 0.2964 | 0.4059 | 0.2552 | 0.0293 | 0.0921 | 0.0335 | 0.2929 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1370 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.4170 |
| predicted_AVG | 0.2250 |
| predicted_BB | 0.0870 |
| predicted_H | 0.7690 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.2533 |
| predicted_R | 0.3740 |
| predicted_RBI | 0.2680 |
| predicted_SLG | 0.3331 |
| predicted_SO | 1.0960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1530 | 0.1370 | 0.1463 | model_form_blend |
| predicted_3B | 0.0280 | 0.0170 | 0.0234 | model_form_blend |
| predicted_AB | 3.3190 | 3.4170 | 3.3601 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2250 | 0.2355 | model_form_blend |
| predicted_BB | 0.1110 | 0.0870 | 0.1009 | model_form_blend |
| predicted_H | 0.7500 | 0.7690 | 0.7580 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0900 | 0.0660 | 0.0799 | model_form_blend |
| predicted_OBP | 0.2640 | 0.2533 | 0.2595 | model_form_blend |
| predicted_R | 0.3330 | 0.3740 | 0.3502 | model_form_blend |
| predicted_RBI | 0.3000 | 0.2680 | 0.2866 | model_form_blend |
| predicted_SLG | 0.4320 | 0.3331 | 0.3906 | model_form_blend |
| predicted_SO | 0.9720 | 1.0960 | 1.0240 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 186 |
| Season rows before report date | 186 |
| 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 | 2 |
| 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.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 | 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 | 20260629_LAA@SEA |
| game_type | full |
| mlbID | 672724 |
| playerID | 672724 |
| playerName | Oswald Peraza |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-29 |
| sl_k_percent | 27.5 |
| sl_bb_percent | 3.5 |
| sl_woba | 0.31 |
| sl_xwoba | 0.296 |
| sl_xba | 0.246 |
| sl_xslg | 0.384 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 9.4 |
| sl_whiff_percent | 30.1 |
| 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.085 | 0.000 | 0.000 | Hitting_2B | 0.057 | 0.000 | -0.057 | 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.248 | 3.000 | -0.248 | 0.000 |
| predicted_AVG | 0.276 | 0.333 | 0.333 | Hitting_AVG | 0.194 | 0.333 | 0.139 | 0.000 |
| predicted_BB | 0.149 | 0.000 | 0.000 | Hitting_BB | 0.170 | 1.000 | -0.170 | -1.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.631 | 1.000 | 0.369 | 0.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | 0.865 | 1.000 |
| predicted_OBP | 0.319 | 0.333 | 0.333 | Hitting_OBP | 0.238 | 0.500 | 0.095 | -0.167 |
| predicted_R | 0.234 | 1.000 | 0.000 | Hitting_R | 0.241 | 1.000 | 0.759 | 0.000 |
| predicted_RBI | 0.440 | 3.000 | 0.000 | Hitting_RBI | 0.383 | 0.000 | 2.617 | 3.000 |
| predicted_SLG | 0.532 | 1.333 | 0.333 | Hitting_SLG | 0.336 | 0.333 | 0.997 | 1.000 |
| predicted_SO | 0.915 | 1.000 | 1.000 | Hitting_SO | 0.979 | 1.000 | 0.021 | 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_RBI: 0.4400 -> 3.0000 (boost 2.5600, better) |
| Biggest Deboost | predicted_BB: 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 | 3 | 1 | 3 | 1 | predicted_H: 0.7300 -> 0.8051 (boost 0.0751, better) | predicted_SLG: 0.5320 -> 0.5207 (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_SLG: 0.5207 -> 0.4348 (deboost -0.0859, 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.7963 -> 1.0000 (boost 0.2037, better) | predicted_RBI: 0.4750 -> 0.0000 (deboost -0.4750, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.258 HR/AB=0.045 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.714) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2830 -> 0.0000 (deboost -0.2830, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2585 -> 0.3330 (boost 0.0745, better) | predicted_SLG: 0.4348 -> 0.3330 (deboost -0.1018, worse) | 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_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4348 (boost 0.1018, better) | predicted_AVG: 0.3330 -> 0.2585 (deboost -0.0745, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666139",
"player_name": "Josh Lowe",
"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.085,
"predicted_3B": 0.0,
"predicted_AB": 3.043,
"predicted_AVG": 0.276,
"predicted_BB": 0.149,
"predicted_H": 0.73,
"predicted_HR": 0.13,
"predicted_OBP": 0.319,
"predicted_R": 0.234,
"predicted_RBI": 0.44,
"predicted_SLG": 0.532,
"predicted_SO": 0.915
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1288,
"predicted_3B": 0.0008,
"predicted_AB": 3.0808,
"predicted_AVG": 0.2825,
"predicted_BB": 0.1566,
"predicted_H": 0.8051,
"predicted_HBP": 0.015,
"predicted_HR": 0.14,
"predicted_OBP": 0.3237,
"predicted_R": 0.2882,
"predicted_RBI": 0.4838,
"predicted_SLG": 0.5207,
"predicted_SO": 0.868
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.1288,
"delta": 0.0438,
"percent_delta": 0.5153,
"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.0808,
"delta": 0.0378,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2825,
"delta": 0.0065,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.149,
"after": 0.1566,
"delta": 0.0076,
"percent_delta": 0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.8051,
"delta": 0.0751,
"percent_delta": 0.1029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.14,
"delta": 0.01,
"percent_delta": 0.0769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3237,
"delta": 0.0047,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.234,
"after": 0.2882,
"delta": 0.0542,
"percent_delta": 0.2316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4838,
"delta": 0.0438,
"percent_delta": 0.0995,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.532,
"after": 0.5207,
"delta": -0.0113,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.915,
"after": 0.868,
"delta": -0.047,
"percent_delta": -0.0514,
"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": 0.73,
"after": 0.8051,
"delta": 0.0751,
"percent_delta": 0.1029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.532,
"after": 0.5207,
"delta": -0.0113,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1288,
"predicted_3B": 0.0008,
"predicted_AB": 3.0808,
"predicted_AVG": 0.2585,
"predicted_BB": 0.1561,
"predicted_H": 0.7963,
"predicted_HBP": 0.015,
"predicted_HR": 0.1376,
"predicted_OBP": 0.2942,
"predicted_R": 0.283,
"predicted_RBI": 0.475,
"predicted_SLG": 0.4348,
"predicted_SO": 0.871
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0808,
"after": 3.0808,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2825,
"after": 0.2585,
"delta": -0.024,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1566,
"after": 0.1561,
"delta": -0.0005,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8051,
"after": 0.7963,
"delta": -0.0088,
"percent_delta": -0.0109,
"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.14,
"after": 0.1376,
"delta": -0.0024,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3237,
"after": 0.2942,
"delta": -0.0295,
"percent_delta": -0.0911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2882,
"after": 0.283,
"delta": -0.0052,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4838,
"after": 0.475,
"delta": -0.0088,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5207,
"after": 0.4348,
"delta": -0.0859,
"percent_delta": -0.165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.868,
"after": 0.871,
"delta": 0.003,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5207,
"after": 0.4348,
"delta": -0.0859,
"percent_delta": -0.165,
"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.258 HR/AB=0.045",
"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.1288,
"after": 0.0,
"delta": -0.1288,
"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.0808,
"after": 3.0,
"delta": -0.0808,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1561,
"after": 0.0,
"delta": -0.1561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7963,
"after": 1.0,
"delta": 0.2037,
"percent_delta": 0.2558,
"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.1376,
"after": 0.0,
"delta": -0.1376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.475,
"after": 0.0,
"delta": -0.475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.871,
"after": 1.0,
"delta": 0.129,
"percent_delta": 0.1481,
"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.7963,
"after": 1.0,
"delta": 0.2037,
"percent_delta": 0.2558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.475,
"after": 0.0,
"delta": -0.475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.714)",
"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.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.283,
"after": 0.0,
"delta": -0.283,
"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.283,
"after": 0.0,
"delta": -0.283,
"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.2585,
"after": 0.333,
"delta": 0.0745,
"percent_delta": 0.2882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.4348,
"after": 0.333,
"delta": -0.1018,
"percent_delta": -0.2341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2585,
"after": 0.333,
"delta": 0.0745,
"percent_delta": 0.2882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4348,
"after": 0.333,
"delta": -0.1018,
"percent_delta": -0.2341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2585,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2942,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4348,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2585,
"delta": -0.0745,
"percent_delta": -0.2238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2942,
"delta": -0.0388,
"percent_delta": -0.1164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4348,
"delta": 0.1018,
"percent_delta": 0.3056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4348,
"delta": 0.1018,
"percent_delta": 0.3056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2585,
"delta": -0.0745,
"percent_delta": -0.2238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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.276,
"after": 0.2585,
"delta": -0.0175,
"percent_delta": -0.0634,
"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.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.2942,
"delta": -0.0248,
"percent_delta": -0.0777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.234,
"after": 1.0,
"delta": 0.766,
"percent_delta": 3.2735,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 3.0,
"delta": 2.56,
"percent_delta": 5.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.532,
"after": 0.4348,
"delta": -0.0972,
"percent_delta": -0.1827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.915,
"after": 1.0,
"delta": 0.085,
"percent_delta": 0.0929,
"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_RBI",
"before": 0.44,
"after": 3.0,
"delta": 2.56,
"percent_delta": 5.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.085 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.043 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.149 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.234 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.532 | - |
| predicted_SO | 0.915 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | 0.044 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.081 | 0.038 |
| predicted_AVG | 0.282 | 0.006 |
| predicted_BB | 0.157 | 0.008 |
| predicted_H | 0.805 | 0.075 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.140 | 0.010 |
| predicted_OBP | 0.324 | 0.005 |
| predicted_R | 0.288 | 0.054 |
| predicted_RBI | 0.484 | 0.044 |
| predicted_SLG | 0.521 | -0.011 |
| predicted_SO | 0.868 | -0.047 |
Step 3: 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.001 | 0.000 |
| predicted_AB | 3.081 | 0.000 |
| predicted_AVG | 0.259 | -0.024 |
| predicted_BB | 0.156 | -0.001 |
| predicted_H | 0.796 | -0.009 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.138 | -0.002 |
| predicted_OBP | 0.294 | -0.029 |
| predicted_R | 0.283 | -0.005 |
| predicted_RBI | 0.475 | -0.009 |
| predicted_SLG | 0.435 | -0.086 |
| predicted_SO | 0.871 | 0.003 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.258 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.714)
| 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.129 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.081 |
| predicted_AVG | 0.333 | 0.075 |
| predicted_BB | 0.000 | -0.156 |
| predicted_H | 1.000 | 0.204 |
| predicted_HR | 0.000 | -0.138 |
| predicted_OBP | 0.333 | 0.039 |
| predicted_R | 0.000 | -0.283 |
| predicted_RBI | 0.000 | -0.475 |
| predicted_SLG | 0.333 | -0.102 |
| predicted_SO | 1.000 | 0.129 |
Attached 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 | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 3.000 | 1.000 | 2.000 | 0.5000 | 0.5333 | 0.8571 | 0.5000 | 0.0714 | 0.2857 | 0.0714 | 0.1429 |
| last_10 | 0.20 | 10 | - | 31.000 | 11.000 | 3.000 | 0.000 | 2.000 | 8.000 | 4.000 | 1.000 | 8.000 | 0.3548 | 0.3750 | 0.6452 | 0.3548 | 0.0645 | 0.2581 | 0.0323 | 0.2581 |
| season | 0.60 | 47 | - | 143.000 | 31.000 | 4.000 | 0.000 | 6.000 | 18.000 | 11.000 | 7.000 | 43.000 | 0.2168 | 0.2566 | 0.3706 | 0.2168 | 0.0420 | 0.1259 | 0.0490 | 0.3007 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1370 |
| predicted_AVG | 0.2923 |
| predicted_BB | 0.1680 |
| predicted_H | 0.9170 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1550 |
| predicted_OBP | 0.3307 |
| predicted_R | 0.3690 |
| predicted_RBI | 0.5490 |
| predicted_SLG | 0.5040 |
| predicted_SO | 0.7980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0850 | 0.1940 | 0.1288 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0430 | 3.1370 | 3.0808 | model_form_blend |
| predicted_AVG | 0.2760 | 0.2923 | 0.2825 | model_form_blend |
| predicted_BB | 0.1490 | 0.1680 | 0.1566 | model_form_blend |
| predicted_H | 0.7300 | 0.9170 | 0.8051 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1300 | 0.1550 | 0.1400 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3307 | 0.3237 | model_form_blend |
| predicted_R | 0.2340 | 0.3690 | 0.2882 | model_form_blend |
| predicted_RBI | 0.4400 | 0.5490 | 0.4838 | model_form_blend |
| predicted_SLG | 0.5320 | 0.5040 | 0.5207 | model_form_blend |
| predicted_SO | 0.9150 | 0.7980 | 0.8680 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 141 |
| Season rows before report date | 141 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.217 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 666139 |
| playerID | 666139 |
| playerName | Josh Lowe |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-30 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.274 |
| sl_xwoba | 0.281 |
| sl_xba | 0.219 |
| sl_xslg | 0.389 |
| sl_sweet_spot_percent | 29.4 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 37.3 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 18.4 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 56.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.140 | 0.000 | 0.000 | Hitting_2B | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.263 | 3.000 | 3.000 | Hitting_AB | 3.318 | 4.000 | -0.318 | -1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.333 | Hitting_AVG | 0.232 | 0.250 | -0.232 | -0.250 |
| predicted_BB | 0.246 | 0.000 | 0.000 | Hitting_BB | 0.338 | 0.000 | -0.338 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 0.000 | 1.000 | Hitting_H | 0.770 | 1.000 | -0.770 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_OBP | 0.274 | 0.000 | 0.333 | Hitting_OBP | 0.315 | 0.250 | -0.315 | -0.250 |
| predicted_R | 0.351 | 0.000 | 0.000 | Hitting_R | 0.399 | 1.000 | -0.399 | -1.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.392 | 1.000 | -0.392 | -1.000 |
| predicted_SLG | 0.412 | 0.000 | 0.333 | Hitting_SLG | 0.314 | 0.250 | -0.314 | -0.250 |
| predicted_SO | 0.895 | 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 | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 0.8950 -> 0.0000 (deboost -0.8950, 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.4120 -> 0.3720 (deboost -0.0400, worse) | Final model input calibrated with local form: 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.3720 -> 0.3242 (deboost -0.0478, 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.7029 -> 1.0000 (boost 0.2971, better) | predicted_RBI: 0.4325 -> 0.0000 (deboost -0.4325, worse) | AB rounded to 3 (raw=3.29), rates preserved: AVG=0.214 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3373 -> 0.0000 (deboost -0.3373, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2136 -> 0.3330 (boost 0.1194, 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.2136 (deboost -0.1194, 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.14,
"predicted_3B": 0.0,
"predicted_AB": 3.263,
"predicted_AVG": 0.241,
"predicted_BB": 0.246,
"predicted_H": 0.69,
"predicted_HR": 0.09,
"predicted_OBP": 0.274,
"predicted_R": 0.351,
"predicted_RBI": 0.41,
"predicted_SLG": 0.412,
"predicted_SO": 0.895
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1214,
"predicted_3B": 0.0008,
"predicted_AB": 3.2898,
"predicted_AVG": 0.2333,
"predicted_BB": 0.2184,
"predicted_H": 0.7106,
"predicted_HBP": 0.032,
"predicted_HR": 0.0817,
"predicted_OBP": 0.271,
"predicted_R": 0.3436,
"predicted_RBI": 0.4405,
"predicted_SLG": 0.372,
"predicted_SO": 0.9165
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.1214,
"delta": -0.0186,
"percent_delta": -0.1329,
"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.263,
"after": 3.2898,
"delta": 0.0268,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2333,
"delta": -0.0077,
"percent_delta": -0.032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.246,
"after": 0.2184,
"delta": -0.0276,
"percent_delta": -0.1122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.7106,
"delta": 0.0206,
"percent_delta": 0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0817,
"delta": -0.0083,
"percent_delta": -0.0922,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.271,
"delta": -0.003,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.351,
"after": 0.3436,
"delta": -0.0074,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4405,
"delta": 0.0305,
"percent_delta": 0.0744,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.412,
"after": 0.372,
"delta": -0.04,
"percent_delta": -0.0971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 0.9165,
"delta": 0.0215,
"percent_delta": 0.024,
"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.412,
"after": 0.372,
"delta": -0.04,
"percent_delta": -0.0971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1214,
"predicted_3B": 0.0008,
"predicted_AB": 3.2898,
"predicted_AVG": 0.2136,
"predicted_BB": 0.2176,
"predicted_H": 0.7029,
"predicted_HBP": 0.032,
"predicted_HR": 0.0803,
"predicted_OBP": 0.2624,
"predicted_R": 0.3373,
"predicted_RBI": 0.4325,
"predicted_SLG": 0.3242,
"predicted_SO": 0.9197
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1214,
"after": 0.1214,
"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.2898,
"after": 3.2898,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2333,
"after": 0.2136,
"delta": -0.0197,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2184,
"after": 0.2176,
"delta": -0.0008,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7106,
"after": 0.7029,
"delta": -0.0077,
"percent_delta": -0.0108,
"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.0817,
"after": 0.0803,
"delta": -0.0014,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.2624,
"delta": -0.0086,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3436,
"after": 0.3373,
"delta": -0.0063,
"percent_delta": -0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4405,
"after": 0.4325,
"delta": -0.008,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3242,
"delta": -0.0478,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9165,
"after": 0.9197,
"delta": 0.0032,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3242,
"delta": -0.0478,
"percent_delta": -0.1285,
"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.214 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.1214,
"after": 0.0,
"delta": -0.1214,
"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.2898,
"after": 3.0,
"delta": -0.2898,
"percent_delta": -0.0881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2176,
"after": 0.0,
"delta": -0.2176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7029,
"after": 1.0,
"delta": 0.2971,
"percent_delta": 0.4227,
"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.0803,
"after": 0.0,
"delta": -0.0803,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4325,
"after": 0.0,
"delta": -0.4325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9197,
"after": 1.0,
"delta": 0.0803,
"percent_delta": 0.0873,
"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.7029,
"after": 1.0,
"delta": 0.2971,
"percent_delta": 0.4227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4325,
"after": 0.0,
"delta": -0.4325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3373,
"after": 0.0,
"delta": -0.3373,
"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.3373,
"after": 0.0,
"delta": -0.3373,
"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.2136,
"after": 0.333,
"delta": 0.1194,
"percent_delta": 0.559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2624,
"after": 0.333,
"delta": 0.0706,
"percent_delta": 0.2691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3242,
"after": 0.333,
"delta": 0.0088,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2136,
"after": 0.333,
"delta": 0.1194,
"percent_delta": 0.559,
"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.2136,
"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.2624,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3242,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2136,
"delta": -0.1194,
"percent_delta": -0.3584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2624,
"delta": -0.0706,
"percent_delta": -0.2119,
"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.3242,
"delta": -0.0088,
"percent_delta": -0.0263,
"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.2136,
"delta": -0.1194,
"percent_delta": -0.3584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.263,
"after": 3.0,
"delta": -0.263,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2136,
"delta": -0.0274,
"percent_delta": -0.1137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.246,
"after": 0.0,
"delta": -0.246,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.2624,
"delta": -0.0116,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.351,
"after": 0.0,
"delta": -0.351,
"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.412,
"after": 0.3242,
"delta": -0.0878,
"percent_delta": -0.2131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.895,
"after": 0.0,
"delta": -0.895,
"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.895,
"after": 0.0,
"delta": -0.895,
"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.140 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.263 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.246 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.351 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.412 | - |
| predicted_SO | 0.895 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | -0.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.290 | 0.027 |
| predicted_AVG | 0.233 | -0.008 |
| predicted_BB | 0.218 | -0.028 |
| predicted_H | 0.711 | 0.021 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.082 | -0.008 |
| predicted_OBP | 0.271 | -0.003 |
| predicted_R | 0.344 | -0.007 |
| predicted_RBI | 0.441 | 0.031 |
| predicted_SLG | 0.372 | -0.040 |
| predicted_SO | 0.916 | 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.121 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.290 | 0.000 |
| predicted_AVG | 0.214 | -0.020 |
| predicted_BB | 0.218 | -0.001 |
| predicted_H | 0.703 | -0.008 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.080 | -0.001 |
| predicted_OBP | 0.262 | -0.009 |
| predicted_R | 0.337 | -0.006 |
| predicted_RBI | 0.432 | -0.008 |
| predicted_SLG | 0.324 | -0.048 |
| predicted_SO | 0.920 | 0.003 |
AB rounded to 3 (raw=3.29), rates preserved: AVG=0.214 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.121 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.290 |
| predicted_AVG | 0.333 | 0.119 |
| predicted_BB | 0.000 | -0.218 |
| predicted_H | 1.000 | 0.297 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.333 | 0.071 |
| predicted_R | 0.000 | -0.337 |
| predicted_RBI | 0.000 | -0.432 |
| predicted_SLG | 0.333 | 0.009 |
| predicted_SO | 1.000 | 0.080 |
Attached 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 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 5.000 | 0.1875 | 0.1875 | 0.1875 | 0.1875 | 0.0000 | 0.1875 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 0.000 | 0.000 | 1.000 | 6.000 | 3.000 | 1.000 | 11.000 | 0.2121 | 0.2353 | 0.3030 | 0.2121 | 0.0303 | 0.1818 | 0.0303 | 0.3333 |
| season | 0.60 | 57 | - | 186.000 | 43.000 | 8.000 | 0.000 | 4.000 | 23.000 | 20.000 | 14.000 | 51.000 | 0.2312 | 0.2941 | 0.3387 | 0.2312 | 0.0215 | 0.1237 | 0.0753 | 0.2742 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0950 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3280 |
| predicted_AVG | 0.2224 |
| predicted_BB | 0.1790 |
| predicted_H | 0.7400 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.0700 |
| predicted_OBP | 0.2668 |
| predicted_R | 0.3330 |
| predicted_RBI | 0.4840 |
| predicted_SLG | 0.3150 |
| predicted_SO | 0.9470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.0950 | 0.1214 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2630 | 3.3280 | 3.2898 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2224 | 0.2333 | model_form_blend |
| predicted_BB | 0.2460 | 0.1790 | 0.2184 | model_form_blend |
| predicted_H | 0.6900 | 0.7400 | 0.7106 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.0900 | 0.0700 | 0.0817 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2668 | 0.2710 | model_form_blend |
| predicted_R | 0.3510 | 0.3330 | 0.3436 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4840 | 0.4405 | model_form_blend |
| predicted_SLG | 0.4120 | 0.3150 | 0.3720 | model_form_blend |
| predicted_SO | 0.8950 | 0.9470 | 0.9165 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 148 |
| Season rows before report date | 148 |
| 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 | 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.231 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 681351 |
| playerID | 681351 |
| playerName | Logan O'Hoppe |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-30 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.284 |
| sl_xwoba | 0.271 |
| sl_xba | 0.198 |
| sl_xslg | 0.338 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 37.2 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 18.4 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 51.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.467 | 2.000 | -0.467 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.667 | 7.000 | -0.667 | -6.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 3.933 | 6.000 | 1.067 | -1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 4.700 | 4.100 | 0.500 | 1.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.600 | 5.000 | 0.400 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 5.0000 (boost 1.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": "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": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 1.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.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": 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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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 | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 5.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 27.100 | 13.000 | 23.000 | 12.000 | 28.000 | 2.000 | 4.2805 | 1.2805 | 0.4756 | 0.8415 | 0.4390 | 1.0244 | 0.0732 |
| last_10 | 0.35 | 10 | 55.100 | 18.000 | 42.000 | 24.000 | 52.000 | 4.000 | 2.9277 | 1.1928 | 0.3253 | 0.7590 | 0.4337 | 0.9398 | 0.0723 |
| season | 0.20 | 15 | 71.200 | 25.000 | 59.000 | 37.000 | 69.000 | 5.000 | 3.1395 | 1.3395 | 0.3488 | 0.8233 | 0.5163 | 0.9628 | 0.0698 |
| Metric | Value |
|---|---|
| predicted_BB | 2.3180 |
| predicted_ER | 2.2840 |
| predicted_ERA | 3.8038 |
| predicted_H | 4.5830 |
| predicted_HR | 0.4910 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.2700 |
| predicted_WHIP | 1.2769 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.3180 | 2.1731 | model_form_blend |
| predicted_ER | 1.0000 | 2.2840 | 1.6990 | model_form_blend |
| predicted_ERA | - | 3.8038 | 3.8038 | form_only |
| predicted_H | 5.0000 | 4.5830 | 4.7730 | model_form_blend |
| predicted_HR | 0.0000 | 0.4910 | 0.2673 | model_form_blend |
| predicted_IP | 5.2000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 5.2700 | 4.6914 | model_form_blend |
| predicted_WHIP | - | 1.2769 | 1.2769 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| ER | 1 |
| BB | 2 |
| SO | 5 |
| HR | 0 |
| BF | 24 |
| Pitches | 106 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 1 |
| Pitching_Batters Faced | 21 |
| Pitching_ER | 7 |
| Pitching_ERA | 3.14 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 6 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.1 |
| Pitching_Pitches | 71 |
| Pitching_R | 7 |
| Pitching_SO | 5 |
| Pitching_Strikes | 50 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260626_OAK@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-26 |
| sl_k_percent | 22.0 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.294 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 25.2 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 33.7 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 44.7 |
| sl_avg_best_speed | 75.1476076 |
| sl_avg_hyper_speed | 93.5114654 |
| 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.300 | 0.000 | -0.300 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.825 | 1.000 | 0.175 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.250 | 1.000 | -1.250 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "489446",
"player_name": "Kirby Yates",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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 | 4.100 | 0.000 | 1.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.4615 | 0.0000 | 0.2308 | 0.2308 | 1.8461 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 3.000 | 3.000 | 15.000 | 0.000 | 0.9643 | 0.6429 | 0.1071 | 0.3214 | 0.3214 | 1.6071 | 0.0000 |
| season | 0.20 | 19 | 17.200 | 5.000 | 9.000 | 7.000 | 25.000 | 1.000 | 2.5472 | 0.9057 | 0.2830 | 0.5094 | 0.3962 | 1.4151 | 0.0566 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3320 |
| predicted_ER | 0.3310 |
| predicted_ERA | 2.9827 |
| predicted_H | 0.6990 |
| predicted_HR | 0.0910 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2510 |
| predicted_WHIP | 1.0308 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3320 | 0.7318 | model_form_blend |
| predicted_ER | 0.0000 | 0.3310 | 0.1329 | model_form_blend |
| predicted_ERA | - | 2.9827 | 2.9827 | form_only |
| predicted_H | 0.0000 | 0.6990 | 0.2807 | model_form_blend |
| predicted_HR | 0.0000 | 0.0910 | 0.0365 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2510 | 0.5023 | model_form_blend |
| predicted_WHIP | - | 1.0308 | 1.0308 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.06 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260627_OAK@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-27 |
| sl_k_percent | 34.2 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.256 |
| sl_xwoba | 0.278 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 51.3 |
| sl_whiff_percent | 36.1 |
| sl_swing_percent | 49.8 |
| sl_avg_best_speed | 82.0287515 |
| sl_avg_hyper_speed | 95.944662051 |
| 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.613 | 2.000 | -0.613 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.452 | 0.000 | -0.452 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.839 | 1.000 | 0.161 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.087 | 1.000 | 0.013 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.226 | 1.000 | -1.226 | -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": "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": 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.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 3.000 | 2.000 | 3.000 | 1.000 | 3.6000 | 1.0000 | 0.4000 | 0.6000 | 0.4000 | 0.6000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 9.000 | 5.000 | 9.000 | 3.000 | 6.7500 | 1.5000 | 0.7500 | 0.9643 | 0.5357 | 0.9643 | 0.3214 |
| season | 0.20 | 31 | 37.200 | 14.000 | 26.000 | 19.000 | 38.000 | 5.000 | 3.3451 | 1.1947 | 0.3717 | 0.6903 | 0.5044 | 1.0089 | 0.1327 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4410 |
| predicted_ER | 0.5290 |
| predicted_ERA | 4.5822 |
| predicted_H | 0.8670 |
| predicted_HR | 0.2040 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9020 |
| predicted_WHIP | 1.2576 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4410 | 0.2119 | model_form_blend |
| predicted_ER | 0.0000 | 0.5290 | 0.2542 | model_form_blend |
| predicted_ERA | - | 4.5822 | 4.5822 | form_only |
| predicted_H | 1.0000 | 0.8670 | 0.9361 | model_form_blend |
| predicted_HR | 0.0000 | 0.2040 | 0.0980 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9020 | 0.4334 | model_form_blend |
| predicted_WHIP | - | 1.2576 | 1.2576 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 32 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.35 |
| 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 | 26 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260627_OAK@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-27 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.297 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 34.0 |
| sl_whiff_percent | 32.7 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 76.753522553 |
| sl_avg_hyper_speed | 93.358202979 |
| 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.882 | 0.000 | 1.118 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.529 | 0.000 | 2.471 | 3.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.618 | 1.000 | 0.382 | 0.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 1.047 | 1.000 | -1.047 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.588 | 1.000 | -1.588 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666171",
"player_name": "Ryan Zeferjahn",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.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": 2.0,
"predicted_ER": 3.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 0.0,
"predicted_R": 3.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 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": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.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 | 5 | 5.100 | 0.000 | 1.000 | 3.000 | 11.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.1875 | 0.5625 | 2.0625 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 0.000 | 1.000 | 9.000 | 19.000 | 0.000 | 0.0000 | 1.0345 | 0.0000 | 0.1035 | 0.9310 | 1.9655 | 0.0000 |
| season | 0.20 | 34 | 39.100 | 18.000 | 21.000 | 30.000 | 54.000 | 3.000 | 4.1186 | 1.2966 | 0.4576 | 0.5339 | 0.7627 | 1.3729 | 0.0763 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4330 |
| predicted_ER | 0.1850 |
| predicted_ERA | 2.2517 |
| predicted_H | 0.3810 |
| predicted_HR | 0.0490 |
| predicted_IP | 0.2000 |
| predicted_SO | 1.1270 |
| predicted_WHIP | 1.1011 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.4330 | 1.2401 | model_form_blend |
| predicted_ER | 3.0000 | 0.1850 | 1.6349 | model_form_blend |
| predicted_ERA | - | 2.2517 | 2.2517 | form_only |
| predicted_H | 1.0000 | 0.3810 | 0.6998 | model_form_blend |
| predicted_HR | 1.0000 | 0.0490 | 0.5388 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1270 | 1.0616 | model_form_blend |
| predicted_WHIP | - | 1.1011 | 1.1011 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0.0 |
| H | 1 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 0 |
| HR | 1 |
| 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.12 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 666171 |
| playerID | 666171 |
| playerName | Ryan Zeferjahn |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-30 |
| sl_k_percent | 31.2 |
| sl_bb_percent | 16.8 |
| sl_woba | 0.28 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 34.9 |
| sl_whiff_percent | 32.8 |
| sl_swing_percent | 39.4 |
| sl_avg_best_speed | 79.4156 |
| sl_avg_hyper_speed | 93.204222439 |
| Field | Value |
|---|---|
| Pitcher | Bryce Miller |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5110 |
| ESPN Rank | 43 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0893 |
| Avg Velo | 91.3537 |
| Avg Spin | 2256.5659 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 2 |
| Pre SO | 7 |
| Season ERA | 1.9708 |
| Season WHIP | 0.7226 |
| Role Avg IP | 5.8100 |
| Recent Avg IP | 5.9330 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 397.0,
"runs_allowed": 377.0,
"run_differential": 20.0,
"run_differential_per_game": 0.2151,
"avg_runs_scored": 4.2688,
"avg_runs_allowed": 4.0538,
"offense_index": 0.9439,
"defense_index": 1.1156,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.0,
"run_differential": -6.0
},
"available": true,
"quality_score": 0.0398
},
"opponent": {
"team": "LAA",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4681,
"avg_runs_scored": 4.5213,
"avg_runs_allowed": 4.9894,
"offense_index": 0.9997,
"defense_index": 0.9064,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0762
},
"edges": {
"quality_edge": 0.116,
"offense_edge": -0.0561,
"opponent_offense_edge": -0.0003,
"defense_strength": 0.1156,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0081,
"run_prevention": 0.9826,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682243",
"profile": {
"available": true,
"pitcher_id": "682243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 60.0,
"k_percent": 33.1,
"bb_percent": 3.1,
"woba": 0.234,
"xwoba": 0.237,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 27.9,
"avg_best_speed": 75.1803,
"avg_hyper_speed": 92.5114,
"whiff_percent": 29.3,
"swing_percent": 57.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.488,
"command_and_miss": 1.1682,
"regression_edge": -0.0857,
"xwoba_edge": 2.1571,
"barrel_edge": -0.0889,
"hard_hit_edge": 1.4857,
"whiff_edge": 0.5429,
"bb_edge": 1.5,
"pitch_design_score": 0.0893
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "682243",
"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": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3537,
"release_spin_rate": 2256.5659,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0893,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6381,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.511,
"sample_weight": 0.45,
"run_prevention_factor": 0.9566,
"strikeout_factor": 1.0369,
"walk_factor": 0.946,
"homer_factor": 0.9473,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682243",
"espn_id": 4654313,
"player_name": "Bryce Miller",
"team": "SEA",
"role": "pitcher",
"espn_rank": 43,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 43,
"gp_value": 8.0,
"gp_rank": 445,
"gs_value": 7.0,
"gs_rank": 152,
"qs_value": 2.0,
"qs_rank": 123,
"era_value": 1.9708,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 45.2,
"ip_rank": 166,
"h_value": 28.0,
"h_rank": 277,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 7.0,
"hr_rank": 139,
"bb_value": 5.0,
"bb_rank": 506,
"k_value": 54.0,
"k_rank": 131,
"k_per_9_value": 10.642335,
"k_per_9_rank": 21,
"whip_value": 0.7226,
"whip_rank": null,
"war_value": 1.86,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9805,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9805,
"adjusted": 3
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9757,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9763,
"adjusted": 1
},
"predicted_SO": {
"original": 8.0,
"factor": 1.0166,
"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": 45.2,
"ER": 10,
"H": 28,
"BB": 5,
"SO": 54,
"HR": 7,
"ERA": 1.970802919708029,
"WHIP": 0.7226277372262773,
"K9": 10.642335766423356,
"HR9": 1.3795620437956202,
"games_pitched": 8,
"quality_starts": 2,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 8,
"error_prone": false
},
"games_count": 8,
"latest_game_date": "2026-06-25T00:00:00"
}{
"available": true,
"pitcher_id": "682243",
"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": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 91.35374832663989,
"release_spin_rate": 2256.5658932024394,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3537,
"release_spin_rate": 2256.5659,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0893,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6381,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.6818181818181818,
"last_10": 0.3181818181818182
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6154,
"prior_weight": 0.3846
},
"role": "pitcher",
"player_id": "682243",
"report_date": "20260702_L",
"season_year": 2026,
"rows_used": 8,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.2,
"ER": 6.0,
"R": 6.0,
"H": 14.0,
"BB": 3.0,
"SO": 40.0,
"HR": 5.0,
"BF": 101.0,
"Pitches": 412.0
},
"per_game": {
"IP": 6.0,
"ER": 1.2,
"R": 1.2,
"H": 2.8,
"BB": 0.6,
"SO": 8.0,
"HR": 1.0,
"BF": 20.2,
"Pitches": 82.4
},
"rates": {
"ERA": 1.8202,
"WHIP": 0.573,
"ER_per_IP": 0.20225,
"H_per_IP": 0.47191,
"BB_per_IP": 0.10112,
"SO_per_IP": 1.34831,
"HR_per_IP": 0.16854
}
},
"last_10": {
"games": 8,
"totals": {
"IP": 45.2,
"ER": 10.0,
"R": 10.0,
"H": 28.0,
"BB": 5.0,
"SO": 54.0,
"HR": 7.0,
"BF": 163.0,
"Pitches": 648.0
},
"per_game": {
"IP": 5.2,
"ER": 1.25,
"R": 1.25,
"H": 3.5,
"BB": 0.625,
"SO": 6.75,
"HR": 0.875,
"BF": 20.375,
"Pitches": 81.0
},
"rates": {
"ERA": 1.9708,
"WHIP": 0.7226,
"ER_per_IP": 0.21898,
"H_per_IP": 0.61314,
"BB_per_IP": 0.10949,
"SO_per_IP": 1.18248,
"HR_per_IP": 0.15328
}
},
"season": {
"games": 8,
"totals": {
"IP": 45.2,
"ER": 10.0,
"R": 10.0,
"H": 28.0,
"BB": 5.0,
"SO": 54.0,
"HR": 7.0,
"BF": 163.0,
"Pitches": 648.0
},
"per_game": {
"IP": 5.2,
"ER": 1.25,
"R": 1.25,
"H": 3.5,
"BB": 0.625,
"SO": 6.75,
"HR": 0.875,
"BF": 20.375,
"Pitches": 81.0
},
"rates": {
"ERA": 1.9708,
"WHIP": 0.7226,
"ER_per_IP": 0.21898,
"H_per_IP": 0.61314,
"BB_per_IP": 0.10949,
"SO_per_IP": 1.18248,
"HR_per_IP": 0.15328
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.894,
"predicted_H": 4.091,
"predicted_BB": 1.195,
"predicted_SO": 6.907,
"predicted_HR": 0.933,
"predicted_ERA": 2.8721,
"predicted_WHIP": 0.8907
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5125,
"form_weight": 0.4875,
"form_reliability": 0.6154,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6154,
"prior_weight": 0.3846
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.894,
"final": 2.4608,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.091,
"final": 3.0194,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.195,
"final": 1.6076,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 6.907,
"final": 6.9547,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.933,
"final": 0.9673,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8721,
"final": 2.8721,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8907,
"final": 0.8907,
"source": "form_only"
}
}
}{
"available": false,
"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 | Andrés Muñoz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1851 |
| ESPN Rank | 593 |
| 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 | 0 |
| Pre SO | 2 |
| Season ERA | 4.1538 |
| Season WHIP | 1.2198 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 397.0,
"runs_allowed": 377.0,
"run_differential": 20.0,
"run_differential_per_game": 0.2151,
"avg_runs_scored": 4.2688,
"avg_runs_allowed": 4.0538,
"offense_index": 0.9439,
"defense_index": 1.1156,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.0,
"run_differential": -6.0
},
"available": true,
"quality_score": 0.0398
},
"opponent": {
"team": "LAA",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4681,
"avg_runs_scored": 4.5213,
"avg_runs_allowed": 4.9894,
"offense_index": 0.9997,
"defense_index": 0.9064,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0762
},
"edges": {
"quality_edge": 0.116,
"offense_edge": -0.0561,
"opponent_offense_edge": -0.0003,
"defense_strength": 0.1156,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0081,
"run_prevention": 0.9826,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "662253",
"profile": {
"available": true,
"pitcher_id": "662253",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 35.6,
"bb_percent": 9.8,
"woba": 0.294,
"xwoba": 0.306,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 43.7,
"avg_best_speed": 75.2067,
"avg_hyper_speed": 94.5109,
"whiff_percent": 41.2,
"swing_percent": 46.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0581,
"command_and_miss": 1.5889,
"regression_edge": -0.3429,
"xwoba_edge": 0.1857,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.7714,
"whiff_edge": 2.2429,
"bb_edge": -0.175,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "662253",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1851,
"sample_weight": 0.45,
"run_prevention_factor": 0.9843,
"strikeout_factor": 1.0739,
"walk_factor": 1.0063,
"homer_factor": 1.0314,
"woba_minus_xwoba": -0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662253",
"espn_id": 40939,
"player_name": "Andres Munoz",
"team": "SEA",
"role": "pitcher",
"espn_rank": 593,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 593,
"gp_value": 33.0,
"gp_rank": 84,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.7472,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 15.0,
"sv_rank": 12,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 30.1,
"ip_rank": 311,
"h_value": 26.0,
"h_rank": 304,
"er_value": 16.0,
"er_rank": 239,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 13.0,
"bb_rank": 258,
"k_value": 47.0,
"k_rank": 155,
"k_per_9_value": 13.945055,
"k_per_9_rank": 13,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": -0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9929,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9929,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0141,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0333,
"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": 8.2,
"ER": 2,
"H": 3,
"BB": 5,
"SO": 13,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 0.9230769230769231,
"K9": 13.500000000000002,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-30T00:00:00"
}{
"available": false,
"pitcher_id": "662253",
"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.013,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.546,
"prior_weight": 0.454
},
"role": "pitcher",
"player_id": "662253",
"report_date": "20260702_L",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.4,
"SO": 1.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.4,
"SO_per_IP": 1.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 5.0,
"SO": 14.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 168.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.5,
"SO": 1.4,
"HR": 0.0,
"BF": 4.1,
"Pitches": 16.8
},
"rates": {
"ERA": 2.7931,
"WHIP": 1.0345,
"ER_per_IP": 0.31034,
"H_per_IP": 0.51724,
"BB_per_IP": 0.51724,
"SO_per_IP": 1.44828,
"HR_per_IP": 0.0
}
},
"season": {
"games": 32,
"totals": {
"IP": 30.1,
"ER": 14.0,
"R": 15.0,
"H": 25.0,
"BB": 12.0,
"SO": 47.0,
"HR": 4.0,
"BF": 130.0,
"Pitches": 524.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4375,
"R": 0.4688,
"H": 0.7812,
"BB": 0.375,
"SO": 1.4688,
"HR": 0.125,
"BF": 4.0625,
"Pitches": 16.375
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.2198,
"ER_per_IP": 0.46154,
"H_per_IP": 0.82418,
"BB_per_IP": 0.3956,
"SO_per_IP": 1.54945,
"HR_per_IP": 0.13187
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.336,
"predicted_H": 0.676,
"predicted_BB": 0.403,
"predicted_SO": 1.321,
"predicted_HR": 0.081,
"predicted_ERA": 3.0207,
"predicted_WHIP": 1.0789
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5418,
"form_weight": 0.4582,
"form_reliability": 0.546,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.013,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.546,
"prior_weight": 0.454
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.336,
"final": 0.154,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.676,
"final": 0.3097,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.403,
"final": 0.1846,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.321,
"final": 1.6889,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.081,
"final": 0.0371,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0207,
"final": 3.0207,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0789,
"final": 1.0789,
"source": "form_only"
}
}
}{
"available": false,
"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 | Eduard Bazardo |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1099 |
| ESPN Rank | 109 |
| 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 | 2.1696 |
| Season WHIP | 1.3125 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 397.0,
"runs_allowed": 377.0,
"run_differential": 20.0,
"run_differential_per_game": 0.2151,
"avg_runs_scored": 4.2688,
"avg_runs_allowed": 4.0538,
"offense_index": 0.9439,
"defense_index": 1.1156,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.0,
"run_differential": -6.0
},
"available": true,
"quality_score": 0.0398
},
"opponent": {
"team": "LAA",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4681,
"avg_runs_scored": 4.5213,
"avg_runs_allowed": 4.9894,
"offense_index": 0.9997,
"defense_index": 0.9064,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0762
},
"edges": {
"quality_edge": 0.116,
"offense_edge": -0.0561,
"opponent_offense_edge": -0.0003,
"defense_strength": 0.1156,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0081,
"run_prevention": 0.9826,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660825",
"profile": {
"available": true,
"pitcher_id": "660825",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 21.8,
"bb_percent": 8.3,
"woba": 0.304,
"xwoba": 0.321,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 40.7,
"avg_best_speed": 81.1705,
"avg_hyper_speed": 94.5329,
"whiff_percent": 21.9,
"swing_percent": 44.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.2618,
"command_and_miss": -0.1882,
"regression_edge": -0.4857,
"xwoba_edge": -0.2429,
"barrel_edge": -0.2,
"hard_hit_edge": -0.3429,
"whiff_edge": -0.5143,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "660825",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1099,
"sample_weight": 0.45,
"run_prevention_factor": 1.0093,
"strikeout_factor": 0.9888,
"walk_factor": 0.9928,
"homer_factor": 1.0167,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660825",
"espn_id": 41939,
"player_name": "Eduard Bazardo",
"team": "SEA",
"role": "pitcher",
"espn_rank": 109,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 109,
"gp_value": 40.0,
"gp_rank": 10,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.1696,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 17.0,
"hld_rank": 5,
"ip_value": 37.1,
"ip_rank": 222,
"h_value": 36.0,
"h_rank": 194,
"er_value": 9.0,
"er_rank": 407,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 13.0,
"bb_rank": 258,
"k_value": 34.0,
"k_rank": 253,
"k_per_9_value": 8.196428,
"k_per_9_rank": 30,
"whip_value": 1.3125,
"whip_rank": null,
"war_value": 1.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0042,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0042,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9968,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0075,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.995,
"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": 7,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 1.153846153846154,
"K9": 9.346153846153847,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-30T00:00:00"
}{
"available": false,
"pitcher_id": "660825",
"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.401,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5968,
"prior_weight": 0.4032
},
"role": "pitcher",
"player_id": "660825",
"report_date": "20260702_L",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 70.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.0
},
"rates": {
"ERA": 2.25,
"WHIP": 1.5,
"ER_per_IP": 0.25,
"H_per_IP": 1.0,
"BB_per_IP": 0.5,
"SO_per_IP": 1.25,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 3.5,
"Pitches": 13.5
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.1538,
"ER_per_IP": 0.23077,
"H_per_IP": 0.80769,
"BB_per_IP": 0.34615,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.0
}
},
"season": {
"games": 40,
"totals": {
"IP": 37.1,
"ER": 9.0,
"R": 11.0,
"H": 36.0,
"BB": 13.0,
"SO": 34.0,
"HR": 2.0,
"BF": 156.0,
"Pitches": 606.0
},
"per_game": {
"IP": 1.0,
"ER": 0.225,
"R": 0.275,
"H": 0.9,
"BB": 0.325,
"SO": 0.85,
"HR": 0.05,
"BF": 3.9,
"Pitches": 15.15
},
"rates": {
"ERA": 2.1696,
"WHIP": 1.3125,
"ER_per_IP": 0.24107,
"H_per_IP": 0.96429,
"BB_per_IP": 0.34821,
"SO_per_IP": 0.91071,
"HR_per_IP": 0.05357
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.314,
"predicted_H": 0.857,
"predicted_BB": 0.357,
"predicted_SO": 0.952,
"predicted_HR": 0.06,
"predicted_ERA": 3.1028,
"predicted_WHIP": 1.3339
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5204,
"form_weight": 0.4796,
"form_reliability": 0.5968,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.401,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5968,
"prior_weight": 0.4032
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.314,
"final": 0.1506,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.857,
"final": 1.4518,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.357,
"final": 0.1712,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.952,
"final": 0.977,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.06,
"final": 0.0288,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1028,
"final": 3.1028,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3339,
"final": 1.3339,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | José A. Ferrer |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2525 |
| ESPN Rank | 129 |
| 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.5000 |
| Season WHIP | 1.3056 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 93,
"wins": 48,
"losses": 45,
"win_pct": 0.5161,
"runs_scored": 397.0,
"runs_allowed": 377.0,
"run_differential": 20.0,
"run_differential_per_game": 0.2151,
"avg_runs_scored": 4.2688,
"avg_runs_allowed": 4.0538,
"offense_index": 0.9439,
"defense_index": 1.1156,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.0,
"run_differential": -6.0
},
"available": true,
"quality_score": 0.0398
},
"opponent": {
"team": "LAA",
"games": 94,
"wins": 41,
"losses": 53,
"win_pct": 0.4362,
"runs_scored": 425.0,
"runs_allowed": 469.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4681,
"avg_runs_scored": 4.5213,
"avg_runs_allowed": 4.9894,
"offense_index": 0.9997,
"defense_index": 0.9064,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.6,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0762
},
"edges": {
"quality_edge": 0.116,
"offense_edge": -0.0561,
"opponent_offense_edge": -0.0003,
"defense_strength": 0.1156,
"opponent_defense_weakness": 0.0936,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0081,
"run_prevention": 0.9826,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678606",
"profile": {
"available": true,
"pitcher_id": "678606",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 19.2,
"bb_percent": 5.8,
"woba": 0.31,
"xwoba": 0.266,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 36.0,
"avg_best_speed": 73.6359,
"avg_hyper_speed": 93.2582,
"whiff_percent": 21.9,
"swing_percent": 52.1
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8843,
"command_and_miss": -0.2304,
"regression_edge": 1.2571,
"xwoba_edge": 1.3286,
"barrel_edge": 0.6667,
"hard_hit_edge": 0.3286,
"whiff_edge": -0.5143,
"bb_edge": 0.825,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "678606",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2525,
"sample_weight": 0.45,
"run_prevention_factor": 0.9785,
"strikeout_factor": 0.9821,
"walk_factor": 0.9703,
"homer_factor": 0.9522,
"woba_minus_xwoba": 0.044,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "678606",
"espn_id": 5119607,
"player_name": "Jose Ferrer",
"team": "SEA",
"role": "pitcher",
"espn_rank": 129,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 129,
"gp_value": 40.0,
"gp_rank": 10,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.5,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 10.0,
"hld_rank": 36,
"ip_value": 36.0,
"ip_rank": 234,
"h_value": 39.0,
"h_rank": 177,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 9.0,
"bb_rank": 379,
"k_value": 30.0,
"k_rank": 298,
"k_per_9_value": 7.5,
"k_per_9_rank": 34,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": 0.89,
"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": 0.9866,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9785,
"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.1,
"ER": 5,
"H": 9,
"BB": 6,
"SO": 6,
"HR": 1,
"ERA": 5.4,
"WHIP": 1.8000000000000003,
"K9": 6.480000000000001,
"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-29T00:00:00"
}{
"available": false,
"pitcher_id": "678606",
"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.136,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.588,
"prior_weight": 0.412
},
"role": "pitcher",
"player_id": "678606",
"report_date": "20260702_L",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8571,
"ER_per_IP": 0.0,
"H_per_IP": 0.64286,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 6.0,
"SO": 6.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 163.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5,
"R": 0.5,
"H": 0.9,
"BB": 0.6,
"SO": 0.6,
"HR": 0.1,
"BF": 3.9,
"Pitches": 16.3
},
"rates": {
"ERA": 5.4,
"WHIP": 1.8,
"ER_per_IP": 0.6,
"H_per_IP": 1.08,
"BB_per_IP": 0.72,
"SO_per_IP": 0.72,
"HR_per_IP": 0.12
}
},
"season": {
"games": 39,
"totals": {
"IP": 36.0,
"ER": 10.0,
"R": 11.0,
"H": 38.0,
"BB": 9.0,
"SO": 30.0,
"HR": 2.0,
"BF": 155.0,
"Pitches": 582.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2564,
"R": 0.2821,
"H": 0.9744,
"BB": 0.2308,
"SO": 0.7692,
"HR": 0.0513,
"BF": 3.9744,
"Pitches": 14.9231
},
"rates": {
"ERA": 2.5,
"WHIP": 1.3056,
"ER_per_IP": 0.27778,
"H_per_IP": 1.05556,
"BB_per_IP": 0.25,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.05556
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.336,
"predicted_H": 0.851,
"predicted_BB": 0.355,
"predicted_SO": 0.754,
"predicted_HR": 0.085,
"predicted_ERA": 3.2505,
"predicted_WHIP": 1.2958
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5241,
"form_weight": 0.4759,
"form_reliability": 0.588,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.136,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.588,
"prior_weight": 0.412
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.336,
"final": 0.1599,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.851,
"final": 0.405,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.355,
"final": 0.169,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.754,
"final": 0.3589,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.085,
"final": 0.0405,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2505,
"final": 3.2505,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2958,
"final": 1.2958,
"source": "form_only"
}
}
}{
"available": false,
"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.178 | 0.000 | 0.000 | Hitting_2B | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_3B | 0.014 | 1.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | 0.994 | 1.000 |
| predicted_AB | 2.800 | 3.000 | 3.000 | Hitting_AB | 2.916 | 4.000 | 0.084 | -1.000 |
| predicted_AVG | 0.258 | 0.333 | 0.333 | Hitting_AVG | 0.272 | 0.250 | 0.062 | 0.083 |
| predicted_BB | 0.247 | 1.000 | 0.000 | Hitting_BB | 0.292 | 0.000 | 0.708 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.792 | 1.000 | 0.208 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.188 | 1.000 | -0.188 | -1.000 |
| predicted_OBP | 0.310 | 0.500 | 0.333 | Hitting_OBP | 0.341 | 0.250 | 0.159 | 0.250 |
| predicted_R | 0.397 | 1.000 | 0.000 | Hitting_R | 0.474 | 1.000 | 0.526 | 0.000 |
| predicted_RBI | 0.430 | 1.000 | 0.000 | Hitting_RBI | 0.623 | 1.000 | 0.377 | 0.000 |
| predicted_SLG | 0.554 | 1.000 | 0.333 | Hitting_SLG | 0.552 | 1.000 | 0.448 | 0.000 |
| predicted_SO | 0.630 | 1.000 | 1.000 | Hitting_SO | 0.695 | 1.000 | 0.305 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 12 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_3B: 0.0140 -> 1.0000 (boost 0.9860, better) |
| Biggest Deboost | predicted_2B: 0.1780 -> 0.0000 (deboost -0.1780, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.6300 -> 0.7278 (boost 0.0978, worse) | predicted_SLG: 0.5540 -> 0.5361 (deboost -0.0179, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.5361 -> 0.5143 (deboost -0.0218, 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.7204 -> 1.0000 (boost 0.2796, better) | predicted_RBI: 0.4357 -> 0.0000 (deboost -0.4357, worse) | AB rounded to 3 (raw=2.86), rates preserved: AVG=0.252 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4138 -> 0.0000 (deboost -0.4138, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2516 -> 0.3330 (boost 0.0814, better) | predicted_SLG: 0.5143 -> 0.3330 (deboost -0.1813, 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_3B: 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.5143 (boost 0.1813, better) | predicted_AVG: 0.3330 -> 0.2516 (deboost -0.0814, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686527",
"player_name": "Dominic Canzone",
"position": "DH",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.178,
"predicted_3B": 0.014,
"predicted_AB": 2.8,
"predicted_AVG": 0.258,
"predicted_BB": 0.247,
"predicted_H": 0.72,
"predicted_HR": 0.17,
"predicted_OBP": 0.31,
"predicted_R": 0.397,
"predicted_RBI": 0.43,
"predicted_SLG": 0.554,
"predicted_SO": 0.63
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1751,
"predicted_3B": 0.0119,
"predicted_AB": 2.863,
"predicted_AVG": 0.2515,
"predicted_BB": 0.2706,
"predicted_H": 0.7179,
"predicted_HBP": 0.027,
"predicted_HR": 0.1828,
"predicted_OBP": 0.3131,
"predicted_R": 0.4111,
"predicted_RBI": 0.4329,
"predicted_SLG": 0.5361,
"predicted_SO": 0.7278
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.1751,
"delta": -0.0029,
"percent_delta": -0.0163,
"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": 2.8,
"after": 2.863,
"delta": 0.063,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2515,
"delta": -0.0065,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 0.2706,
"delta": 0.0236,
"percent_delta": 0.0955,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7179,
"delta": -0.0021,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1828,
"delta": 0.0128,
"percent_delta": 0.0753,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3131,
"delta": 0.0031,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.4111,
"delta": 0.0141,
"percent_delta": 0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4329,
"delta": 0.0029,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.554,
"after": 0.5361,
"delta": -0.0179,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 0.7278,
"delta": 0.0978,
"percent_delta": 0.1552,
"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.63,
"after": 0.7278,
"delta": 0.0978,
"percent_delta": 0.1552,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.554,
"after": 0.5361,
"delta": -0.0179,
"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": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1751,
"predicted_3B": 0.0119,
"predicted_AB": 2.863,
"predicted_AVG": 0.2516,
"predicted_BB": 0.2709,
"predicted_H": 0.7204,
"predicted_HBP": 0.027,
"predicted_HR": 0.1843,
"predicted_OBP": 0.3163,
"predicted_R": 0.4138,
"predicted_RBI": 0.4357,
"predicted_SLG": 0.5143,
"predicted_SO": 0.7269
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1751,
"after": 0.1751,
"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": 2.863,
"after": 2.863,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2515,
"after": 0.2516,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2706,
"after": 0.2709,
"delta": 0.0003,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7179,
"after": 0.7204,
"delta": 0.0025,
"percent_delta": 0.0035,
"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.1828,
"after": 0.1843,
"delta": 0.0015,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3131,
"after": 0.3163,
"delta": 0.0032,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4111,
"after": 0.4138,
"delta": 0.0027,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4329,
"after": 0.4357,
"delta": 0.0028,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5361,
"after": 0.5143,
"delta": -0.0218,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7278,
"after": 0.7269,
"delta": -0.0009,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.5361,
"after": 0.5143,
"delta": -0.0218,
"percent_delta": -0.0407,
"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.252 HR/AB=0.064",
"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.1751,
"after": 0.0,
"delta": -0.1751,
"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": 2.863,
"after": 3.0,
"delta": 0.137,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2709,
"after": 0.0,
"delta": -0.2709,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7204,
"after": 1.0,
"delta": 0.2796,
"percent_delta": 0.3881,
"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.1843,
"after": 0.0,
"delta": -0.1843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4357,
"after": 0.0,
"delta": -0.4357,
"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": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7204,
"after": 1.0,
"delta": 0.2796,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4357,
"after": 0.0,
"delta": -0.4357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4138,
"after": 0.0,
"delta": -0.4138,
"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.4138,
"after": 0.0,
"delta": -0.4138,
"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.2516,
"after": 0.333,
"delta": 0.0814,
"percent_delta": 0.3235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3163,
"after": 0.333,
"delta": 0.0167,
"percent_delta": 0.0528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.5143,
"after": 0.333,
"delta": -0.1813,
"percent_delta": -0.3525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2516,
"after": 0.333,
"delta": 0.0814,
"percent_delta": 0.3235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5143,
"after": 0.333,
"delta": -0.1813,
"percent_delta": -0.3525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"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": 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": 1.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2516,
"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.3163,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5143,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"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": 3.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.2516,
"delta": -0.0814,
"percent_delta": -0.2444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3163,
"delta": -0.0167,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5143,
"delta": 0.1813,
"percent_delta": 0.5443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5143,
"delta": 0.1813,
"percent_delta": 0.5443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2516,
"delta": -0.0814,
"percent_delta": -0.2444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 1.0,
"delta": 0.986,
"percent_delta": 70.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.8,
"after": 3.0,
"delta": 0.2,
"percent_delta": 0.0714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2516,
"delta": -0.0064,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.247,
"after": 1.0,
"delta": 0.753,
"percent_delta": 3.0486,
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3163,
"delta": 0.0063,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 1.0,
"delta": 0.603,
"percent_delta": 1.5189,
"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.554,
"after": 0.5143,
"delta": -0.0397,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.63,
"after": 1.0,
"delta": 0.37,
"percent_delta": 0.5873,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 8,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.014,
"after": 1.0,
"delta": 0.986,
"percent_delta": 70.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.178,
"after": 0.0,
"delta": -0.178,
"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.178 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 2.800 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.247 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.397 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.554 | - |
| predicted_SO | 0.630 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | -0.003 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 2.863 | 0.063 |
| predicted_AVG | 0.252 | -0.007 |
| predicted_BB | 0.271 | 0.024 |
| predicted_H | 0.718 | -0.002 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.183 | 0.013 |
| predicted_OBP | 0.313 | 0.003 |
| predicted_R | 0.411 | 0.014 |
| predicted_RBI | 0.433 | 0.003 |
| predicted_SLG | 0.536 | -0.018 |
| predicted_SO | 0.728 | 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.175 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 2.863 | 0.000 |
| predicted_AVG | 0.252 | 0.000 |
| predicted_BB | 0.271 | 0.000 |
| predicted_H | 0.720 | 0.003 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.184 | 0.002 |
| predicted_OBP | 0.316 | 0.003 |
| predicted_R | 0.414 | 0.003 |
| predicted_RBI | 0.436 | 0.003 |
| predicted_SLG | 0.514 | -0.022 |
| predicted_SO | 0.727 | -0.001 |
AB rounded to 3 (raw=2.86), rates preserved: AVG=0.252 HR/AB=0.064
| 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.012 |
| predicted_AB | 3.000 | 0.137 |
| predicted_AVG | 0.333 | 0.081 |
| predicted_BB | 0.000 | -0.271 |
| predicted_H | 1.000 | 0.280 |
| predicted_HR | 0.000 | -0.184 |
| predicted_OBP | 0.333 | 0.017 |
| predicted_R | 0.000 | -0.414 |
| predicted_RBI | 0.000 | -0.436 |
| predicted_SLG | 0.333 | -0.181 |
| 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 | 1.000 | 1.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 | - | 16.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 7.000 | 0.1875 | 0.2778 | 0.4375 | 0.1875 | 0.0625 | 0.0625 | 0.1250 | 0.4375 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 1.000 | 0.000 | 3.000 | 5.000 | 5.000 | 4.000 | 11.000 | 0.2000 | 0.2941 | 0.5333 | 0.2000 | 0.1000 | 0.1667 | 0.1333 | 0.3667 |
| season | 0.60 | 73 | - | 194.000 | 53.000 | 13.000 | 1.000 | 13.000 | 34.000 | 29.000 | 18.000 | 46.000 | 0.2732 | 0.3410 | 0.5515 | 0.2732 | 0.0670 | 0.1753 | 0.0928 | 0.2371 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1710 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.9520 |
| predicted_AVG | 0.2422 |
| predicted_BB | 0.3040 |
| predicted_H | 0.7150 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.2010 |
| predicted_OBP | 0.3174 |
| predicted_R | 0.4310 |
| predicted_RBI | 0.4370 |
| predicted_SLG | 0.5109 |
| predicted_SO | 0.8660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1780 | 0.1710 | 0.1751 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 2.8000 | 2.9520 | 2.8630 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2422 | 0.2515 | model_form_blend |
| predicted_BB | 0.2470 | 0.3040 | 0.2706 | model_form_blend |
| predicted_H | 0.7200 | 0.7150 | 0.7179 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.1700 | 0.2010 | 0.1828 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3174 | 0.3131 | model_form_blend |
| predicted_R | 0.3970 | 0.4310 | 0.4111 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4370 | 0.4329 | model_form_blend |
| predicted_SLG | 0.5540 | 0.5109 | 0.5361 | model_form_blend |
| predicted_SO | 0.6300 | 0.8660 | 0.7278 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.273 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | DH |
| gameID | 20260629_LAA@SEA |
| game_type | full |
| mlbID | 686527 |
| playerID | 686527 |
| playerName | Dominic Canzone |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-29 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.384 |
| sl_xwoba | 0.386 |
| sl_xba | 0.288 |
| sl_xslg | 0.543 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 16.0 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 93.4 |
| sl_launch_angle_avg | 12.0 |
| sl_whiff_percent | 29.0 |
| 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.072 | 0.000 | 0.000 | Hitting_2B | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.070 | 3.000 | 4.000 | Hitting_AB | 3.707 | 5.000 | -0.707 | -2.000 |
| predicted_AVG | 0.217 | 0.333 | 0.250 | Hitting_AVG | 0.227 | 0.000 | 0.107 | 0.333 |
| predicted_BB | 0.551 | 1.000 | 0.000 | Hitting_BB | 0.631 | 0.000 | 0.369 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.880 | 1.000 | 1.000 | Hitting_H | 0.840 | 0.000 | 0.160 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_OBP | 0.277 | 0.500 | 0.250 | Hitting_OBP | 0.347 | 0.000 | 0.153 | 0.500 |
| predicted_R | 0.478 | 1.000 | 0.000 | Hitting_R | 0.573 | 0.000 | 0.427 | 1.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.431 | 0.000 | -0.431 | 0.000 |
| predicted_SLG | 0.409 | 0.333 | 0.250 | Hitting_SLG | 0.380 | 0.000 | -0.047 | 0.333 |
| predicted_SO | 0.855 | 1.000 | 1.000 | Hitting_SO | 0.804 | 3.000 | 0.196 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.4780 -> 1.0000 (boost 0.5220, better) |
| Biggest Deboost | predicted_AB: 4.0700 -> 3.0000 (deboost -1.0700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 0 | 4 | predicted_SO: 0.8550 -> 0.9438 (boost 0.0888, worse) | predicted_BB: 0.5510 -> 0.4834 (deboost -0.0676, worse) | Final model input calibrated with local 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.2738 -> 0.2930 (boost 0.0192, better) | predicted_SLG: 0.3573 -> 0.3087 (deboost -0.0486, 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.8389 -> 1.0000 (boost 0.1611, better) | predicted_BB: 0.4840 -> 0.0000 (deboost -0.4840, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.206 HR/AB=0.028 |
| 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.2081 -> 0.2500 (boost 0.0419, better) | predicted_SLG: 0.3087 -> 0.2500 (deboost -0.0587, 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_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.3087 (boost 0.0587, better) | predicted_AVG: 0.2500 -> 0.2081 (deboost -0.0419, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641487",
"player_name": "J.P. Crawford",
"position": "3B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.072,
"predicted_3B": 0.0,
"predicted_AB": 4.07,
"predicted_AVG": 0.217,
"predicted_BB": 0.551,
"predicted_H": 0.88,
"predicted_HR": 0.12,
"predicted_OBP": 0.277,
"predicted_R": 0.478,
"predicted_RBI": 0.36,
"predicted_SLG": 0.409,
"predicted_SO": 0.855
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0673,
"predicted_3B": 0.0004,
"predicted_AB": 4.0311,
"predicted_AVG": 0.2077,
"predicted_BB": 0.4834,
"predicted_H": 0.836,
"predicted_HBP": 0.047,
"predicted_HR": 0.1115,
"predicted_OBP": 0.2738,
"predicted_R": 0.4323,
"predicted_RBI": 0.3465,
"predicted_SLG": 0.3573,
"predicted_SO": 0.9438
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.072,
"after": 0.0673,
"delta": -0.0047,
"percent_delta": -0.0653,
"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.07,
"after": 4.0311,
"delta": -0.0389,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2077,
"delta": -0.0093,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.551,
"after": 0.4834,
"delta": -0.0676,
"percent_delta": -0.1227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.836,
"delta": -0.044,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1115,
"delta": -0.0085,
"percent_delta": -0.0708,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2738,
"delta": -0.0032,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.4323,
"delta": -0.0457,
"percent_delta": -0.0956,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3465,
"delta": -0.0135,
"percent_delta": -0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.3573,
"delta": -0.0517,
"percent_delta": -0.1264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.855,
"after": 0.9438,
"delta": 0.0888,
"percent_delta": 0.1039,
"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.855,
"after": 0.9438,
"delta": 0.0888,
"percent_delta": 0.1039,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.551,
"after": 0.4834,
"delta": -0.0676,
"percent_delta": -0.1227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0673,
"predicted_3B": 0.0004,
"predicted_AB": 4.0311,
"predicted_AVG": 0.2081,
"predicted_BB": 0.484,
"predicted_H": 0.8389,
"predicted_HBP": 0.047,
"predicted_HR": 0.1124,
"predicted_OBP": 0.293,
"predicted_R": 0.4351,
"predicted_RBI": 0.3488,
"predicted_SLG": 0.3087,
"predicted_SO": 0.9427
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0673,
"after": 0.0673,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0311,
"after": 4.0311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2077,
"after": 0.2081,
"delta": 0.0004,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4834,
"after": 0.484,
"delta": 0.0006,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.836,
"after": 0.8389,
"delta": 0.0029,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1115,
"after": 0.1124,
"delta": 0.0009,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2738,
"after": 0.293,
"delta": 0.0192,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4323,
"after": 0.4351,
"delta": 0.0028,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3465,
"after": 0.3488,
"delta": 0.0023,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3573,
"after": 0.3087,
"delta": -0.0486,
"percent_delta": -0.136,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9438,
"after": 0.9427,
"delta": -0.0011,
"percent_delta": -0.0012,
"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.2738,
"after": 0.293,
"delta": 0.0192,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3573,
"after": 0.3087,
"delta": -0.0486,
"percent_delta": -0.136,
"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.206 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.0673,
"after": 0.0,
"delta": -0.0673,
"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.0311,
"after": 4.0,
"delta": -0.0311,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.484,
"after": 0.0,
"delta": -0.484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8389,
"after": 1.0,
"delta": 0.1611,
"percent_delta": 0.192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1124,
"after": 0.0,
"delta": -0.1124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3488,
"after": 0.0,
"delta": -0.3488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9427,
"after": 1.0,
"delta": 0.0573,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8389,
"after": 1.0,
"delta": 0.1611,
"percent_delta": 0.192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.484,
"after": 0.0,
"delta": -0.484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4351,
"after": 0.0,
"delta": -0.4351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4351,
"after": 0.0,
"delta": -0.4351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2081,
"after": 0.25,
"delta": 0.0419,
"percent_delta": 0.2013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.25,
"delta": -0.043,
"percent_delta": -0.1468,
"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.3087,
"after": 0.25,
"delta": -0.0587,
"percent_delta": -0.1902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2081,
"after": 0.25,
"delta": 0.0419,
"percent_delta": 0.2013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3087,
"after": 0.25,
"delta": -0.0587,
"percent_delta": -0.1902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_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.2081,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.293,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3087,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2081,
"delta": -0.0419,
"percent_delta": -0.1675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.293,
"delta": 0.043,
"percent_delta": 0.172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3087,
"delta": 0.0587,
"percent_delta": 0.2347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3087,
"delta": 0.0587,
"percent_delta": 0.2347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2081,
"delta": -0.0419,
"percent_delta": -0.1675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.072,
"after": 0.0,
"delta": -0.072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 3.0,
"delta": -1.07,
"percent_delta": -0.2629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2081,
"delta": -0.0089,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.551,
"after": 1.0,
"delta": 0.449,
"percent_delta": 0.8149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.293,
"delta": 0.016,
"percent_delta": 0.0578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.3087,
"delta": -0.1003,
"percent_delta": -0.2452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.855,
"after": 1.0,
"delta": 0.145,
"percent_delta": 0.1696,
"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_R",
"before": 0.478,
"after": 1.0,
"delta": 0.522,
"percent_delta": 1.0921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.0,
"delta": -1.07,
"percent_delta": -0.2629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.072 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.551 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.478 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.409 | - |
| predicted_SO | 0.855 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.067 | -0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.031 | -0.039 |
| predicted_AVG | 0.208 | -0.009 |
| predicted_BB | 0.483 | -0.068 |
| predicted_H | 0.836 | -0.044 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.112 | -0.008 |
| predicted_OBP | 0.274 | -0.003 |
| predicted_R | 0.432 | -0.046 |
| predicted_RBI | 0.346 | -0.014 |
| predicted_SLG | 0.357 | -0.052 |
| predicted_SO | 0.944 | 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.067 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.031 | 0.000 |
| predicted_AVG | 0.208 | 0.000 |
| predicted_BB | 0.484 | 0.001 |
| predicted_H | 0.839 | 0.003 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.112 | 0.001 |
| predicted_OBP | 0.293 | 0.019 |
| predicted_R | 0.435 | 0.003 |
| predicted_RBI | 0.349 | 0.002 |
| predicted_SLG | 0.309 | -0.049 |
| predicted_SO | 0.943 | -0.001 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.206 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.067 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.031 |
| predicted_AVG | 0.250 | 0.042 |
| predicted_BB | 0.000 | -0.484 |
| predicted_H | 1.000 | 0.161 |
| predicted_HR | 0.000 | -0.112 |
| predicted_OBP | 0.250 | -0.043 |
| predicted_R | 0.000 | -0.435 |
| predicted_RBI | 0.000 | -0.349 |
| predicted_SLG | 0.250 | -0.059 |
| 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 | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 24.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 9.000 | 0.1250 | 0.1250 | 0.1250 | 0.1250 | 0.0000 | 0.0417 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 10 | - | 44.000 | 8.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 12.000 | 0.1818 | 0.2174 | 0.1818 | 0.1818 | 0.0000 | 0.0454 | 0.0454 | 0.2727 |
| season | 0.60 | 69 | - | 248.000 | 53.000 | 5.000 | 0.000 | 10.000 | 25.000 | 33.000 | 38.000 | 59.000 | 0.2137 | 0.3288 | 0.3548 | 0.2137 | 0.0403 | 0.1008 | 0.1532 | 0.2379 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0610 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9780 |
| predicted_AVG | 0.1950 |
| predicted_BB | 0.3910 |
| predicted_H | 0.7760 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.2695 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.3280 |
| predicted_SLG | 0.2867 |
| predicted_SO | 1.0650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0720 | 0.0610 | 0.0673 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0700 | 3.9780 | 4.0311 | model_form_blend |
| predicted_AVG | 0.2170 | 0.1950 | 0.2077 | model_form_blend |
| predicted_BB | 0.5510 | 0.3910 | 0.4834 | model_form_blend |
| predicted_H | 0.8800 | 0.7760 | 0.8360 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.1200 | 0.1000 | 0.1115 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2695 | 0.2738 | model_form_blend |
| predicted_R | 0.4780 | 0.3700 | 0.4323 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3280 | 0.3465 | model_form_blend |
| predicted_SLG | 0.4090 | 0.2867 | 0.3573 | model_form_blend |
| predicted_SO | 0.8550 | 1.0650 | 0.9438 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.214 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 641487 |
| playerID | 641487 |
| playerName | J.P. Crawford |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.311 |
| sl_xwoba | 0.332 |
| sl_xba | 0.243 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 36.3 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 17.3 |
| 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.253 | 0.000 | 0.000 | Hitting_2B | 0.280 | 1.000 | -0.280 | -1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.850 | 4.000 | 4.000 | Hitting_AB | 3.697 | 4.000 | 0.303 | 0.000 |
| predicted_AVG | 0.244 | 0.250 | 0.250 | Hitting_AVG | 0.303 | 0.500 | -0.053 | -0.250 |
| predicted_BB | 0.380 | 0.000 | 0.000 | Hitting_BB | 0.406 | 0.000 | -0.406 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 1.119 | 2.000 | -0.119 | -1.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.100 | 0.000 | 0.900 | 1.000 |
| predicted_OBP | 0.333 | 0.250 | 0.250 | Hitting_OBP | 0.388 | 0.500 | -0.138 | -0.250 |
| predicted_R | 0.646 | 1.000 | 1.000 | Hitting_R | 0.678 | 2.000 | 0.322 | -1.000 |
| predicted_RBI | 0.510 | 3.000 | 1.000 | Hitting_RBI | 0.464 | 1.000 | 2.536 | 2.000 |
| predicted_SLG | 0.496 | 1.000 | 0.250 | Hitting_SLG | 0.469 | 0.750 | 0.531 | 0.250 |
| predicted_SO | 0.949 | 1.000 | 1.000 | Hitting_SO | 0.973 | 2.000 | 0.027 | -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_RBI: 0.5100 -> 3.0000 (boost 2.4900, better) |
| Biggest Deboost | predicted_BB: 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 | 4 | 2 | 2 | 2 | 2 | predicted_OBP: 0.3330 -> 0.3406 (boost 0.0076, better) | predicted_AB: 3.8500 -> 3.7750 (deboost -0.0750, worse) | Final model input calibrated with local 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.4705 -> 0.4271 (deboost -0.0434, 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.5159 -> 1.0000 (boost 0.4841, better) | predicted_BB: 0.3565 -> 0.0000 (deboost -0.3565, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.247 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6532 -> 1.0000 (boost 0.3468, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4271 -> 0.2500 (deboost -0.1771, 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_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4271 (boost 0.1771, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668227",
"player_name": "Randy Arozarena",
"position": "LF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.253,
"predicted_3B": 0.013,
"predicted_AB": 3.85,
"predicted_AVG": 0.244,
"predicted_BB": 0.38,
"predicted_H": 0.94,
"predicted_HR": 0.13,
"predicted_OBP": 0.333,
"predicted_R": 0.646,
"predicted_RBI": 0.51,
"predicted_SLG": 0.496,
"predicted_SO": 0.949
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2573,
"predicted_3B": 0.0109,
"predicted_AB": 3.775,
"predicted_AVG": 0.2513,
"predicted_BB": 0.3561,
"predicted_H": 0.9481,
"predicted_HBP": 0.196,
"predicted_HR": 0.1262,
"predicted_OBP": 0.3406,
"predicted_R": 0.649,
"predicted_RBI": 0.5126,
"predicted_SLG": 0.4705,
"predicted_SO": 0.9473
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.253,
"after": 0.2573,
"delta": 0.0043,
"percent_delta": 0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 3.775,
"delta": -0.075,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2513,
"delta": 0.0073,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.38,
"after": 0.3561,
"delta": -0.0239,
"percent_delta": -0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9481,
"delta": 0.0081,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1262,
"delta": -0.0038,
"percent_delta": -0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3406,
"delta": 0.0076,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 0.649,
"delta": 0.003,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5126,
"delta": 0.0026,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4705,
"delta": -0.0255,
"percent_delta": -0.0514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.949,
"after": 0.9473,
"delta": -0.0017,
"percent_delta": -0.0018,
"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_OBP",
"before": 0.333,
"after": 0.3406,
"delta": 0.0076,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 3.775,
"delta": -0.075,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2573,
"predicted_3B": 0.0109,
"predicted_AB": 3.775,
"predicted_AVG": 0.252,
"predicted_BB": 0.3565,
"predicted_H": 0.9514,
"predicted_HBP": 0.196,
"predicted_HR": 0.1273,
"predicted_OBP": 0.3166,
"predicted_R": 0.6532,
"predicted_RBI": 0.5159,
"predicted_SLG": 0.4271,
"predicted_SO": 0.9462
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2573,
"after": 0.2573,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.775,
"after": 3.775,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2513,
"after": 0.252,
"delta": 0.0007,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3561,
"after": 0.3565,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9481,
"after": 0.9514,
"delta": 0.0033,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.196,
"after": 0.196,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1262,
"after": 0.1273,
"delta": 0.0011,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3406,
"after": 0.3166,
"delta": -0.024,
"percent_delta": -0.0705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.649,
"after": 0.6532,
"delta": 0.0042,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5126,
"after": 0.5159,
"delta": 0.0033,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4705,
"after": 0.4271,
"delta": -0.0434,
"percent_delta": -0.0922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9473,
"after": 0.9462,
"delta": -0.0011,
"percent_delta": -0.0012,
"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.4705,
"after": 0.4271,
"delta": -0.0434,
"percent_delta": -0.0922,
"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.247 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2573,
"after": 0.0,
"delta": -0.2573,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.775,
"after": 4.0,
"delta": 0.225,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3565,
"after": 0.0,
"delta": -0.3565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9514,
"after": 1.0,
"delta": 0.0486,
"percent_delta": 0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1273,
"after": 0.0,
"delta": -0.1273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5159,
"after": 1.0,
"delta": 0.4841,
"percent_delta": 0.9384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9462,
"after": 1.0,
"delta": 0.0538,
"percent_delta": 0.0569,
"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.5159,
"after": 1.0,
"delta": 0.4841,
"percent_delta": 0.9384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3565,
"after": 0.0,
"delta": -0.3565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6532,
"after": 1.0,
"delta": 0.3468,
"percent_delta": 0.5309,
"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.6532,
"after": 1.0,
"delta": 0.3468,
"percent_delta": 0.5309,
"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.252,
"after": 0.25,
"delta": -0.002,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3166,
"after": 0.25,
"delta": -0.0666,
"percent_delta": -0.2104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4271,
"after": 0.25,
"delta": -0.1771,
"percent_delta": -0.4147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4271,
"after": 0.25,
"delta": -0.1771,
"percent_delta": -0.4147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.252,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3166,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4271,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.252,
"delta": 0.002,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3166,
"delta": 0.0666,
"percent_delta": 0.2663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4271,
"delta": 0.1771,
"percent_delta": 0.7084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.4271,
"delta": 0.1771,
"percent_delta": 0.7084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.253,
"after": 0.0,
"delta": -0.253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.252,
"delta": 0.008,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"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.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3166,
"delta": -0.0164,
"percent_delta": -0.0492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 3.0,
"delta": 2.49,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.4271,
"delta": -0.0689,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.949,
"after": 1.0,
"delta": 0.051,
"percent_delta": 0.0537,
"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_RBI",
"before": 0.51,
"after": 3.0,
"delta": 2.49,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.253 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.380 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.646 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.496 | - |
| predicted_SO | 0.949 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.257 | 0.004 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.775 | -0.075 |
| predicted_AVG | 0.251 | 0.007 |
| predicted_BB | 0.356 | -0.024 |
| predicted_H | 0.948 | 0.008 |
| predicted_HBP | 0.196 | - |
| predicted_HR | 0.126 | -0.004 |
| predicted_OBP | 0.341 | 0.008 |
| predicted_R | 0.649 | 0.003 |
| predicted_RBI | 0.513 | 0.003 |
| predicted_SLG | 0.470 | -0.026 |
| predicted_SO | 0.947 | -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.257 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.775 | 0.000 |
| predicted_AVG | 0.252 | 0.001 |
| predicted_BB | 0.356 | 0.000 |
| predicted_H | 0.951 | 0.003 |
| predicted_HBP | 0.196 | 0.000 |
| predicted_HR | 0.127 | 0.001 |
| predicted_OBP | 0.317 | -0.024 |
| predicted_R | 0.653 | 0.004 |
| predicted_RBI | 0.516 | 0.003 |
| predicted_SLG | 0.427 | -0.043 |
| predicted_SO | 0.946 | -0.001 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.247 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 | 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.257 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.225 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 0.000 | -0.356 |
| predicted_H | 1.000 | 0.049 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.250 | -0.067 |
| predicted_R | 1.000 | 0.347 |
| predicted_RBI | 1.000 | 0.484 |
| predicted_SLG | 0.250 | -0.177 |
| predicted_SO | 1.000 | 0.054 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 |
| RBI | 3.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 | - | 19.000 | 5.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 4.000 | 0.2632 | 0.3636 | 0.5263 | 0.2632 | 0.0526 | 0.2105 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 35.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 6.000 | 3.000 | 11.000 | 0.2000 | 0.3000 | 0.3429 | 0.2000 | 0.0286 | 0.1143 | 0.0857 | 0.3143 |
| season | 0.60 | 79 | - | 290.000 | 82.000 | 20.000 | 1.000 | 8.000 | 37.000 | 51.000 | 30.000 | 75.000 | 0.2828 | 0.3701 | 0.4414 | 0.2828 | 0.0276 | 0.1276 | 0.1035 | 0.2586 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2630 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6740 |
| predicted_AVG | 0.2611 |
| predicted_BB | 0.3240 |
| predicted_H | 0.9590 |
| predicted_HBP | 0.1960 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.3508 |
| predicted_R | 0.6530 |
| predicted_RBI | 0.5160 |
| predicted_SLG | 0.4362 |
| predicted_SO | 0.9450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2530 | 0.2630 | 0.2573 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 3.8500 | 3.6740 | 3.7750 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2611 | 0.2513 | model_form_blend |
| predicted_BB | 0.3800 | 0.3240 | 0.3561 | model_form_blend |
| predicted_H | 0.9400 | 0.9590 | 0.9481 | model_form_blend |
| predicted_HBP | - | 0.1960 | 0.1960 | form_only |
| predicted_HR | 0.1300 | 0.1210 | 0.1262 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3508 | 0.3406 | model_form_blend |
| predicted_R | 0.6460 | 0.6530 | 0.6490 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5160 | 0.5126 | model_form_blend |
| predicted_SLG | 0.4960 | 0.4362 | 0.4705 | model_form_blend |
| predicted_SO | 0.9490 | 0.9450 | 0.9473 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.283 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 668227 |
| playerID | 668227 |
| playerName | Randy Arozarena |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.359 |
| sl_xwoba | 0.343 |
| sl_xba | 0.26 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 37.2 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 7.9 |
| sl_whiff_percent | 27.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.091 | 0.000 | 0.000 | Hitting_2B | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.810 | 4.000 | 4.000 | Hitting_AB | 3.949 | 3.000 | 0.051 | 1.000 |
| predicted_AVG | 0.203 | 0.500 | 0.250 | Hitting_AVG | 0.165 | 0.000 | 0.335 | 0.500 |
| predicted_BB | 0.545 | 0.000 | 1.000 | Hitting_BB | 0.503 | 1.000 | -0.503 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.770 | 2.000 | 1.000 | Hitting_H | 0.651 | 0.000 | 1.349 | 2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_OBP | 0.292 | 0.500 | 0.400 | Hitting_OBP | 0.257 | 0.250 | 0.243 | 0.250 |
| predicted_R | 0.382 | 1.000 | 0.000 | Hitting_R | 0.421 | 1.000 | 0.579 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.410 | 0.000 | -0.410 | 0.000 |
| predicted_SLG | 0.401 | 0.500 | 0.250 | Hitting_SLG | 0.314 | 0.000 | 0.186 | 0.500 |
| predicted_SO | 1.364 | 0.000 | 1.000 | Hitting_SO | 1.390 | 2.000 | -1.390 | -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_H: 0.7700 -> 2.0000 (boost 1.2300, better) |
| Biggest Deboost | predicted_SO: 1.3640 -> 0.0000 (deboost -1.3640, 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 | 0 | 4 | 0 | 4 | - | predicted_AB: 3.8100 -> 3.7311 (deboost -0.0789, worse) | Final model input calibrated with local 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.2916 -> 0.2988 (boost 0.0072, better) | predicted_SLG: 0.3508 -> 0.3106 (deboost -0.0402, 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.5845 -> 1.0000 (boost 0.4155, better) | predicted_RBI: 0.4152 -> 0.0000 (deboost -0.4152, worse) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.185 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4101 -> 0.0000 (deboost -0.4101, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2988 -> 0.4000 (boost 0.1012, better) | predicted_SLG: 0.3106 -> 0.2500 (deboost -0.0606, 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_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.3106 (boost 0.0606, better) | predicted_OBP: 0.4000 -> 0.2988 (deboost -0.1012, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663728",
"player_name": "Cal Raleigh",
"position": "C",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.0,
"predicted_AB": 3.81,
"predicted_AVG": 0.203,
"predicted_BB": 0.545,
"predicted_H": 0.77,
"predicted_HR": 0.13,
"predicted_OBP": 0.292,
"predicted_R": 0.382,
"predicted_RBI": 0.42,
"predicted_SLG": 0.401,
"predicted_SO": 1.364
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0881,
"predicted_3B": 0.0008,
"predicted_AB": 3.7311,
"predicted_AVG": 0.1883,
"predicted_BB": 0.5838,
"predicted_H": 0.7024,
"predicted_HBP": 0.003,
"predicted_HR": 0.1204,
"predicted_OBP": 0.2916,
"predicted_R": 0.4075,
"predicted_RBI": 0.4125,
"predicted_SLG": 0.3508,
"predicted_SO": 1.3415
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0881,
"delta": -0.0029,
"percent_delta": -0.0319,
"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.81,
"after": 3.7311,
"delta": -0.0789,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.1883,
"delta": -0.0147,
"percent_delta": -0.0724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.545,
"after": 0.5838,
"delta": 0.0388,
"percent_delta": 0.0712,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7024,
"delta": -0.0676,
"percent_delta": -0.0878,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1204,
"delta": -0.0096,
"percent_delta": -0.0738,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2916,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.4075,
"delta": 0.0255,
"percent_delta": 0.0668,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4125,
"delta": -0.0075,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3508,
"delta": -0.0502,
"percent_delta": -0.1252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.364,
"after": 1.3415,
"delta": -0.0225,
"percent_delta": -0.0165,
"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.81,
"after": 3.7311,
"delta": -0.0789,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.0881,
"predicted_3B": 0.0008,
"predicted_AB": 3.7311,
"predicted_AVG": 0.1889,
"predicted_BB": 0.5845,
"predicted_H": 0.7049,
"predicted_HBP": 0.003,
"predicted_HR": 0.1214,
"predicted_OBP": 0.2988,
"predicted_R": 0.4101,
"predicted_RBI": 0.4152,
"predicted_SLG": 0.3106,
"predicted_SO": 1.3399
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0881,
"after": 0.0881,
"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.7311,
"after": 3.7311,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1883,
"after": 0.1889,
"delta": 0.0006,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5838,
"after": 0.5845,
"delta": 0.0007,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7024,
"after": 0.7049,
"delta": 0.0025,
"percent_delta": 0.0036,
"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.1204,
"after": 0.1214,
"delta": 0.001,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2916,
"after": 0.2988,
"delta": 0.0072,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4075,
"after": 0.4101,
"delta": 0.0026,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4125,
"after": 0.4152,
"delta": 0.0027,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3508,
"after": 0.3106,
"delta": -0.0402,
"percent_delta": -0.1146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3415,
"after": 1.3399,
"delta": -0.0016,
"percent_delta": -0.0012,
"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.2916,
"after": 0.2988,
"delta": 0.0072,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3508,
"after": 0.3106,
"delta": -0.0402,
"percent_delta": -0.1146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.81), rates preserved: AVG=0.185 HR/AB=0.032",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0881,
"after": 0.0,
"delta": -0.0881,
"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.7311,
"after": 4.0,
"delta": 0.2689,
"percent_delta": 0.0721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5845,
"after": 1.0,
"delta": 0.4155,
"percent_delta": 0.7109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7049,
"after": 1.0,
"delta": 0.2951,
"percent_delta": 0.4186,
"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.1214,
"after": 0.0,
"delta": -0.1214,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4152,
"after": 0.0,
"delta": -0.4152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3399,
"after": 1.0,
"delta": -0.3399,
"percent_delta": -0.2537,
"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.5845,
"after": 1.0,
"delta": 0.4155,
"percent_delta": 0.7109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4152,
"after": 0.0,
"delta": -0.4152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4101,
"after": 0.0,
"delta": -0.4101,
"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.4101,
"after": 0.0,
"delta": -0.4101,
"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.1889,
"after": 0.25,
"delta": 0.0611,
"percent_delta": 0.3235,
"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.2988,
"after": 0.4,
"delta": 0.1012,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3106,
"after": 0.25,
"delta": -0.0606,
"percent_delta": -0.1951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2988,
"after": 0.4,
"delta": 0.1012,
"percent_delta": 0.3387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3106,
"after": 0.25,
"delta": -0.0606,
"percent_delta": -0.1951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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_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.1889,
"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.2988,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3106,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1889,
"delta": -0.0611,
"percent_delta": -0.2443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2988,
"delta": -0.1012,
"percent_delta": -0.2531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3106,
"delta": 0.0606,
"percent_delta": 0.2423,
"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.3106,
"delta": 0.0606,
"percent_delta": 0.2423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.2988,
"delta": -0.1012,
"percent_delta": -0.2531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 4.0,
"delta": 0.19,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.203,
"after": 0.1889,
"delta": -0.0141,
"percent_delta": -0.0695,
"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.77,
"after": 2.0,
"delta": 1.23,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2988,
"delta": 0.0068,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"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.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3106,
"delta": -0.0904,
"percent_delta": -0.2254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.364,
"after": 0.0,
"delta": -1.364,
"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.77,
"after": 2.0,
"delta": 1.23,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.364,
"after": 0.0,
"delta": -1.364,
"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.000 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.203 | - |
| predicted_BB | 0.545 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.382 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 1.364 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.088 | -0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.731 | -0.079 |
| predicted_AVG | 0.188 | -0.015 |
| predicted_BB | 0.584 | 0.039 |
| predicted_H | 0.702 | -0.068 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.120 | -0.010 |
| predicted_OBP | 0.292 | -0.000 |
| predicted_R | 0.407 | 0.025 |
| predicted_RBI | 0.412 | -0.008 |
| predicted_SLG | 0.351 | -0.050 |
| predicted_SO | 1.341 | -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.088 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.731 | 0.000 |
| predicted_AVG | 0.189 | 0.001 |
| predicted_BB | 0.585 | 0.001 |
| predicted_H | 0.705 | 0.002 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.121 | 0.001 |
| predicted_OBP | 0.299 | 0.007 |
| predicted_R | 0.410 | 0.003 |
| predicted_RBI | 0.415 | 0.003 |
| predicted_SLG | 0.311 | -0.040 |
| predicted_SO | 1.340 | -0.002 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.185 HR/AB=0.032
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.088 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.269 |
| predicted_AVG | 0.250 | 0.061 |
| predicted_BB | 1.000 | 0.415 |
| predicted_H | 1.000 | 0.295 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.400 | 0.101 |
| predicted_R | 0.000 | -0.410 |
| predicted_RBI | 0.000 | -0.415 |
| predicted_SLG | 0.250 | -0.061 |
| predicted_SO | 1.000 | -0.340 |
Attached 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 | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 5.000 | 7.000 | 0.1250 | 0.3333 | 0.1250 | 0.1250 | 0.0000 | 0.1250 | 0.3125 | 0.4375 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 7.000 | 13.000 | 0.1714 | 0.3095 | 0.2857 | 0.1714 | 0.0286 | 0.0857 | 0.2000 | 0.3714 |
| season | 0.60 | 55 | - | 207.000 | 34.000 | 5.000 | 0.000 | 8.000 | 23.000 | 21.000 | 30.000 | 75.000 | 0.1643 | 0.2678 | 0.3043 | 0.1643 | 0.0386 | 0.1111 | 0.1449 | 0.3623 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0840 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6210 |
| predicted_AVG | 0.1679 |
| predicted_BB | 0.6380 |
| predicted_H | 0.6080 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1070 |
| predicted_OBP | 0.2911 |
| predicted_R | 0.4430 |
| predicted_RBI | 0.4020 |
| predicted_SLG | 0.2807 |
| predicted_SO | 1.3100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.0840 | 0.0881 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8100 | 3.6210 | 3.7311 | model_form_blend |
| predicted_AVG | 0.2030 | 0.1679 | 0.1883 | model_form_blend |
| predicted_BB | 0.5450 | 0.6380 | 0.5838 | model_form_blend |
| predicted_H | 0.7700 | 0.6080 | 0.7024 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1300 | 0.1070 | 0.1204 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2911 | 0.2916 | model_form_blend |
| predicted_R | 0.3820 | 0.4430 | 0.4075 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4020 | 0.4125 | model_form_blend |
| predicted_SLG | 0.4010 | 0.2807 | 0.3508 | model_form_blend |
| predicted_SO | 1.3640 | 1.3100 | 1.3415 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.164 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 663728 |
| playerID | 663728 |
| playerName | Cal Raleigh |
| pos | C |
| started | True |
| startingPosition | C |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.261 |
| sl_xwoba | 0.292 |
| sl_xba | 0.18 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 31.3 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 24.0 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 51.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.174 | 0.000 | 0.000 | Hitting_2B | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.420 | 3.000 | 4.000 | Hitting_AB | 4.076 | 5.000 | -1.076 | -2.000 |
| predicted_AVG | 0.254 | 0.333 | 0.250 | Hitting_AVG | 0.258 | 0.600 | 0.076 | -0.267 |
| predicted_BB | 0.326 | 1.000 | 0.000 | Hitting_BB | 0.322 | 0.000 | 0.678 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 1.120 | 1.000 | 1.000 | Hitting_H | 1.051 | 3.000 | -0.051 | -2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_OBP | 0.349 | 0.500 | 0.250 | Hitting_OBP | 0.318 | 0.600 | 0.182 | -0.100 |
| predicted_R | 0.535 | 0.000 | 1.000 | Hitting_R | 0.551 | 2.000 | -0.551 | -2.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.511 | 0.000 | -0.511 | 0.000 |
| predicted_SLG | 0.491 | 0.333 | 0.250 | Hitting_SLG | 0.435 | 0.600 | -0.101 | -0.267 |
| predicted_SO | 0.919 | 1.000 | 1.000 | Hitting_SO | 0.920 | 1.000 | 0.080 | 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.3260 -> 1.0000 (boost 0.6740, better) |
| Biggest Deboost | predicted_AB: 4.4200 -> 3.0000 (deboost -1.4200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2540 -> 0.2768 (boost 0.0228, better) | predicted_AB: 4.4200 -> 4.2259 (deboost -0.1941, worse) | Final model input calibrated with local 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.4568 -> 0.3946 (deboost -0.0622, 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.9205 -> 1.0000 (boost 0.0795, worse) | predicted_RBI: 0.4475 -> 0.0000 (deboost -0.4475, worse) | AB rounded to 4 (raw=4.42), rates preserved: AVG=0.264 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5557 -> 1.0000 (boost 0.4443, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3946 -> 0.2500 (deboost -0.1446, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3946 (boost 0.1446, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677594",
"player_name": "Julio Rodríguez",
"position": "CF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.0,
"predicted_AB": 4.42,
"predicted_AVG": 0.254,
"predicted_BB": 0.326,
"predicted_H": 1.12,
"predicted_HR": 0.13,
"predicted_OBP": 0.349,
"predicted_R": 0.535,
"predicted_RBI": 0.46,
"predicted_SLG": 0.491,
"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.1466,
"predicted_3B": 0.0004,
"predicted_AB": 4.2259,
"predicted_AVG": 0.2768,
"predicted_BB": 0.3277,
"predicted_H": 1.162,
"predicted_HBP": 0.103,
"predicted_HR": 0.1171,
"predicted_OBP": 0.3595,
"predicted_R": 0.5521,
"predicted_RBI": 0.4446,
"predicted_SLG": 0.4568,
"predicted_SO": 0.9216
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.1466,
"delta": -0.0274,
"percent_delta": -0.1575,
"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.42,
"after": 4.2259,
"delta": -0.1941,
"percent_delta": -0.0439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2768,
"delta": 0.0228,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.3277,
"delta": 0.0017,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.162,
"delta": 0.042,
"percent_delta": 0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1171,
"delta": -0.0129,
"percent_delta": -0.0992,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3595,
"delta": 0.0105,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.535,
"after": 0.5521,
"delta": 0.0171,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4446,
"delta": -0.0154,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4568,
"delta": -0.0342,
"percent_delta": -0.0697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.919,
"after": 0.9216,
"delta": 0.0026,
"percent_delta": 0.0028,
"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_AVG",
"before": 0.254,
"after": 0.2768,
"delta": 0.0228,
"percent_delta": 0.0898,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 4.2259,
"delta": -0.1941,
"percent_delta": -0.0439,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 86
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1466,
"predicted_3B": 0.0004,
"predicted_AB": 4.2259,
"predicted_AVG": 0.2759,
"predicted_BB": 0.3281,
"predicted_H": 1.1661,
"predicted_HBP": 0.103,
"predicted_HR": 0.1181,
"predicted_OBP": 0.3281,
"predicted_R": 0.5557,
"predicted_RBI": 0.4475,
"predicted_SLG": 0.3946,
"predicted_SO": 0.9205
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1466,
"after": 0.1466,
"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.2259,
"after": 4.2259,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2768,
"after": 0.2759,
"delta": -0.0009,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3277,
"after": 0.3281,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.162,
"after": 1.1661,
"delta": 0.0041,
"percent_delta": 0.0035,
"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.1171,
"after": 0.1181,
"delta": 0.001,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3595,
"after": 0.3281,
"delta": -0.0314,
"percent_delta": -0.0873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5521,
"after": 0.5557,
"delta": 0.0036,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4446,
"after": 0.4475,
"delta": 0.0029,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4568,
"after": 0.3946,
"delta": -0.0622,
"percent_delta": -0.1362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9216,
"after": 0.9205,
"delta": -0.0011,
"percent_delta": -0.0012,
"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.4568,
"after": 0.3946,
"delta": -0.0622,
"percent_delta": -0.1362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.42), rates preserved: AVG=0.264 HR/AB=0.027",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1466,
"after": 0.0,
"delta": -0.1466,
"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.2259,
"after": 4.0,
"delta": -0.2259,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3281,
"after": 0.0,
"delta": -0.3281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1661,
"after": 1.0,
"delta": -0.1661,
"percent_delta": -0.1424,
"direction": "deboost",
"projection_effect": "worse",
"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.1181,
"after": 0.0,
"delta": -0.1181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4475,
"after": 0.0,
"delta": -0.4475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9205,
"after": 1.0,
"delta": 0.0795,
"percent_delta": 0.0864,
"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.9205,
"after": 1.0,
"delta": 0.0795,
"percent_delta": 0.0864,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4475,
"after": 0.0,
"delta": -0.4475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5557,
"after": 1.0,
"delta": 0.4443,
"percent_delta": 0.7995,
"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.5557,
"after": 1.0,
"delta": 0.4443,
"percent_delta": 0.7995,
"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.2759,
"after": 0.25,
"delta": -0.0259,
"percent_delta": -0.0939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3281,
"after": 0.25,
"delta": -0.0781,
"percent_delta": -0.238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3946,
"after": 0.25,
"delta": -0.1446,
"percent_delta": -0.3664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3946,
"after": 0.25,
"delta": -0.1446,
"percent_delta": -0.3664,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2759,
"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.3281,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3946,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2759,
"delta": 0.0259,
"percent_delta": 0.1037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3281,
"delta": 0.0781,
"percent_delta": 0.3124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3946,
"delta": 0.1446,
"percent_delta": 0.5786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3946,
"delta": 0.1446,
"percent_delta": 0.5786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.42,
"after": 3.0,
"delta": -1.42,
"percent_delta": -0.3213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2759,
"delta": 0.0219,
"percent_delta": 0.0862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 1.0,
"delta": 0.674,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0,
"delta": -0.12,
"percent_delta": -0.1071,
"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.349,
"after": 0.3281,
"delta": -0.0209,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.535,
"after": 0.0,
"delta": -0.535,
"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.491,
"after": 0.3946,
"delta": -0.0964,
"percent_delta": -0.1963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.919,
"after": 1.0,
"delta": 0.081,
"percent_delta": 0.0881,
"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.326,
"after": 1.0,
"delta": 0.674,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.42,
"after": 3.0,
"delta": -1.42,
"percent_delta": -0.3213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.420 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.326 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.349 | - |
| predicted_R | 0.535 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.491 | - |
| 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.147 | -0.027 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.226 | -0.194 |
| predicted_AVG | 0.277 | 0.023 |
| predicted_BB | 0.328 | 0.002 |
| predicted_H | 1.162 | 0.042 |
| predicted_HBP | 0.103 | - |
| predicted_HR | 0.117 | -0.013 |
| predicted_OBP | 0.359 | 0.011 |
| predicted_R | 0.552 | 0.017 |
| predicted_RBI | 0.445 | -0.015 |
| predicted_SLG | 0.457 | -0.034 |
| predicted_SO | 0.922 | 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.147 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.226 | 0.000 |
| predicted_AVG | 0.276 | -0.001 |
| predicted_BB | 0.328 | 0.000 |
| predicted_H | 1.166 | 0.004 |
| predicted_HBP | 0.103 | 0.000 |
| predicted_HR | 0.118 | 0.001 |
| predicted_OBP | 0.328 | -0.031 |
| predicted_R | 0.556 | 0.004 |
| predicted_RBI | 0.448 | 0.003 |
| predicted_SLG | 0.395 | -0.062 |
| predicted_SO | 0.920 | -0.001 |
AB rounded to 4 (raw=4.42), rates preserved: AVG=0.264 HR/AB=0.027
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.147 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.226 |
| predicted_AVG | 0.250 | -0.026 |
| predicted_BB | 0.000 | -0.328 |
| predicted_H | 1.000 | -0.166 |
| predicted_HR | 0.000 | -0.118 |
| predicted_OBP | 0.250 | -0.078 |
| predicted_R | 1.000 | 0.444 |
| predicted_RBI | 0.000 | -0.448 |
| predicted_SLG | 0.250 | -0.145 |
| predicted_SO | 1.000 | 0.080 |
Attached 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 | 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 | 9.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 5.000 | 0.4500 | 0.5217 | 0.4500 | 0.4500 | 0.0000 | 0.1000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 39.000 | 13.000 | 0.000 | 0.000 | 0.000 | 3.000 | 5.000 | 3.000 | 9.000 | 0.3333 | 0.4091 | 0.3333 | 0.3333 | 0.0000 | 0.0769 | 0.0769 | 0.2308 |
| season | 0.60 | 86 | - | 344.000 | 89.000 | 15.000 | 0.000 | 14.000 | 40.000 | 46.000 | 28.000 | 79.000 | 0.2587 | 0.3210 | 0.4244 | 0.2587 | 0.0407 | 0.1163 | 0.0814 | 0.2296 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1100 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9670 |
| predicted_AVG | 0.3072 |
| predicted_BB | 0.3300 |
| predicted_H | 1.2180 |
| predicted_HBP | 0.1030 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.3734 |
| predicted_R | 0.5750 |
| predicted_RBI | 0.4240 |
| predicted_SLG | 0.4111 |
| predicted_SO | 0.9250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.1100 | 0.1466 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.4200 | 3.9670 | 4.2259 | model_form_blend |
| predicted_AVG | 0.2540 | 0.3072 | 0.2768 | model_form_blend |
| predicted_BB | 0.3260 | 0.3300 | 0.3277 | model_form_blend |
| predicted_H | 1.1200 | 1.2180 | 1.1620 | model_form_blend |
| predicted_HBP | - | 0.1030 | 0.1030 | form_only |
| predicted_HR | 0.1300 | 0.1000 | 0.1171 | model_form_blend |
| predicted_OBP | 0.3490 | 0.3734 | 0.3595 | model_form_blend |
| predicted_R | 0.5350 | 0.5750 | 0.5521 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4240 | 0.4446 | model_form_blend |
| predicted_SLG | 0.4910 | 0.4111 | 0.4568 | model_form_blend |
| predicted_SO | 0.9190 | 0.9250 | 0.9216 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 276 |
| Season rows before report date | 276 |
| Report year | 2026 |
| Profile rows used | 86 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| 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.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | CF |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 677594 |
| playerID | 677594 |
| playerName | Julio Rodríguez |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.327 |
| sl_xwoba | 0.35 |
| sl_xba | 0.274 |
| sl_xslg | 0.474 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.138 | 0.000 | 0.000 | Hitting_2B | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.080 | 4.000 | 4.000 | Hitting_AB | 3.988 | 4.000 | 0.012 | 0.000 |
| predicted_AVG | 0.242 | 0.000 | 0.250 | Hitting_AVG | 0.266 | 0.500 | -0.266 | -0.500 |
| predicted_BB | 0.338 | 0.000 | 0.000 | Hitting_BB | 0.363 | 1.000 | -0.363 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.062 | 2.000 | -1.062 | -2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.321 | 0.000 | 0.250 | Hitting_OBP | 0.331 | 0.600 | -0.331 | -0.600 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.410 | 1.000 | -0.410 | -1.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.461 | 0.000 | -0.461 | 0.000 |
| predicted_SLG | 0.450 | 0.000 | 0.250 | Hitting_SLG | 0.367 | 0.500 | -0.367 | -0.500 |
| predicted_SO | 0.562 | 0.000 | 1.000 | Hitting_SO | 0.594 | 1.000 | -0.594 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AVG: 0.2420 -> 0.2511 (boost 0.0091, 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 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2420 -> 0.2501 (boost 0.0081, better) | predicted_AB: 4.0800 -> 4.0087 (deboost -0.0713, worse) | Final model input calibrated with local 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.4091 -> 0.3487 (deboost -0.0604, 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.5775 -> 1.0000 (boost 0.4225, worse) | predicted_RBI: 0.3741 -> 0.0000 (deboost -0.3741, worse) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.247 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4374 -> 0.0000 (deboost -0.4374, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3487 -> 0.2500 (deboost -0.0987, 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3487 (boost 0.0987, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "647304",
"player_name": "Josh Naylor",
"position": "1B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.0,
"predicted_AB": 4.08,
"predicted_AVG": 0.242,
"predicted_BB": 0.338,
"predicted_H": 0.99,
"predicted_HR": 0.09,
"predicted_OBP": 0.321,
"predicted_R": 0.4,
"predicted_RBI": 0.39,
"predicted_SLG": 0.45,
"predicted_SO": 0.562
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1491,
"predicted_3B": 0.0004,
"predicted_AB": 4.0087,
"predicted_AVG": 0.2501,
"predicted_BB": 0.3453,
"predicted_H": 1.0032,
"predicted_HBP": 0.078,
"predicted_HR": 0.0798,
"predicted_OBP": 0.3265,
"predicted_R": 0.4346,
"predicted_RBI": 0.3717,
"predicted_SLG": 0.4091,
"predicted_SO": 0.5782
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1491,
"delta": 0.0111,
"percent_delta": 0.0804,
"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.08,
"after": 4.0087,
"delta": -0.0713,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2501,
"delta": 0.0081,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.3453,
"delta": 0.0073,
"percent_delta": 0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0032,
"delta": 0.0132,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0798,
"delta": -0.0102,
"percent_delta": -0.1133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3265,
"delta": 0.0055,
"percent_delta": 0.0171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4346,
"delta": 0.0346,
"percent_delta": 0.0865,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3717,
"delta": -0.0183,
"percent_delta": -0.0469,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4091,
"delta": -0.0409,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.562,
"after": 0.5782,
"delta": 0.0162,
"percent_delta": 0.0288,
"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_AVG",
"before": 0.242,
"after": 0.2501,
"delta": 0.0081,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 4.0087,
"delta": -0.0713,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 80
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1491,
"predicted_3B": 0.0004,
"predicted_AB": 4.0087,
"predicted_AVG": 0.2511,
"predicted_BB": 0.3457,
"predicted_H": 1.0067,
"predicted_HBP": 0.078,
"predicted_HR": 0.0805,
"predicted_OBP": 0.3106,
"predicted_R": 0.4374,
"predicted_RBI": 0.3741,
"predicted_SLG": 0.3487,
"predicted_SO": 0.5775
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1491,
"after": 0.1491,
"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.0087,
"after": 4.0087,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2501,
"after": 0.2511,
"delta": 0.001,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3453,
"after": 0.3457,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0032,
"after": 1.0067,
"delta": 0.0035,
"percent_delta": 0.0035,
"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.0798,
"after": 0.0805,
"delta": 0.0007,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3265,
"after": 0.3106,
"delta": -0.0159,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4346,
"after": 0.4374,
"delta": 0.0028,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3717,
"after": 0.3741,
"delta": 0.0024,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4091,
"after": 0.3487,
"delta": -0.0604,
"percent_delta": -0.1476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5782,
"after": 0.5775,
"delta": -0.0007,
"percent_delta": -0.0012,
"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.4091,
"after": 0.3487,
"delta": -0.0604,
"percent_delta": -0.1476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.247 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.1491,
"after": 0.0,
"delta": -0.1491,
"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.0087,
"after": 4.0,
"delta": -0.0087,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3457,
"after": 0.0,
"delta": -0.3457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0067,
"after": 1.0,
"delta": -0.0067,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0805,
"after": 0.0,
"delta": -0.0805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3741,
"after": 0.0,
"delta": -0.3741,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5775,
"after": 1.0,
"delta": 0.4225,
"percent_delta": 0.7316,
"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.5775,
"after": 1.0,
"delta": 0.4225,
"percent_delta": 0.7316,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3741,
"after": 0.0,
"delta": -0.3741,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4374,
"after": 0.0,
"delta": -0.4374,
"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.4374,
"after": 0.0,
"delta": -0.4374,
"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.2511,
"after": 0.25,
"delta": -0.0011,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3106,
"after": 0.25,
"delta": -0.0606,
"percent_delta": -0.1951,
"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.3487,
"after": 0.25,
"delta": -0.0987,
"percent_delta": -0.2831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.3487,
"after": 0.25,
"delta": -0.0987,
"percent_delta": -0.2831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2511,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3106,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3487,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2511,
"delta": 0.0011,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3106,
"delta": 0.0606,
"percent_delta": 0.2423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3487,
"delta": 0.0987,
"percent_delta": 0.395,
"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.3487,
"delta": 0.0987,
"percent_delta": 0.395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 4.0,
"delta": -0.08,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2511,
"delta": 0.0091,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3106,
"delta": -0.0104,
"percent_delta": -0.0324,
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.3487,
"delta": -0.1013,
"percent_delta": -0.2251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.562,
"after": 0.0,
"delta": -0.562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2511,
"delta": 0.0091,
"percent_delta": 0.0376,
"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.138 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.338 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 0.562 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | 0.011 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.009 | -0.071 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 0.345 | 0.007 |
| predicted_H | 1.003 | 0.013 |
| predicted_HBP | 0.078 | - |
| predicted_HR | 0.080 | -0.010 |
| predicted_OBP | 0.327 | 0.006 |
| predicted_R | 0.435 | 0.035 |
| predicted_RBI | 0.372 | -0.018 |
| predicted_SLG | 0.409 | -0.041 |
| predicted_SO | 0.578 | 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.149 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.009 | 0.000 |
| predicted_AVG | 0.251 | 0.001 |
| predicted_BB | 0.346 | 0.000 |
| predicted_H | 1.007 | 0.003 |
| predicted_HBP | 0.078 | 0.000 |
| predicted_HR | 0.081 | 0.001 |
| predicted_OBP | 0.311 | -0.016 |
| predicted_R | 0.437 | 0.003 |
| predicted_RBI | 0.374 | 0.002 |
| predicted_SLG | 0.349 | -0.060 |
| predicted_SO | 0.578 | -0.001 |
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.247 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.149 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.009 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.346 |
| predicted_H | 1.000 | -0.007 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.250 | -0.061 |
| predicted_R | 0.000 | -0.437 |
| predicted_RBI | 0.000 | -0.374 |
| predicted_SLG | 0.250 | -0.099 |
| predicted_SO | 1.000 | 0.422 |
Attached 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 | - | 20.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 3.000 | 0.2500 | 0.3478 | 0.3000 | 0.2500 | 0.0000 | 0.0500 | 0.1000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 0.000 | 0.000 | 2.000 | 4.000 | 4.000 | 6.000 | 0.2895 | 0.3721 | 0.3421 | 0.2895 | 0.0000 | 0.0526 | 0.1053 | 0.1579 |
| season | 0.60 | 80 | - | 315.000 | 81.000 | 11.000 | 0.000 | 8.000 | 34.000 | 32.000 | 27.000 | 45.000 | 0.2571 | 0.3208 | 0.3683 | 0.2571 | 0.0254 | 0.1079 | 0.0857 | 0.1429 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9130 |
| predicted_AVG | 0.2610 |
| predicted_BB | 0.3550 |
| predicted_H | 1.0210 |
| predicted_HBP | 0.0780 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.3340 |
| predicted_R | 0.4810 |
| predicted_RBI | 0.3470 |
| predicted_SLG | 0.3541 |
| predicted_SO | 0.6000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.1640 | 0.1491 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0800 | 3.9130 | 4.0087 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2610 | 0.2501 | model_form_blend |
| predicted_BB | 0.3380 | 0.3550 | 0.3453 | model_form_blend |
| predicted_H | 0.9900 | 1.0210 | 1.0032 | model_form_blend |
| predicted_HBP | - | 0.0780 | 0.0780 | form_only |
| predicted_HR | 0.0900 | 0.0660 | 0.0798 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3340 | 0.3265 | model_form_blend |
| predicted_R | 0.4000 | 0.4810 | 0.4346 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3470 | 0.3717 | model_form_blend |
| predicted_SLG | 0.4500 | 0.3541 | 0.4091 | model_form_blend |
| predicted_SO | 0.5620 | 0.6000 | 0.5782 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.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.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 | 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 | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 647304 |
| playerID | 647304 |
| playerName | Josh Naylor |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.306 |
| sl_xwoba | 0.328 |
| sl_xba | 0.277 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 13.7 |
| sl_whiff_percent | 18.4 |
| sl_swing_percent | 52.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 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.011 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.609 | 4.000 | 4.000 | Hitting_AB | 3.575 | 3.000 | 0.425 | 1.000 |
| predicted_AVG | 0.264 | 0.250 | 0.250 | Hitting_AVG | 0.249 | 0.333 | 0.001 | -0.083 |
| predicted_BB | 0.264 | 0.000 | 0.000 | Hitting_BB | 0.327 | 1.000 | -0.327 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 0.900 | 1.000 | 1.000 | Hitting_H | 0.890 | 1.000 | 0.110 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_OBP | 0.335 | 0.250 | 0.250 | Hitting_OBP | 0.323 | 0.500 | -0.073 | -0.250 |
| predicted_R | 0.448 | 0.000 | 1.000 | Hitting_R | 0.488 | 2.000 | -0.488 | -2.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.476 | 1.000 | -0.476 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_SLG | 0.526 | 0.250 | 0.250 | Hitting_SLG | 0.366 | 0.333 | -0.116 | -0.083 |
| predicted_SO | 0.690 | 0.000 | 1.000 | Hitting_SO | 0.807 | 1.000 | -0.807 | -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.6090 -> 4.0000 (boost 0.3910, better) |
| Biggest Deboost | predicted_SO: 0.6900 -> 0.0000 (deboost -0.6900, 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.9000 -> 0.9806 (boost 0.0806, better) | predicted_SLG: 0.5260 -> 0.5127 (deboost -0.0133, worse) | Final model input calibrated with local form: 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.5127 -> 0.4535 (deboost -0.0592, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5351 -> 1.0000 (boost 0.4649, better) | predicted_BB: 0.2545 -> 0.0000 (deboost -0.2545, worse) | AB rounded to 4 (raw=3.62), rates preserved: AVG=0.272 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5072 -> 1.0000 (boost 0.4928, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4535 -> 0.2500 (deboost -0.2035, 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.4535 (boost 0.2035, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702284",
"player_name": "Cole Young",
"position": "2B",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.011,
"predicted_AB": 3.609,
"predicted_AVG": 0.264,
"predicted_BB": 0.264,
"predicted_H": 0.9,
"predicted_HR": 0.15,
"predicted_OBP": 0.335,
"predicted_R": 0.448,
"predicted_RBI": 0.5,
"predicted_SLG": 0.526,
"predicted_SO": 0.69
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1261,
"predicted_3B": 0.0097,
"predicted_AB": 3.6218,
"predicted_AVG": 0.2791,
"predicted_BB": 0.2542,
"predicted_H": 0.9806,
"predicted_HBP": 0.066,
"predicted_HR": 0.1696,
"predicted_OBP": 0.3428,
"predicted_R": 0.5039,
"predicted_RBI": 0.5316,
"predicted_SLG": 0.5127,
"predicted_SO": 0.6499
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1261,
"delta": -0.0119,
"percent_delta": -0.0862,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0097,
"delta": -0.0013,
"percent_delta": -0.1182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.609,
"after": 3.6218,
"delta": 0.0128,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2791,
"delta": 0.0151,
"percent_delta": 0.0572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.264,
"after": 0.2542,
"delta": -0.0098,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9806,
"delta": 0.0806,
"percent_delta": 0.0896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1696,
"delta": 0.0196,
"percent_delta": 0.1307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3428,
"delta": 0.0078,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.5039,
"delta": 0.0559,
"percent_delta": 0.1248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5316,
"delta": 0.0316,
"percent_delta": 0.0632,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.5127,
"delta": -0.0133,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.69,
"after": 0.6499,
"delta": -0.0401,
"percent_delta": -0.0581,
"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.9,
"after": 0.9806,
"delta": 0.0806,
"percent_delta": 0.0896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.5127,
"delta": -0.0133,
"percent_delta": -0.0253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 87
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1261,
"predicted_3B": 0.0097,
"predicted_AB": 3.6218,
"predicted_AVG": 0.2717,
"predicted_BB": 0.2545,
"predicted_H": 0.984,
"predicted_HBP": 0.066,
"predicted_HR": 0.171,
"predicted_OBP": 0.3195,
"predicted_R": 0.5072,
"predicted_RBI": 0.5351,
"predicted_SLG": 0.4535,
"predicted_SO": 0.6491
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1261,
"after": 0.1261,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6218,
"after": 3.6218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2791,
"after": 0.2717,
"delta": -0.0074,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2542,
"after": 0.2545,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9806,
"after": 0.984,
"delta": 0.0034,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1696,
"after": 0.171,
"delta": 0.0014,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3428,
"after": 0.3195,
"delta": -0.0233,
"percent_delta": -0.068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5039,
"after": 0.5072,
"delta": 0.0033,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5316,
"after": 0.5351,
"delta": 0.0035,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5127,
"after": 0.4535,
"delta": -0.0592,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6499,
"after": 0.6491,
"delta": -0.0008,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5127,
"after": 0.4535,
"delta": -0.0592,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.272 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1261,
"after": 0.0,
"delta": -0.1261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0097,
"after": 0.0,
"delta": -0.0097,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6218,
"after": 4.0,
"delta": 0.3782,
"percent_delta": 0.1044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2545,
"after": 0.0,
"delta": -0.2545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.984,
"after": 1.0,
"delta": 0.016,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.066,
"after": 0.0,
"delta": -0.066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5351,
"after": 1.0,
"delta": 0.4649,
"percent_delta": 0.8688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6491,
"after": 1.0,
"delta": 0.3509,
"percent_delta": 0.5406,
"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.5351,
"after": 1.0,
"delta": 0.4649,
"percent_delta": 0.8688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2545,
"after": 0.0,
"delta": -0.2545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5072,
"after": 1.0,
"delta": 0.4928,
"percent_delta": 0.9716,
"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.5072,
"after": 1.0,
"delta": 0.4928,
"percent_delta": 0.9716,
"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.2717,
"after": 0.25,
"delta": -0.0217,
"percent_delta": -0.0799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3195,
"after": 0.25,
"delta": -0.0695,
"percent_delta": -0.2175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4535,
"after": 0.25,
"delta": -0.2035,
"percent_delta": -0.4487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4535,
"after": 0.25,
"delta": -0.2035,
"percent_delta": -0.4487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2717,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3195,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4535,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2717,
"delta": 0.0217,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3195,
"delta": 0.0695,
"percent_delta": 0.2781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4535,
"delta": 0.2035,
"percent_delta": 0.8141,
"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.4535,
"delta": 0.2035,
"percent_delta": 0.8141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.609,
"after": 4.0,
"delta": 0.391,
"percent_delta": 0.1083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2717,
"delta": 0.0077,
"percent_delta": 0.0292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.264,
"after": 0.0,
"delta": -0.264,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 1.0,
"delta": 0.1,
"percent_delta": 0.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3195,
"delta": -0.0155,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.0,
"delta": -0.448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.4535,
"delta": -0.0725,
"percent_delta": -0.1378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"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.609,
"after": 4.0,
"delta": 0.391,
"percent_delta": 0.1083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"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.138 | - |
| predicted_3B | 0.011 | - |
| predicted_AB | 3.609 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.264 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.448 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.526 | - |
| predicted_SO | 0.690 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.126 | -0.012 |
| predicted_3B | 0.010 | -0.001 |
| predicted_AB | 3.622 | 0.013 |
| predicted_AVG | 0.279 | 0.015 |
| predicted_BB | 0.254 | -0.010 |
| predicted_H | 0.981 | 0.081 |
| predicted_HBP | 0.066 | - |
| predicted_HR | 0.170 | 0.020 |
| predicted_OBP | 0.343 | 0.008 |
| predicted_R | 0.504 | 0.056 |
| predicted_RBI | 0.532 | 0.032 |
| predicted_SLG | 0.513 | -0.013 |
| predicted_SO | 0.650 | -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.126 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.622 | 0.000 |
| predicted_AVG | 0.272 | -0.007 |
| predicted_BB | 0.255 | 0.000 |
| predicted_H | 0.984 | 0.003 |
| predicted_HBP | 0.066 | 0.000 |
| predicted_HR | 0.171 | 0.001 |
| predicted_OBP | 0.320 | -0.023 |
| predicted_R | 0.507 | 0.003 |
| predicted_RBI | 0.535 | 0.004 |
| predicted_SLG | 0.454 | -0.059 |
| predicted_SO | 0.649 | -0.001 |
AB rounded to 4 (raw=3.62), rates preserved: AVG=0.272 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 | 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.126 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.378 |
| predicted_AVG | 0.250 | -0.022 |
| predicted_BB | 0.000 | -0.255 |
| predicted_H | 1.000 | 0.016 |
| predicted_HR | 0.000 | -0.171 |
| predicted_OBP | 0.250 | -0.070 |
| predicted_R | 1.000 | 0.493 |
| predicted_RBI | 1.000 | 0.465 |
| predicted_SLG | 0.250 | -0.204 |
| predicted_SO | 1.000 | 0.351 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 19.000 | 8.000 | 0.000 | 0.000 | 2.000 | 4.000 | 5.000 | 1.000 | 2.000 | 0.4211 | 0.4500 | 0.7368 | 0.4210 | 0.1053 | 0.2105 | 0.0526 | 0.1053 |
| last_10 | 0.20 | 10 | - | 35.000 | 11.000 | 1.000 | 0.000 | 3.000 | 7.000 | 6.000 | 2.000 | 4.000 | 0.3143 | 0.3684 | 0.6000 | 0.3143 | 0.0857 | 0.2000 | 0.0571 | 0.1143 |
| season | 0.60 | 87 | - | 314.000 | 82.000 | 12.000 | 1.000 | 9.000 | 41.000 | 39.000 | 23.000 | 60.000 | 0.2611 | 0.3228 | 0.3917 | 0.2611 | 0.0287 | 0.1306 | 0.0732 | 0.1911 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1100 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6390 |
| predicted_AVG | 0.2993 |
| predicted_BB | 0.2410 |
| predicted_H | 1.0890 |
| predicted_HBP | 0.0660 |
| predicted_HR | 0.1960 |
| predicted_OBP | 0.3533 |
| predicted_R | 0.5790 |
| predicted_RBI | 0.5740 |
| predicted_SLG | 0.4949 |
| predicted_SO | 0.5960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.1100 | 0.1261 | model_form_blend |
| predicted_3B | 0.0110 | 0.0080 | 0.0097 | model_form_blend |
| predicted_AB | 3.6090 | 3.6390 | 3.6218 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2993 | 0.2791 | model_form_blend |
| predicted_BB | 0.2640 | 0.2410 | 0.2542 | model_form_blend |
| predicted_H | 0.9000 | 1.0890 | 0.9806 | model_form_blend |
| predicted_HBP | - | 0.0660 | 0.0660 | form_only |
| predicted_HR | 0.1500 | 0.1960 | 0.1696 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3533 | 0.3428 | model_form_blend |
| predicted_R | 0.4480 | 0.5790 | 0.5039 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5740 | 0.5316 | model_form_blend |
| predicted_SLG | 0.5260 | 0.4949 | 0.5127 | model_form_blend |
| predicted_SO | 0.6900 | 0.5960 | 0.6499 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 87 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.261 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 2B |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 702284 |
| playerID | 702284 |
| playerName | Cole Young |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.317 |
| sl_xwoba | 0.339 |
| sl_xba | 0.282 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 38.4 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 20.1 |
| 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.135 | 0.000 | 0.000 | Hitting_2B | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_AB | 3.216 | 3.000 | 3.000 | Hitting_AB | 3.217 | 4.000 | -0.217 | -1.000 |
| predicted_AVG | 0.244 | 0.000 | 0.333 | Hitting_AVG | 0.254 | 0.750 | -0.254 | -0.750 |
| predicted_BB | 0.297 | 1.000 | 0.000 | Hitting_BB | 0.317 | 0.000 | 0.683 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.720 | 0.000 | 1.000 | Hitting_H | 0.817 | 3.000 | -0.817 | -3.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.307 | 0.250 | 0.333 | Hitting_OBP | 0.333 | 0.750 | -0.083 | -0.500 |
| predicted_R | 0.405 | 0.000 | 0.000 | Hitting_R | 0.483 | 0.000 | -0.483 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.617 | 2.000 | -0.617 | -2.000 |
| predicted_SLG | 0.481 | 0.000 | 0.333 | Hitting_SLG | 0.523 | 0.750 | -0.523 | -0.750 |
| predicted_SO | 1.162 | 1.000 | 1.000 | Hitting_SO | 0.967 | 1.000 | 0.033 | 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.2970 -> 1.0000 (boost 0.7030, better) |
| Biggest Deboost | predicted_H: 0.7200 -> 0.0000 (deboost -0.7200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_SLG: 0.4810 -> 0.4574 (deboost -0.0236, worse) | Final model input calibrated with local form: 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.4574 -> 0.4185 (deboost -0.0389, 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.7440 -> 1.0000 (boost 0.2560, better) | predicted_RBI: 0.4498 -> 0.0000 (deboost -0.4498, worse) | AB rounded to 3 (raw=3.26), rates preserved: AVG=0.228 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4001 -> 0.0000 (deboost -0.4001, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2280 -> 0.3330 (boost 0.1050, better) | predicted_SLG: 0.4185 -> 0.3330 (deboost -0.0855, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_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.4185 (boost 0.0855, better) | predicted_AVG: 0.3330 -> 0.2280 (deboost -0.1050, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "806068",
"player_name": "Colt Emerson",
"position": "SS",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.135,
"predicted_3B": 0.027,
"predicted_AB": 3.216,
"predicted_AVG": 0.244,
"predicted_BB": 0.297,
"predicted_H": 0.72,
"predicted_HR": 0.14,
"predicted_OBP": 0.307,
"predicted_R": 0.405,
"predicted_RBI": 0.42,
"predicted_SLG": 0.481,
"predicted_SO": 1.162
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1204,
"predicted_3B": 0.0226,
"predicted_AB": 3.2631,
"predicted_AVG": 0.2393,
"predicted_BB": 0.3219,
"predicted_H": 0.7414,
"predicted_HBP": 0.033,
"predicted_HR": 0.1507,
"predicted_OBP": 0.3093,
"predicted_R": 0.3975,
"predicted_RBI": 0.4469,
"predicted_SLG": 0.4574,
"predicted_SO": 1.1826
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.1204,
"delta": -0.0146,
"percent_delta": -0.1081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0226,
"delta": -0.0044,
"percent_delta": -0.163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.216,
"after": 3.2631,
"delta": 0.0471,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2393,
"delta": -0.0047,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.3219,
"delta": 0.0249,
"percent_delta": 0.0838,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7414,
"delta": 0.0214,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1507,
"delta": 0.0107,
"percent_delta": 0.0764,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3093,
"delta": 0.0023,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.3975,
"delta": -0.0075,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4469,
"delta": 0.0269,
"percent_delta": 0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.4574,
"delta": -0.0236,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.162,
"after": 1.1826,
"delta": 0.0206,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.481,
"after": 0.4574,
"delta": -0.0236,
"percent_delta": -0.0491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1204,
"predicted_3B": 0.0226,
"predicted_AB": 3.2631,
"predicted_AVG": 0.228,
"predicted_BB": 0.3223,
"predicted_H": 0.744,
"predicted_HBP": 0.033,
"predicted_HR": 0.152,
"predicted_OBP": 0.2974,
"predicted_R": 0.4001,
"predicted_RBI": 0.4498,
"predicted_SLG": 0.4185,
"predicted_SO": 1.1812
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1204,
"after": 0.1204,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0226,
"after": 0.0226,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2631,
"after": 3.2631,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2393,
"after": 0.228,
"delta": -0.0113,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3219,
"after": 0.3223,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7414,
"after": 0.744,
"delta": 0.0026,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.033,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1507,
"after": 0.152,
"delta": 0.0013,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3093,
"after": 0.2974,
"delta": -0.0119,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3975,
"after": 0.4001,
"delta": 0.0026,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4469,
"after": 0.4498,
"delta": 0.0029,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4574,
"after": 0.4185,
"delta": -0.0389,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1826,
"after": 1.1812,
"delta": -0.0014,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4574,
"after": 0.4185,
"delta": -0.0389,
"percent_delta": -0.085,
"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.228 HR/AB=0.047",
"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.1204,
"after": 0.0,
"delta": -0.1204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0226,
"after": 0.0,
"delta": -0.0226,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2631,
"after": 3.0,
"delta": -0.2631,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3223,
"after": 0.0,
"delta": -0.3223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.744,
"after": 1.0,
"delta": 0.256,
"percent_delta": 0.3441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4498,
"after": 0.0,
"delta": -0.4498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1812,
"after": 1.0,
"delta": -0.1812,
"percent_delta": -0.1534,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.744,
"after": 1.0,
"delta": 0.256,
"percent_delta": 0.3441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4498,
"after": 0.0,
"delta": -0.4498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4001,
"after": 0.0,
"delta": -0.4001,
"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.4001,
"after": 0.0,
"delta": -0.4001,
"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.228,
"after": 0.333,
"delta": 0.105,
"percent_delta": 0.4605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0356,
"percent_delta": 0.1197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.4185,
"after": 0.333,
"delta": -0.0855,
"percent_delta": -0.2043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.228,
"after": 0.333,
"delta": 0.105,
"percent_delta": 0.4605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4185,
"after": 0.333,
"delta": -0.0855,
"percent_delta": -0.2043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.228,
"predicted_BB": 1.0,
"predicted_CS": 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.4185,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.228,
"delta": -0.105,
"percent_delta": -0.3153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2974,
"delta": -0.0356,
"percent_delta": -0.1069,
"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.4185,
"delta": 0.0855,
"percent_delta": 0.2567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4185,
"delta": 0.0855,
"percent_delta": 0.2567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.228,
"delta": -0.105,
"percent_delta": -0.3153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.216,
"after": 3.0,
"delta": -0.216,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.228,
"delta": -0.016,
"percent_delta": -0.0656,
"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.72,
"after": 0.0,
"delta": -0.72,
"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.307,
"after": 0.2974,
"delta": -0.0096,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.405,
"after": 0.0,
"delta": -0.405,
"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.481,
"after": 0.4185,
"delta": -0.0625,
"percent_delta": -0.1299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.162,
"after": 1.0,
"delta": -0.162,
"percent_delta": -0.1394,
"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.297,
"after": 1.0,
"delta": 0.703,
"percent_delta": 2.367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.216 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.297 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.405 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.481 | - |
| predicted_SO | 1.162 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | -0.015 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.263 | 0.047 |
| predicted_AVG | 0.239 | -0.005 |
| predicted_BB | 0.322 | 0.025 |
| predicted_H | 0.741 | 0.021 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.151 | 0.011 |
| predicted_OBP | 0.309 | 0.002 |
| predicted_R | 0.398 | -0.008 |
| predicted_RBI | 0.447 | 0.027 |
| predicted_SLG | 0.457 | -0.024 |
| predicted_SO | 1.183 | 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.120 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.263 | 0.000 |
| predicted_AVG | 0.228 | -0.011 |
| predicted_BB | 0.322 | 0.000 |
| predicted_H | 0.744 | 0.003 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.152 | 0.001 |
| predicted_OBP | 0.297 | -0.012 |
| predicted_R | 0.400 | 0.003 |
| predicted_RBI | 0.450 | 0.003 |
| predicted_SLG | 0.418 | -0.039 |
| predicted_SO | 1.181 | -0.001 |
AB rounded to 3 (raw=3.26), rates preserved: AVG=0.228 HR/AB=0.047
| 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.120 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.263 |
| predicted_AVG | 0.333 | 0.105 |
| predicted_BB | 0.000 | -0.322 |
| predicted_H | 1.000 | 0.256 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.333 | 0.036 |
| predicted_R | 0.000 | -0.400 |
| predicted_RBI | 0.000 | -0.450 |
| predicted_SLG | 0.333 | -0.085 |
| predicted_SO | 1.000 | -0.181 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 17.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 7.000 | 0.2941 | 0.4000 | 0.4706 | 0.2941 | 0.0588 | 0.1765 | 0.1765 | 0.4118 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 15.000 | 0.1935 | 0.2857 | 0.2903 | 0.1935 | 0.0323 | 0.0968 | 0.1290 | 0.4839 |
| season | 0.60 | 37 | - | 119.000 | 26.000 | 5.000 | 1.000 | 7.000 | 19.000 | 15.000 | 11.000 | 43.000 | 0.2185 | 0.2955 | 0.4538 | 0.2185 | 0.0588 | 0.1597 | 0.0924 | 0.3613 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.3350 |
| predicted_AVG | 0.2322 |
| predicted_BB | 0.3600 |
| predicted_H | 0.7740 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1670 |
| predicted_OBP | 0.3128 |
| predicted_R | 0.3860 |
| predicted_RBI | 0.4880 |
| predicted_SLG | 0.4215 |
| predicted_SO | 1.2140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.0980 | 0.1204 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0226 | model_form_blend |
| predicted_AB | 3.2160 | 3.3350 | 3.2631 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2322 | 0.2393 | model_form_blend |
| predicted_BB | 0.2970 | 0.3600 | 0.3219 | model_form_blend |
| predicted_H | 0.7200 | 0.7740 | 0.7414 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1400 | 0.1670 | 0.1507 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3128 | 0.3093 | model_form_blend |
| predicted_R | 0.4050 | 0.3860 | 0.3975 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4880 | 0.4469 | model_form_blend |
| predicted_SLG | 0.4810 | 0.4215 | 0.4574 | model_form_blend |
| predicted_SO | 1.1620 | 1.2140 | 1.1826 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 60 |
| Season rows before report date | 60 |
| 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 | 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 | 0 |
| BaseRunning_SB | 1 |
| 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.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 806068 |
| playerID | 806068 |
| playerName | Colt Emerson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 32.6 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.326 |
| sl_xwoba | 0.253 |
| sl_xba | 0.181 |
| sl_xslg | 0.296 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 30.3 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 32.6 |
| 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.099 | 0.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 2.901 | 3.000 | 3.000 | Hitting_AB | 3.371 | 3.000 | -0.371 | 0.000 |
| predicted_AVG | 0.251 | 0.000 | 0.333 | Hitting_AVG | 0.283 | 0.000 | -0.283 | 0.000 |
| predicted_BB | 0.183 | 1.000 | 0.000 | Hitting_BB | 0.171 | 1.000 | 0.829 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 0.690 | 0.000 | 1.000 | Hitting_H | 0.954 | 0.000 | -0.954 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_OBP | 0.294 | 0.250 | 0.333 | Hitting_OBP | 0.339 | 0.250 | -0.089 | 0.000 |
| predicted_R | 0.352 | 0.000 | 0.000 | Hitting_R | 0.497 | 0.000 | -0.497 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.754 | 0.000 | -0.754 | 0.000 |
| predicted_SLG | 0.491 | 0.000 | 0.333 | Hitting_SLG | 0.588 | 0.000 | -0.588 | 0.000 |
| predicted_SO | 1.028 | 0.000 | 1.000 | Hitting_SO | 1.154 | 1.000 | -1.154 | -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.1830 -> 1.0000 (boost 0.8170, better) |
| Biggest Deboost | predicted_SO: 1.0280 -> 0.0000 (deboost -1.0280, 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.4910 -> 0.4574 (deboost -0.0336, worse) | Final model input calibrated with local form: 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.4574 -> 0.4214 (deboost -0.0360, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_H: 0.6828 -> 1.0000 (boost 0.3172, better) | predicted_RBI: 0.3908 -> 0.0000 (deboost -0.3908, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.232 HR/AB=0.048 |
| 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 | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2324 -> 0.3330 (boost 0.1006, better) | predicted_SLG: 0.4214 -> 0.3330 (deboost -0.0884, 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.4214 (boost 0.0884, better) | predicted_AVG: 0.3330 -> 0.2324 (deboost -0.1006, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670042",
"player_name": "Luke Raley",
"position": "RF",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.099,
"predicted_3B": 0.014,
"predicted_AB": 2.901,
"predicted_AVG": 0.251,
"predicted_BB": 0.183,
"predicted_H": 0.69,
"predicted_HR": 0.14,
"predicted_OBP": 0.294,
"predicted_R": 0.352,
"predicted_RBI": 0.39,
"predicted_SLG": 0.491,
"predicted_SO": 1.028
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1102,
"predicted_3B": 0.0119,
"predicted_AB": 2.9376,
"predicted_AVG": 0.2395,
"predicted_BB": 0.2129,
"predicted_H": 0.6804,
"predicted_HBP": 0.049,
"predicted_HR": 0.1392,
"predicted_OBP": 0.2945,
"predicted_R": 0.3433,
"predicted_RBI": 0.3883,
"predicted_SLG": 0.4574,
"predicted_SO": 1.013
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.1102,
"delta": 0.0112,
"percent_delta": 0.1131,
"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": 2.901,
"after": 2.9376,
"delta": 0.0366,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2395,
"delta": -0.0115,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.183,
"after": 0.2129,
"delta": 0.0299,
"percent_delta": 0.1634,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.6804,
"delta": -0.0096,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1392,
"delta": -0.0008,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2945,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.352,
"after": 0.3433,
"delta": -0.0087,
"percent_delta": -0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3883,
"delta": -0.0017,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4574,
"delta": -0.0336,
"percent_delta": -0.0684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.028,
"after": 1.013,
"delta": -0.015,
"percent_delta": -0.0146,
"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.491,
"after": 0.4574,
"delta": -0.0336,
"percent_delta": -0.0684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1102,
"predicted_3B": 0.0119,
"predicted_AB": 2.9376,
"predicted_AVG": 0.2324,
"predicted_BB": 0.2132,
"predicted_H": 0.6828,
"predicted_HBP": 0.049,
"predicted_HR": 0.1404,
"predicted_OBP": 0.2844,
"predicted_R": 0.3455,
"predicted_RBI": 0.3908,
"predicted_SLG": 0.4214,
"predicted_SO": 1.0118
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1102,
"after": 0.1102,
"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": 2.9376,
"after": 2.9376,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2395,
"after": 0.2324,
"delta": -0.0071,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2129,
"after": 0.2132,
"delta": 0.0003,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6804,
"after": 0.6828,
"delta": 0.0024,
"percent_delta": 0.0035,
"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.1392,
"after": 0.1404,
"delta": 0.0012,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2945,
"after": 0.2844,
"delta": -0.0101,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3433,
"after": 0.3455,
"delta": 0.0022,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3883,
"after": 0.3908,
"delta": 0.0025,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4574,
"after": 0.4214,
"delta": -0.036,
"percent_delta": -0.0787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.013,
"after": 1.0118,
"delta": -0.0012,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4574,
"after": 0.4214,
"delta": -0.036,
"percent_delta": -0.0787,
"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.232 HR/AB=0.048",
"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.1102,
"after": 0.0,
"delta": -0.1102,
"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": 2.9376,
"after": 3.0,
"delta": 0.0624,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2132,
"after": 0.0,
"delta": -0.2132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6828,
"after": 1.0,
"delta": 0.3172,
"percent_delta": 0.4646,
"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.1404,
"after": 0.0,
"delta": -0.1404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3908,
"after": 0.0,
"delta": -0.3908,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0118,
"after": 1.0,
"delta": -0.0118,
"percent_delta": -0.0117,
"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.6828,
"after": 1.0,
"delta": 0.3172,
"percent_delta": 0.4646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3908,
"after": 0.0,
"delta": -0.3908,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2324,
"after": 0.333,
"delta": 0.1006,
"percent_delta": 0.4329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2844,
"after": 0.333,
"delta": 0.0486,
"percent_delta": 0.1709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.4214,
"after": 0.333,
"delta": -0.0884,
"percent_delta": -0.2098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2324,
"after": 0.333,
"delta": 0.1006,
"percent_delta": 0.4329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4214,
"after": 0.333,
"delta": -0.0884,
"percent_delta": -0.2098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2324,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2844,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4214,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2324,
"delta": -0.1006,
"percent_delta": -0.302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2844,
"delta": -0.0486,
"percent_delta": -0.1461,
"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.4214,
"delta": 0.0884,
"percent_delta": 0.2654,
"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.4214,
"delta": 0.0884,
"percent_delta": 0.2654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2324,
"delta": -0.1006,
"percent_delta": -0.302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.901,
"after": 3.0,
"delta": 0.099,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2324,
"delta": -0.0186,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.183,
"after": 1.0,
"delta": 0.817,
"percent_delta": 4.4645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2844,
"delta": -0.0096,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.352,
"after": 0.0,
"delta": -0.352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.491,
"after": 0.4214,
"delta": -0.0696,
"percent_delta": -0.1418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.028,
"after": 0.0,
"delta": -1.028,
"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.183,
"after": 1.0,
"delta": 0.817,
"percent_delta": 4.4645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.028,
"after": 0.0,
"delta": -1.028,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.099 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 2.901 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.183 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.352 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.491 | - |
| predicted_SO | 1.028 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | 0.011 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 2.938 | 0.037 |
| predicted_AVG | 0.239 | -0.012 |
| predicted_BB | 0.213 | 0.030 |
| predicted_H | 0.680 | -0.010 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.139 | -0.001 |
| predicted_OBP | 0.294 | 0.001 |
| predicted_R | 0.343 | -0.009 |
| predicted_RBI | 0.388 | -0.002 |
| predicted_SLG | 0.457 | -0.034 |
| predicted_SO | 1.013 | -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.110 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 2.938 | 0.000 |
| predicted_AVG | 0.232 | -0.007 |
| predicted_BB | 0.213 | 0.000 |
| predicted_H | 0.683 | 0.002 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.140 | 0.001 |
| predicted_OBP | 0.284 | -0.010 |
| predicted_R | 0.345 | 0.002 |
| predicted_RBI | 0.391 | 0.003 |
| predicted_SLG | 0.421 | -0.036 |
| predicted_SO | 1.012 | -0.001 |
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.232 HR/AB=0.048
| 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.110 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 3.000 | 0.062 |
| predicted_AVG | 0.333 | 0.101 |
| predicted_BB | 0.000 | -0.213 |
| predicted_H | 1.000 | 0.317 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.333 | 0.049 |
| predicted_R | 0.000 | -0.345 |
| predicted_RBI | 0.000 | -0.391 |
| predicted_SLG | 0.333 | -0.088 |
| 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 | 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 | - | 14.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.2143 | 0.3125 | 0.2857 | 0.2143 | 0.0000 | 0.0000 | 0.1429 | 0.3571 |
| last_10 | 0.20 | 10 | - | 29.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 3.000 | 3.000 | 9.000 | 0.1724 | 0.2500 | 0.3103 | 0.1724 | 0.0345 | 0.1379 | 0.1035 | 0.3103 |
| season | 0.60 | 71 | - | 206.000 | 49.000 | 7.000 | 1.000 | 14.000 | 35.000 | 25.000 | 13.000 | 73.000 | 0.2379 | 0.3022 | 0.4854 | 0.2379 | 0.0680 | 0.1699 | 0.0631 | 0.3544 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.9890 |
| predicted_AVG | 0.2233 |
| predicted_BB | 0.2550 |
| predicted_H | 0.6670 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.1380 |
| predicted_OBP | 0.2952 |
| predicted_R | 0.3310 |
| predicted_RBI | 0.3860 |
| predicted_SLG | 0.4102 |
| predicted_SO | 0.9920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0990 | 0.1260 | 0.1102 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 2.9010 | 2.9890 | 2.9376 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2233 | 0.2395 | model_form_blend |
| predicted_BB | 0.1830 | 0.2550 | 0.2129 | model_form_blend |
| predicted_H | 0.6900 | 0.6670 | 0.6804 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.1400 | 0.1380 | 0.1392 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2952 | 0.2945 | model_form_blend |
| predicted_R | 0.3520 | 0.3310 | 0.3433 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3860 | 0.3883 | model_form_blend |
| predicted_SLG | 0.4910 | 0.4102 | 0.4574 | model_form_blend |
| predicted_SO | 1.0280 | 0.9920 | 1.0130 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.238 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260627_SEA@CLE |
| game_type | full |
| mlbID | 670042 |
| playerID | 670042 |
| playerName | Luke Raley |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-27 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.339 |
| sl_xwoba | 0.357 |
| sl_xba | 0.258 |
| sl_xslg | 0.515 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 17.0 |
| sl_hard_hit_percent | 48.1 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 40.9 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.625 | 0.000 | 1.375 | 2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.250 | 3.000 | 0.750 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 3.500 | 5.000 | -1.500 | -3.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.562 | 5.200 | 0.438 | 0.800 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 6.750 | 11.000 | 0.250 | -4.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: 3.0000 -> 2.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: 3.0000 -> 2.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": "682243",
"player_name": "Bryce Miller",
"position": "Starter",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 2.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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 | 3.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 7.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 2.000 | -1.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 29.200 | 6.000 | 14.000 | 3.000 | 40.000 | 5.000 | 1.8202 | 0.5730 | 0.2023 | 0.4719 | 0.1011 | 1.3483 | 0.1685 |
| last_10 | 0.35 | 8 | 45.200 | 10.000 | 28.000 | 5.000 | 54.000 | 7.000 | 1.9708 | 0.7226 | 0.2190 | 0.6131 | 0.1095 | 1.1825 | 0.1533 |
| season | 0.20 | 8 | 45.200 | 10.000 | 28.000 | 5.000 | 54.000 | 7.000 | 1.9708 | 0.7226 | 0.2190 | 0.6131 | 0.1095 | 1.1825 | 0.1533 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1950 |
| predicted_ER | 1.8940 |
| predicted_ERA | 2.8721 |
| predicted_H | 4.0910 |
| predicted_HR | 0.9330 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.9070 |
| predicted_WHIP | 0.8907 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.1950 | 1.6076 | model_form_blend |
| predicted_ER | 3.0000 | 1.8940 | 2.4608 | model_form_blend |
| predicted_ERA | - | 2.8721 | 2.8721 | form_only |
| predicted_H | 2.0000 | 4.0910 | 3.0194 | model_form_blend |
| predicted_HR | 1.0000 | 0.9330 | 0.9673 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 7.0000 | 6.9070 | 6.9547 | model_form_blend |
| predicted_WHIP | - | 0.8907 | 0.8907 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 8 |
| Season rows before report date | 8 |
| Report year | 2026 |
| Profile rows used | 8 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 7 |
| HR | 1 |
| BF | 22 |
| Pitches | 90 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 3 |
| Pitching_ERA | 1.97 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 1 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 90 |
| Pitching_R | 3 |
| Pitching_SO | 11 |
| Pitching_Strikes | 66 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260625_SEA@PIT |
| game_type | full |
| mlbID | 682243 |
| playerID | 682243 |
| playerName | Bryce Miller |
| pos | P |
| started | True |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-25 |
| sl_k_percent | 33.1 |
| sl_bb_percent | 3.1 |
| sl_woba | 0.234 |
| sl_xwoba | 0.237 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 27.9 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 57.9 |
| sl_avg_best_speed | 75.180279412 |
| sl_avg_hyper_speed | 92.511434554 |
| 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.394 | 0.000 | -0.394 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.485 | 0.000 | 0.515 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.788 | 0.000 | 0.212 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.870 | 1.000 | 0.130 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.424 | 1.000 | 0.576 | 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": "662253",
"player_name": "Andrés Muñoz",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 1.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.000 | 0.000 | 1.000 | 2.000 | 9.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.2000 | 0.4000 | 1.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 5.000 | 5.000 | 14.000 | 0.000 | 2.7931 | 1.0345 | 0.3103 | 0.5172 | 0.5172 | 1.4483 | 0.0000 |
| season | 0.20 | 32 | 30.100 | 14.000 | 25.000 | 12.000 | 47.000 | 4.000 | 4.1538 | 1.2198 | 0.4615 | 0.8242 | 0.3956 | 1.5494 | 0.1319 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4030 |
| predicted_ER | 0.3360 |
| predicted_ERA | 3.0207 |
| predicted_H | 0.6760 |
| predicted_HR | 0.0810 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3210 |
| predicted_WHIP | 1.0789 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4030 | 0.1846 | model_form_blend |
| predicted_ER | 0.0000 | 0.3360 | 0.1540 | model_form_blend |
| predicted_ERA | - | 3.0207 | 3.0207 | form_only |
| predicted_H | 0.0000 | 0.6760 | 0.3097 | model_form_blend |
| predicted_HR | 0.0000 | 0.0810 | 0.0371 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3210 | 1.6889 | model_form_blend |
| predicted_WHIP | - | 1.0789 | 1.0789 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 662253 |
| playerID | 662253 |
| playerName | Andrés Muñoz |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 35.6 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.294 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 43.7 |
| sl_whiff_percent | 41.2 |
| sl_swing_percent | 46.9 |
| sl_avg_best_speed | 75.206728857 |
| sl_avg_hyper_speed | 94.510918429 |
| 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.325 | 1.000 | -0.325 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.225 | 1.000 | -0.225 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.900 | 2.000 | 0.100 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.770 | 0.200 | 0.230 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.850 | 0.000 | 0.150 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 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 | 1 | 0 | 1 | 1 | 0 | - | 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": "660825",
"player_name": "Eduard Bazardo",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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": 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.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 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.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 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 | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 4.000 | 2.000 | 5.000 | 0.000 | 2.2500 | 1.5000 | 0.2500 | 1.0000 | 0.5000 | 1.2500 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 2.000 | 7.000 | 3.000 | 9.000 | 0.000 | 2.0769 | 1.1538 | 0.2308 | 0.8077 | 0.3462 | 1.0385 | 0.0000 |
| season | 0.20 | 40 | 37.100 | 9.000 | 36.000 | 13.000 | 34.000 | 2.000 | 2.1696 | 1.3125 | 0.2411 | 0.9643 | 0.3482 | 0.9107 | 0.0536 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3570 |
| predicted_ER | 0.3140 |
| predicted_ERA | 3.1028 |
| predicted_H | 0.8570 |
| predicted_HR | 0.0600 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9520 |
| predicted_WHIP | 1.3339 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3570 | 0.1712 | model_form_blend |
| predicted_ER | 0.0000 | 0.3140 | 0.1506 | model_form_blend |
| predicted_ERA | - | 3.1028 | 3.1028 | form_only |
| predicted_H | 2.0000 | 0.8570 | 1.4518 | model_form_blend |
| predicted_HR | 0.0000 | 0.0600 | 0.0288 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9520 | 0.9770 | model_form_blend |
| predicted_WHIP | - | 1.3339 | 1.3339 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 40 |
| 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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.17 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 20 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260630_LAA@SEA |
| game_type | full |
| mlbID | 660825 |
| playerID | 660825 |
| playerName | Eduard Bazardo |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-30 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.304 |
| sl_xwoba | 0.321 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 40.7 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 44.6 |
| sl_avg_best_speed | 81.170534528 |
| sl_avg_hyper_speed | 94.532856415 |
| 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.225 | 1.000 | -0.225 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.975 | 1.000 | -0.975 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.795 | 1.000 | 0.205 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.750 | 1.000 | -0.750 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "678606",
"player_name": "José A. Ferrer",
"position": "Middle Reliever",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 0.000 | 3.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.8571 | 0.0000 | 0.6429 | 0.2143 | 0.6429 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 5.000 | 9.000 | 6.000 | 6.000 | 1.000 | 5.4000 | 1.8000 | 0.6000 | 1.0800 | 0.7200 | 0.7200 | 0.1200 |
| season | 0.20 | 39 | 36.000 | 10.000 | 38.000 | 9.000 | 30.000 | 2.000 | 2.5000 | 1.3056 | 0.2778 | 1.0556 | 0.2500 | 0.8333 | 0.0556 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3550 |
| predicted_ER | 0.3360 |
| predicted_ERA | 3.2505 |
| predicted_H | 0.8510 |
| predicted_HR | 0.0850 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7540 |
| predicted_WHIP | 1.2958 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3550 | 0.1690 | model_form_blend |
| predicted_ER | 0.0000 | 0.3360 | 0.1599 | model_form_blend |
| predicted_ERA | - | 3.2505 | 3.2505 | form_only |
| predicted_H | 0.0000 | 0.8510 | 0.4050 | model_form_blend |
| predicted_HR | 0.0000 | 0.0850 | 0.0405 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7540 | 0.3589 | model_form_blend |
| predicted_WHIP | - | 1.2958 | 1.2958 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 39 |
| 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 | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.50 |
| 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 | 19 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260629_LAA@SEA |
| game_type | full |
| mlbID | 678606 |
| playerID | 678606 |
| playerName | José A. Ferrer |
| pos | P |
| started | False |
| startingPosition | P |
| team | SEA |
| teamID | 25 |
| game_date | 2026-06-29 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.31 |
| sl_xwoba | 0.266 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 36.0 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 52.1 |
| sl_avg_best_speed | 73.635851071 |
| sl_avg_hyper_speed | 93.258195536 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIA 5 - 2 COL | MIA | 0.530 | scoring_simulation.final_score | True |
| Simulation draw | MIA 8 - 1 COL | MIA | - | reconciled_final_score | 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.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5300 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | reconciled_final_score |
| 10. Score evolution rendered | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.970 | 7.406 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 8 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 5 | 2 | 0.5300 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 5 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 2 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 2 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 8 | 1 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.45259706532663324,
"base_low_score_probability": 0.4192390524048816,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.03335801292175167,
"confidence": 0.639784,
"factors": {
"environmental": 1.079568,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.079568
},
"prediction": "normal_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 9,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 9,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 9,
"wide_bucket_sample_size": 12,
"global_sample_size": 88,
"bucket_scope": "sparse_pooled_0.08",
"sparse_bucket": true,
"empirical_hit_rate": 0.8889,
"bayesian_hit_rate": 0.5778,
"sample_weight": 0.17,
"prior_strength": 36.0,
"reliability": 0.2,
"confidence_cap": 0.53,
"raw_pick_probability": 0.7335,
"calibrated_pick_probability": 0.53,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "COL",
"games": 86,
"wins": 33,
"losses": 53,
"win_pct": 0.38372093023255816,
"runs_scored": 397,
"runs_allowed": 500,
"run_differential": -103,
"run_differential_per_game": -1.197674418604651,
"available": true
},
"away": {
"team": "MIA",
"games": 86,
"wins": 46,
"losses": 40,
"win_pct": 0.5348837209302325,
"runs_scored": 383,
"runs_allowed": 359,
"run_differential": 24,
"run_differential_per_game": 0.27906976744186046,
"available": true
},
"run_differential_edge_per_game": -1.4767,
"win_pct_edge": -0.1512,
"quality_edge": -1.7035,
"margin_adjustment": -0.7155,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 7.753,
"home_runs": 6.229,
"home_win_probability": 0.3705
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "MIA",
"guardrail_predicted_team": "MIA",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "MIA",
"output_opponent_team": "COL",
"final_score_winner": "MIA",
"pre_simulation_winner": "MIA",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "MIA 5 - 2 COL",
"winner": "MIA"
},
"final_simulation_score": {
"away_runs": 8,
"home_runs": 1,
"score_text": "MIA 8 - 1 COL",
"winner": "MIA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 3,
"home_run_delta": -1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 3,
"final_margin": 7,
"winner_quality_edge": 1.7035,
"winner": "MIA",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "COL",
"games": 86,
"wins": 33,
"losses": 53,
"win_pct": 0.38372093023255816,
"runs_scored": 397,
"runs_allowed": 500,
"run_differential": -103,
"run_differential_per_game": -1.197674418604651,
"available": true
},
"away": {
"team": "MIA",
"games": 86,
"wins": 46,
"losses": 40,
"win_pct": 0.5348837209302325,
"runs_scored": 383,
"runs_allowed": 359,
"run_differential": 24,
"run_differential_per_game": 0.27906976744186046,
"available": true
}
}
}{
"applied": false,
"raw_margin": -1.5238,
"final_margin": -1.5238,
"margin_cap": 4.25,
"season_quality_edge": 1.7035,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.53,
"final_confidence": 0.53,
"confidence_cap": 0.53,
"score_gap": 2.7471,
"calibration_sample_size": 9,
"calibration_empirical_hit_rate": 0.8889,
"calibration_bayesian_hit_rate": 0.5778,
"calibration_sparse_bucket": true,
"season_quality_edge": 1.7035,
"reasons": [
"unvalidated probabilities are capped for production display",
"season run-differential edge supports the pick",
"historical confidence bucket is sparse",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "MIA 5 - 2 COL",
"winner": "MIA"
},
"final_simulation_score": {
"away_runs": 8,
"home_runs": 1,
"score_text": "MIA 8 - 1 COL",
"winner": "MIA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 3,
"home_run_delta": -1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 3,
"final_margin": 7,
"winner_quality_edge": 1.7035,
"winner": "MIA",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 8,
"home_runs": 1,
"confidence": 0.53,
"home_win_probability": 0.47,
"away_win_probability": 0.53,
"predicted_score_text": "MIA 8 - 1 COL",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "MIA",
"original_runs": 5,
"run_delta": 0.4752,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": -0.01760450575011765,
"contact": 0.1644600848940433,
"power": 0.08086229298591892,
"discipline": 0.12597955201855204,
"xwoba": 0.32303125000000005,
"recent_xwoba": 0.32303125000000005,
"barrel": 7.66875,
"ab_hard_contact": 0.03699585971837963,
"ab_bat_speed": 70.1102419889219,
"ab_strikeout_rate": 0.20354619849904632,
"available_players": 9,
"top_players": [
{
"player_id": "805300",
"player_name": "Jakob Marsee",
"position": "CF",
"weight": 4.0,
"quality": -0.5716858165078272,
"contact": -0.6299423436394818,
"power": -0.9769802872754023,
"discipline": 0.586374458874459,
"xwoba": 0.293,
"recent_xwoba": 0.293,
"barrel": 3.2000000000000006,
"ab_hard_contact": -0.9217009836032828,
"ab_bat_speed": 68.07094100091827,
"ab_strikeout_rate": 0.24636363636363637,
"available": 1.0
},
{
"player_id": "665052",
"player_name": "Griffin Conine",
"position": "LF",
"weight": 3.0,
"quality": 0.14198993742429833,
"contact": 1.478009671465485,
"power": 1.6635884832451495,
"discipline": -0.405600529100529,
"xwoba": 0.416,
"recent_xwoba": 0.416,
"barrel": 14.3,
"ab_hard_contact": 1.8153887125220454,
"ab_bat_speed": 73.31342592592593,
"ab_strikeout_rate": 0.23148148148148145,
"available": 1.0
},
{
"player_id": "672640",
"player_name": "Otto Lopez",
"position": "SS",
"weight": 4.0,
"quality": 0.43070339809898545,
"contact": 0.8088186199968823,
"power": 0.372322919201202,
"discipline": -0.1114502164502165,
"xwoba": 0.335,
"recent_xwoba": 0.335,
"barrel": 6.9,
"ab_hard_contact": 0.3344583840240414,
"ab_bat_speed": 70.77178737373738,
"ab_strikeout_rate": 0.15454545454545454,
"available": 1.0
},
{
"player_id": "691594",
"player_name": "Javier Sanoja",
"position": "3B",
"weight": 3.0,
"quality": -0.24231313546272729,
"contact": -0.21056381652307912,
"power": -0.9023118697648476,
"discipline": 0.5511190476190476,
"xwoba": 0.277,
"recent_xwoba": 0.277,
"barrel": 1.7,
"ab_hard_contact": -0.6169040619636136,
"ab_bat_speed": 68.79073688271605,
"ab_strikeout_rate": 0.09583333333333334,
"available": 1.0
},
{
"player_id": "669065",
"player_name": "Kyle Stowers",
"position": "1B",
"weight": 4.0,
"quality": 0.22442070444750645,
"contact": 0.2708445086014148,
"power": 0.8005432672404175,
"discipline": -0.5830532212885153,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 11.3,
"ab_hard_contact": 0.18305582099883166,
"ab_bat_speed": 72.77416900093371,
"ab_strikeout_rate": 0.2568627450980392,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "547179",
"player_name": "Michael Lorenzen",
"quality": -0.8231169155184191,
"contact": -1.313208899409206,
"command": -0.4648571428571431,
"movement": -0.6079333567927364,
"xwoba": 0.359,
"whiff": 19.7,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "COL",
"original_runs": 2,
"run_delta": -0.0336,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": -0.023259091443001017,
"contact": -0.011404590970048272,
"power": -0.11156662032306136,
"discipline": 0.07022735045980433,
"xwoba": 0.3188064516129032,
"recent_xwoba": 0.3188064516129032,
"barrel": 6.651612903225805,
"ab_hard_contact": -0.2108961545411056,
"ab_bat_speed": 69.21056298232097,
"ab_strikeout_rate": 0.2352181180501803,
"available_players": 8,
"top_players": [
{
"player_id": "664954",
"player_name": "Brett Sullivan",
"position": "C",
"weight": 3.0,
"quality": -0.2665838609492306,
"contact": -0.8626878726249883,
"power": -0.8378759106187361,
"discipline": -0.30391304347826087,
"xwoba": 0.262,
"recent_xwoba": 0.262,
"barrel": 3.4,
"ab_hard_contact": -0.45885154570806286,
"ab_bat_speed": 65.34087560386475,
"ab_strikeout_rate": 0.24057971014492754,
"available": 1.0
},
{
"player_id": "666397",
"player_name": "Edouard Julien",
"position": "2B",
"weight": 3.0,
"quality": 0.3699794829275911,
"contact": 0.6892746716666409,
"power": 0.37144933601145663,
"discipline": 0.47751587301587317,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 6.8,
"ab_hard_contact": 0.12803433927675506,
"ab_bat_speed": 70.16150793650793,
"ab_strikeout_rate": 0.3025793650793651,
"available": 1.0
},
{
"player_id": "664983",
"player_name": "Jake McCarthy",
"position": "RF",
"weight": 4.0,
"quality": -0.28472328820921006,
"contact": -0.3593824466156719,
"power": -0.6067611490756603,
"discipline": -0.17151190476190462,
"xwoba": 0.303,
"recent_xwoba": 0.303,
"barrel": 5.1,
"ab_hard_contact": -0.46779441008462797,
"ab_bat_speed": 67.49878521825397,
"ab_strikeout_rate": 0.18875,
"available": 1.0
},
{
"player_id": "666160",
"player_name": "Mickey Moniak",
"position": "LF",
"weight": 4.0,
"quality": 0.14068427502794423,
"contact": -0.008911790793952292,
"power": 0.9263394364776253,
"discipline": -0.5826811846689895,
"xwoba": 0.32,
"recent_xwoba": 0.32,
"barrel": 13.7,
"ab_hard_contact": 0.415550634314401,
"ab_bat_speed": 72.94304974835462,
"ab_strikeout_rate": 0.24227642276422764,
"available": 1.0
},
{
"player_id": "691720",
"player_name": "Kyle Karros",
"position": "3B",
"weight": 3.0,
"quality": 0.30404837144528823,
"contact": 0.5160562431952528,
"power": 0.29797735094023065,
"discipline": 0.44644724556489274,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 8.4,
"ab_hard_contact": -0.18673869548109528,
"ab_bat_speed": 68.66379484126983,
"ab_strikeout_rate": 0.25807656395891687,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "687473",
"player_name": "Ryan Gusto",
"quality": -0.00740078547742483,
"contact": -0.9524797419501583,
"command": -0.3232857142857144,
"movement": 0.018145077567342294,
"xwoba": 0.347,
"whiff": 20.1,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 2,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 2,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -1.7035,
"recent_form_edge_home_minus_away": -0.52,
"pitcher_matchup_edge_home_minus_away": -0.1994,
"composite_home_edge": -2.0456,
"existing_home_win_probability": 0.47,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 2.0456
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 2,
"predicted_score_text": "MIA 5 - 2 COL",
"confidence": 0.53,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "MIA 5 - 2 COL",
"winner": "MIA"
},
"final_simulation_score": {
"away_runs": 8,
"home_runs": 1,
"score_text": "MIA 8 - 1 COL",
"winner": "MIA"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 3,
"home_run_delta": -1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 3,
"final_margin": 7,
"winner_quality_edge": 1.7035,
"winner": "MIA",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "MIA",
"display_confidence": 0.53,
"internal_fair_probability": 0.72,
"confidence_compression_detected": true,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.196,
"moneyline_fit": "press",
"margin_fit": "supported_runline_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 7,
"winner_quality_edge": 1.7035,
"winner_recent_form_edge": 0.52,
"winner_pitcher_matchup_edge": 0.1994,
"winner_simulation_draw_rate": 0.8125,
"blowout_draw_rate_margin_4_plus": 0.5625,
"high_total_draw_rate_11_plus": 0.375,
"low_total_draw_rate_6_or_less": 0.0625,
"total_runs_spread": {
"min": 6,
"median": 9,
"max": 17,
"range": 11
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}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.0100 | 1.0100 | 1 | 9 | 0 |
| Home COL | True | 1.0090 | 1.0090 | 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 | 25 | 1.0121 | 0.1612 | neutral | 0.3290 | 0.2710 | 0.3920 | 4.70 | 29.20 | 86.90 | 10.20 | 14.70 | 12.10 | 11.60 | -0.7714 |
| DH | Liam Hicks | 50 | 0.9777 | -0.2974 | negative_batter_regression | 0.3120 | 0.2470 | 0.3560 | 4.20 | 30.10 | 85.40 | 13.90 | 11.10 | 9.40 | 9.70 | -1.3714 |
| LF | Griffin Conine | 221 | 1.0605 | 0.8069 | neutral | 0.4160 | 0.3170 | 0.5670 | 14.30 | 54.30 | 89.10 | -1.40 | 39.80 | 26.30 | 10.50 | 0.8571 |
| 1B | Kyle Stowers | 214 | 1.0308 | 0.4110 | neutral | 0.3290 | 0.2370 | 0.4300 | 11.30 | 53 | 91.10 | 15.40 | 36.10 | 31.80 | 9.40 | 0.0857 |
| SS | Otto Lopez | 6 | 1.0368 | 0.4908 | negative_batter_regression | 0.3350 | 0.2930 | 0.4450 | 6.90 | 43.20 | 89.80 | 7.20 | 20.60 | 13.80 | 4.40 | -0.9429 |
| RF | Owen Caissie | 408 | 1.0198 | 0.2646 | neutral | 0.3050 | 0.2160 | 0.4150 | 15.40 | 47.20 | 91.50 | 16.40 | 36.10 | 38.90 | 7.30 | -0.4000 |
| 3B | Javier Sanoja | 135 | 0.9739 | -0.3482 | negative_batter_regression | 0.2770 | 0.2540 | 0.3230 | 1.70 | 33.50 | 87.60 | 10.90 | 12.40 | 10 | 6.20 | -1.2857 |
| CF | Jakob Marsee | 553 | 0.9684 | -0.4210 | neutral | 0.2930 | 0.2150 | 0.3010 | 3.20 | 33.90 | 86.60 | 18.20 | 19.90 | 23.40 | 12.50 | 0.4286 |
| C | Joe Mack | 128 | 1.0099 | 0.1320 | neutral | 0.3170 | 0.2420 | 0.4300 | 10 | 39 | 89.30 | 13.80 | 23.90 | 24 | 6.80 | -0.2286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Mickey Moniak | 172 | 1.0135 | 0.1803 | negative_batter_regression | 0.3200 | 0.2290 | 0.4660 | 13.70 | 41.20 | 89.90 | 24 | 28.50 | 24.50 | 5.70 | -1.9714 |
| RF | Jake McCarthy | 212 | 0.9856 | -0.1920 | negative_batter_regression | 0.3030 | 0.2610 | 0.3830 | 5.10 | 25.30 | 85.10 | 12.60 | 22 | 17.80 | 5.40 | -1.3143 |
| SS | Willi Castro | 170 | 0.9944 | -0.0753 | neutral | 0.3030 | 0.2380 | 0.3690 | 6.50 | 41.60 | 88.50 | 17.90 | 30.40 | 26.30 | 8.70 | -0.6286 |
| 1B | TJ Rumfield | 54 | 0.9904 | -0.1280 | negative_batter_regression | 0.3200 | 0.2470 | 0.3870 | 6 | 30.40 | 84.40 | 15.10 | 20.50 | 14.40 | 9.70 | -1.4857 |
| CF | Cole Carrigg | 222 | 1.0120 | 0.1604 | neutral | 0.3510 | 0.2490 | 0.4150 | 6 | 34 | 85.80 | 13 | 25.80 | 20.80 | 13 | -0.5714 |
| DH | Troy Johnston | 341 | 1.0191 | 0.2547 | neutral | 0.3330 | 0.2890 | 0.3940 | 2.40 | 37.10 | 89.30 | 13.80 | 22.90 | 17.10 | 8.40 | -0.7429 |
| 3B | Kyle Karros | 129 | 1.0426 | 0.5683 | neutral | 0.3410 | 0.2610 | 0.4080 | 8.40 | 45.30 | 89.80 | 11.90 | 24.70 | 21.50 | 12.40 | 0.0857 |
| C | Brett Sullivan | 521 | 0.9751 | -0.3315 | neutral | 0.2620 | 0.2200 | 0.3330 | 3.40 | 29.20 | 86.70 | 20.20 | 18.70 | 19.50 | 4.20 | -0.2286 |
| 2B | Edouard Julien | 547 | 1.0487 | 0.6490 | positive_batter_regression | 0.3460 | 0.2590 | 0.4090 | 6.80 | 51.10 | 91.50 | 8.70 | 24 | 26.30 | 13.80 | 1.3143 |
{
"home": {
"applied": true,
"offense_factor": 1.009,
"raw_average_factor": 1.009,
"team_espn_average_rank": 263.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "666160",
"player_name": "Mickey Moniak",
"offense_factor": 1.0135,
"quality_score": 0.1803,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666160",
"espn_id": 36181,
"player_name": "Mickey Moniak",
"team": "COL",
"role": "batter",
"espn_rank": 172,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 172,
"gp_value": 52.0,
"gp_rank": 270,
"ab_value": 177.0,
"ab_rank": 237,
"r_value": 25.0,
"r_rank": 199,
"h_value": 48.0,
"h_rank": 199,
"avg_value": 0.2711864,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 165,
"3b_value": 3.0,
"3b_rank": 9,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 35.0,
"rbi_rank": 105,
"tb_value": 106.0,
"tb_rank": 508,
"bb_value": 11.0,
"bb_rank": 293,
"so_value": 47.0,
"so_rank": 192,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3229166,
"obp_rank": "-",
"slg_value": 0.59887,
"slg_rank": "-",
"ops_value": 0.9217866,
"ops_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 161.0,
"k_percent": 24.5,
"bb_percent": 5.7,
"woba": 0.389,
"xwoba": 0.32,
"xba": 0.229,
"xslg": 0.466,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 13.7,
"hard_hit_percent": 41.2,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 24.0,
"whiff_percent": 28.5,
"swing_percent": 58.6
},
"components": {
"expected_quality": 0.6074,
"regression_edge": -1.9714,
"xwoba_edge": 0.4857,
"xba_edge": -0.2857,
"xslg_edge": 1.3571,
"barrel_edge": 1.5111,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "664983",
"player_name": "Jake McCarthy",
"offense_factor": 0.9856,
"quality_score": -0.192,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664983",
"espn_id": 41197,
"player_name": "Jake McCarthy",
"team": "COL",
"role": "batter",
"espn_rank": 212,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 212,
"gp_value": 72.0,
"gp_rank": 156,
"ab_value": 238.0,
"ab_rank": 151,
"r_value": 31.0,
"r_rank": 148,
"h_value": 70.0,
"h_rank": 93,
"avg_value": 0.2941176,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": 42,
"3b_value": 5.0,
"3b_rank": 3,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 37.0,
"rbi_rank": 91,
"tb_value": 114.0,
"tb_rank": 684,
"bb_value": 14.0,
"bb_rank": 245,
"so_value": 46.0,
"so_rank": 197,
"sb_value": 13.0,
"sb_rank": 24,
"obp_value": 0.3320312,
"obp_rank": "-",
"slg_value": 0.4789915,
"slg_rank": "-",
"ops_value": 0.8110227,
"ops_rank": null,
"war_value": 0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 130.0,
"k_percent": 17.8,
"bb_percent": 5.4,
"woba": 0.349,
"xwoba": 0.303,
"xba": 0.261,
"xslg": 0.383,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 25.3,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 12.6,
"whiff_percent": 22.0,
"swing_percent": 55.1
},
"components": {
"expected_quality": -0.1639,
"regression_edge": -1.3143,
"xwoba_edge": 0.0,
"xba_edge": 0.6286,
"xslg_edge": 0.1714,
"barrel_edge": -0.4,
"hard_hit_edge": -1.8286,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": 0.5333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "650489",
"player_name": "Willi Castro",
"offense_factor": 0.9944,
"quality_score": -0.0753,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650489",
"espn_id": 34230,
"player_name": "Willi Castro",
"team": "COL",
"role": "batter",
"espn_rank": 170,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 170,
"gp_value": 73.0,
"gp_rank": 151,
"ab_value": 260.0,
"ab_rank": 121,
"r_value": 37.0,
"r_rank": 108,
"h_value": 70.0,
"h_rank": 93,
"avg_value": 0.2692307,
"avg_rank": 50.0,
"2b_value": 13.0,
"2b_rank": 101,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 33.0,
"rbi_rank": 121,
"tb_value": 101.0,
"tb_rank": 1165,
"bb_value": 25.0,
"bb_rank": 123,
"so_value": 76.0,
"so_rank": 63,
"sb_value": 6.0,
"sb_rank": 87,
"obp_value": 0.3391003,
"obp_rank": "67",
"slg_value": 0.3884615,
"slg_rank": "113",
"ops_value": 0.7275618,
"ops_rank": 46.0,
"war_value": 0.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 26.3,
"bb_percent": 8.7,
"woba": 0.325,
"xwoba": 0.303,
"xba": 0.238,
"xslg": 0.369,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 41.6,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 17.9,
"whiff_percent": 30.4,
"swing_percent": 53.6
},
"components": {
"expected_quality": -0.0151,
"regression_edge": -0.6286,
"xwoba_edge": 0.0,
"xba_edge": -0.0286,
"xslg_edge": -0.0286,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.5,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "681198",
"player_name": "TJ Rumfield",
"offense_factor": 0.9904,
"quality_score": -0.128,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "681198",
"espn_id": 5014349,
"player_name": "TJ Rumfield",
"team": "COL",
"role": "batter",
"espn_rank": 54,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 54,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 300.0,
"ab_rank": 78,
"r_value": 37.0,
"r_rank": 108,
"h_value": 87.0,
"h_rank": 28,
"avg_value": 0.29,
"avg_rank": 21.0,
"2b_value": 18.0,
"2b_rank": 23,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 12.0,
"hr_rank": 72,
"rbi_value": 45.0,
"rbi_rank": 48,
"tb_value": 145.0,
"tb_rank": 319,
"bb_value": 33.0,
"bb_rank": 61,
"so_value": 49.0,
"so_rank": 179,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3695014,
"obp_rank": "24",
"slg_value": 0.4833333,
"slg_rank": "34",
"ops_value": 0.8528347,
"ops_rank": 10.0,
"war_value": 2.14,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 14.4,
"bb_percent": 9.7,
"woba": 0.372,
"xwoba": 0.32,
"xba": 0.247,
"xslg": 0.387,
"sweet_spot_percent": 37.2,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 30.4,
"exit_velocity_avg": 84.4,
"launch_angle_avg": 15.1,
"whiff_percent": 20.5,
"swing_percent": 49.6
},
"components": {
"expected_quality": 0.0852,
"regression_edge": -1.4857,
"xwoba_edge": 0.4857,
"xba_edge": 0.2286,
"xslg_edge": 0.2286,
"barrel_edge": -0.2,
"hard_hit_edge": -1.1,
"exit_velocity_edge": -1.76,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "694249",
"player_name": "Cole Carrigg",
"offense_factor": 1.012,
"quality_score": 0.1604,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694249",
"espn_id": 5149102,
"player_name": "Cole Carrigg",
"team": "COL",
"role": "batter",
"espn_rank": 222,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 222,
"gp_value": 20.0,
"gp_rank": 439,
"ab_value": 64.0,
"ab_rank": 416,
"r_value": 13.0,
"r_rank": 331,
"h_value": 17.0,
"h_rank": 380,
"avg_value": 0.265625,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 375,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 11.0,
"rbi_rank": 337,
"tb_value": 31.0,
"tb_rank": 1746,
"bb_value": 10.0,
"bb_rank": 307,
"so_value": 16.0,
"so_rank": 422,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.368421,
"obp_rank": "-",
"slg_value": 0.484375,
"slg_rank": "-",
"ops_value": 0.852796,
"ops_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 20.8,
"bb_percent": 13.0,
"woba": 0.371,
"xwoba": 0.351,
"xba": 0.249,
"xslg": 0.415,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 34.0,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 13.0,
"whiff_percent": 25.8,
"swing_percent": 54.3
},
"components": {
"expected_quality": 0.5076,
"regression_edge": -0.5714,
"xwoba_edge": 1.3714,
"xba_edge": 0.2857,
"xslg_edge": 0.6286,
"barrel_edge": -0.2,
"hard_hit_edge": -0.5857,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "687859",
"player_name": "Troy Johnston",
"offense_factor": 1.0191,
"quality_score": 0.2547,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687859",
"espn_id": 4346111,
"player_name": "Troy Johnston",
"team": "COL",
"role": "batter",
"espn_rank": 341,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 341,
"gp_value": 78.0,
"gp_rank": 118,
"ab_value": 256.0,
"ab_rank": 126,
"r_value": 31.0,
"r_rank": 148,
"h_value": 80.0,
"h_rank": 59,
"avg_value": 0.3125,
"avg_rank": 7.0,
"2b_value": 22.0,
"2b_rank": 2,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 36.0,
"rbi_rank": 98,
"tb_value": 111.0,
"tb_rank": 1302,
"bb_value": 24.0,
"bb_rank": 136,
"so_value": 49.0,
"so_rank": 179,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.3776223,
"obp_rank": "17",
"slg_value": 0.4335937,
"slg_rank": "74",
"ops_value": 0.811216,
"ops_rank": 57.0,
"war_value": 0.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 179.0,
"k_percent": 17.1,
"bb_percent": 8.4,
"woba": 0.359,
"xwoba": 0.333,
"xba": 0.289,
"xslg": 0.394,
"sweet_spot_percent": 41.9,
"barrel_batted_rate": 2.4,
"hard_hit_percent": 37.1,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 13.8,
"whiff_percent": 22.9,
"swing_percent": 50.5
},
"components": {
"expected_quality": 0.4849,
"regression_edge": -0.7429,
"xwoba_edge": 0.8571,
"xba_edge": 1.4286,
"xslg_edge": 0.3286,
"barrel_edge": -1.0,
"hard_hit_edge": -0.1429,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 1.45,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691720",
"player_name": "Kyle Karros",
"offense_factor": 1.0426,
"quality_score": 0.5683,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691720",
"espn_id": 5203102,
"player_name": "Kyle Karros",
"team": "COL",
"role": "batter",
"espn_rank": 129,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 129,
"gp_value": 82.0,
"gp_rank": 62,
"ab_value": 236.0,
"ab_rank": 154,
"r_value": 40.0,
"r_rank": 83,
"h_value": 61.0,
"h_rank": 133,
"avg_value": 0.2584745,
"avg_rank": 74.0,
"2b_value": 16.0,
"2b_rank": 42,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 26.0,
"rbi_rank": 187,
"tb_value": 97.0,
"tb_rank": 896,
"bb_value": 34.0,
"bb_rank": 58,
"so_value": 59.0,
"so_rank": 128,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3540145,
"obp_rank": "46",
"slg_value": 0.4110169,
"slg_rank": "97",
"ops_value": 0.7650314,
"ops_rank": 51.0,
"war_value": 1.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 175.0,
"k_percent": 21.5,
"bb_percent": 12.4,
"woba": 0.338,
"xwoba": 0.341,
"xba": 0.261,
"xslg": 0.408,
"sweet_spot_percent": 43.6,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 11.9,
"whiff_percent": 24.7,
"swing_percent": 43.2
},
"components": {
"expected_quality": 0.8167,
"regression_edge": 0.0857,
"xwoba_edge": 1.0857,
"xba_edge": 0.6286,
"xslg_edge": 0.5286,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.0286,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 1.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "664954",
"player_name": "Brett Sullivan",
"offense_factor": 0.9751,
"quality_score": -0.3315,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664954",
"espn_id": 39913,
"player_name": "Brett Sullivan",
"team": "COL",
"role": "batter",
"espn_rank": 521,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 521,
"gp_value": 42.0,
"gp_rank": 327,
"ab_value": 109.0,
"ab_rank": 334,
"r_value": 8.0,
"r_rank": 396,
"h_value": 23.0,
"h_rank": 338,
"avg_value": 0.2110091,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 266,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 4.0,
"hr_rank": 238,
"rbi_value": 13.0,
"rbi_rank": 312,
"tb_value": 41.0,
"tb_rank": 1746,
"bb_value": 5.0,
"bb_rank": 404,
"so_value": 23.0,
"so_rank": 359,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2478632,
"obp_rank": "-",
"slg_value": 0.3761467,
"slg_rank": "-",
"ops_value": 0.6240099,
"ops_rank": null,
"war_value": -0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 79.0,
"k_percent": 19.5,
"bb_percent": 4.2,
"woba": 0.27,
"xwoba": 0.262,
"xba": 0.22,
"xslg": 0.333,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 29.2,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 20.2,
"whiff_percent": 18.7,
"swing_percent": 52.3
},
"components": {
"expected_quality": -0.8194,
"regression_edge": -0.2286,
"xwoba_edge": -1.1714,
"xba_edge": -0.5429,
"xslg_edge": -0.5429,
"barrel_edge": -0.7778,
"hard_hit_edge": -1.2714,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "666397",
"player_name": "Edouard Julien",
"offense_factor": 1.0487,
"quality_score": 0.649,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666397",
"espn_id": 3985190,
"player_name": "Edouard Julien",
"team": "COL",
"role": "batter",
"espn_rank": 547,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 547,
"gp_value": 71.0,
"gp_rank": 163,
"ab_value": 192.0,
"ab_rank": 216,
"r_value": 27.0,
"r_rank": 184,
"h_value": 44.0,
"h_rank": 217,
"avg_value": 0.2291666,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 18.0,
"rbi_rank": 263,
"tb_value": 59.0,
"tb_rank": 1647,
"bb_value": 31.0,
"bb_rank": 74,
"so_value": 59.0,
"so_rank": 128,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.3392857,
"obp_rank": "-",
"slg_value": 0.3072916,
"slg_rank": "-",
"ops_value": 0.6465773,
"ops_rank": null,
"war_value": -0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 146.0,
"k_percent": 26.3,
"bb_percent": 13.8,
"woba": 0.3,
"xwoba": 0.346,
"xba": 0.259,
"xslg": 0.409,
"sweet_spot_percent": 45.9,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 51.1,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 8.7,
"whiff_percent": 24.0,
"swing_percent": 40.9
},
"components": {
"expected_quality": 0.9232,
"regression_edge": 1.3143,
"xwoba_edge": 1.2286,
"xba_edge": 0.5714,
"xslg_edge": 0.5429,
"barrel_edge": -0.0222,
"hard_hit_edge": 1.8571,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 2.1167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.01,
"raw_average_factor": 1.01,
"team_espn_average_rank": 193.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "669364",
"player_name": "Xavier Edwards",
"offense_factor": 1.0121,
"quality_score": 0.1612,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669364",
"espn_id": 41326,
"player_name": "Xavier Edwards",
"team": "MIA",
"role": "batter",
"espn_rank": 25,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 25,
"gp_value": 87.0,
"gp_rank": 3,
"ab_value": 317.0,
"ab_rank": 29,
"r_value": 48.0,
"r_rank": 39,
"h_value": 96.0,
"h_rank": 6,
"avg_value": 0.3028391,
"avg_rank": 8.0,
"2b_value": 13.0,
"2b_rank": 101,
"3b_value": 5.0,
"3b_rank": 3,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 30.0,
"rbi_rank": 152,
"tb_value": 137.0,
"tb_rank": 656,
"bb_value": 42.0,
"bb_rank": 29,
"so_value": 44.0,
"so_rank": 212,
"sb_value": 13.0,
"sb_rank": 24,
"obp_value": 0.3812154,
"obp_rank": "16",
"slg_value": 0.4321766,
"slg_rank": "76",
"ops_value": 0.813392,
"ops_rank": 60.0,
"war_value": 2.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 235.0,
"k_percent": 12.1,
"bb_percent": 11.6,
"woba": 0.356,
"xwoba": 0.329,
"xba": 0.271,
"xslg": 0.392,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 29.2,
"exit_velocity_avg": 86.9,
"launch_angle_avg": 10.2,
"whiff_percent": 14.7,
"swing_percent": 42.0
},
"components": {
"expected_quality": 0.313,
"regression_edge": -0.7714,
"xwoba_edge": 0.7429,
"xba_edge": 0.9143,
"xslg_edge": 0.3,
"barrel_edge": -0.4889,
"hard_hit_edge": -1.2714,
"exit_velocity_edge": -0.76,
"sweet_spot_edge": 0.9667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "689414",
"player_name": "Liam Hicks",
"offense_factor": 0.9777,
"quality_score": -0.2974,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "689414",
"espn_id": 4725251,
"player_name": "Liam Hicks",
"team": "MIA",
"role": "batter",
"espn_rank": 50,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 50,
"gp_value": 75.0,
"gp_rank": 134,
"ab_value": 258.0,
"ab_rank": 123,
"r_value": 42.0,
"r_rank": 73,
"h_value": 73.0,
"h_rank": 84,
"avg_value": 0.2829457,
"avg_rank": 26.0,
"2b_value": 7.0,
"2b_rank": 235,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 53.0,
"rbi_rank": 23,
"tb_value": 121.0,
"tb_rank": 674,
"bb_value": 29.0,
"bb_rank": 90,
"so_value": 28.0,
"so_rank": 317,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3602693,
"obp_rank": "33",
"slg_value": 0.4689922,
"slg_rank": "45",
"ops_value": 0.8292615,
"ops_rank": 12.0,
"war_value": 2.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 199.0,
"k_percent": 9.4,
"bb_percent": 9.7,
"woba": 0.36,
"xwoba": 0.312,
"xba": 0.247,
"xslg": 0.356,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 30.1,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 13.9,
"whiff_percent": 11.1,
"swing_percent": 41.4
},
"components": {
"expected_quality": -0.159,
"regression_edge": -1.3714,
"xwoba_edge": 0.2571,
"xba_edge": 0.2286,
"xslg_edge": -0.2143,
"barrel_edge": -0.6,
"hard_hit_edge": -1.1429,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": -1.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "665052",
"player_name": "Griffin Conine",
"offense_factor": 1.0605,
"quality_score": 0.8069,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665052",
"espn_id": 41295,
"player_name": "Griffin Conine",
"team": "MIA",
"role": "batter",
"espn_rank": 221,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 221,
"gp_value": 20.0,
"gp_rank": 439,
"ab_value": 50.0,
"ab_rank": 439,
"r_value": 9.0,
"r_rank": 378,
"h_value": 14.0,
"h_rank": 404,
"avg_value": 0.28,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 375,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 10.0,
"rbi_rank": 353,
"tb_value": 26.0,
"tb_rank": 2020,
"bb_value": 6.0,
"bb_rank": 385,
"so_value": 15.0,
"so_rank": 429,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.368421,
"obp_rank": "-",
"slg_value": 0.52,
"slg_rank": "-",
"ops_value": 0.888421,
"ops_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 24.0,
"k_percent": 26.3,
"bb_percent": 10.5,
"woba": 0.386,
"xwoba": 0.416,
"xba": 0.317,
"xslg": 0.567,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 54.3,
"exit_velocity_avg": 89.1,
"launch_angle_avg": -1.4,
"whiff_percent": 39.8,
"swing_percent": 48.6
},
"components": {
"expected_quality": 1.9455,
"regression_edge": 0.8571,
"xwoba_edge": 2.5,
"xba_edge": 2.2286,
"xslg_edge": 2.5,
"barrel_edge": 1.6444,
"hard_hit_edge": 2.3143,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.65,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "669065",
"player_name": "Kyle Stowers",
"offense_factor": 1.0308,
"quality_score": 0.411,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669065",
"espn_id": 42796,
"player_name": "Kyle Stowers",
"team": "MIA",
"role": "batter",
"espn_rank": 214,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 214,
"gp_value": 63.0,
"gp_rank": 208,
"ab_value": 234.0,
"ab_rank": 156,
"r_value": 30.0,
"r_rank": 160,
"h_value": 54.0,
"h_rank": 168,
"avg_value": 0.2307692,
"avg_rank": 129.0,
"2b_value": 16.0,
"2b_rank": 42,
"3b_value": 3.0,
"3b_rank": 9,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 34.0,
"rbi_rank": 110,
"tb_value": 100.0,
"tb_rank": 597,
"bb_value": 25.0,
"bb_rank": 123,
"so_value": 85.0,
"so_rank": 32,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3195488,
"obp_rank": "101",
"slg_value": 0.4273504,
"slg_rank": "81",
"ops_value": 0.7468992,
"ops_rank": 182.0,
"war_value": 0.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 138.0,
"k_percent": 31.8,
"bb_percent": 9.4,
"woba": 0.326,
"xwoba": 0.329,
"xba": 0.237,
"xslg": 0.43,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 53.0,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 15.4,
"whiff_percent": 36.1,
"swing_percent": 52.6
},
"components": {
"expected_quality": 0.7479,
"regression_edge": 0.0857,
"xwoba_edge": 0.7429,
"xba_edge": -0.0571,
"xslg_edge": 0.8429,
"barrel_edge": 0.9778,
"hard_hit_edge": 2.1286,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "672640",
"player_name": "Otto Lopez",
"offense_factor": 1.0368,
"quality_score": 0.4908,
"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": 6,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 6,
"gp_value": 85.0,
"gp_rank": 23,
"ab_value": 337.0,
"ab_rank": 8,
"r_value": 53.0,
"r_rank": 23,
"h_value": 112.0,
"h_rank": 1,
"avg_value": 0.3323442,
"avg_rank": 1.0,
"2b_value": 22.0,
"2b_rank": 2,
"3b_value": 4.0,
"3b_rank": 6,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 37.0,
"rbi_rank": 91,
"tb_value": 163.0,
"tb_rank": 457,
"bb_value": 16.0,
"bb_rank": 224,
"so_value": 50.0,
"so_rank": 175,
"sb_value": 16.0,
"sb_rank": 14,
"obp_value": 0.3646408,
"obp_rank": "30",
"slg_value": 0.4836795,
"slg_rank": "33",
"ops_value": 0.8483203,
"ops_rank": 63.0,
"war_value": 3.81,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 13.8,
"bb_percent": 4.4,
"woba": 0.368,
"xwoba": 0.335,
"xba": 0.293,
"xslg": 0.445,
"sweet_spot_percent": 30.5,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 7.2,
"whiff_percent": 20.6,
"swing_percent": 47.7
},
"components": {
"expected_quality": 0.7242,
"regression_edge": -0.9429,
"xwoba_edge": 0.9143,
"xba_edge": 1.5429,
"xslg_edge": 1.0571,
"barrel_edge": 0.0,
"hard_hit_edge": 0.7286,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.45,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "683357",
"player_name": "Owen Caissie",
"offense_factor": 1.0198,
"quality_score": 0.2646,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683357",
"espn_id": 4917685,
"player_name": "Owen Caissie",
"team": "MIA",
"role": "batter",
"espn_rank": 408,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 408,
"gp_value": 75.0,
"gp_rank": 134,
"ab_value": 208.0,
"ab_rank": 183,
"r_value": 28.0,
"r_rank": 175,
"h_value": 50.0,
"h_rank": 191,
"avg_value": 0.2403846,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 10.0,
"hr_rank": 94,
"rbi_value": 46.0,
"rbi_rank": 43,
"tb_value": 92.0,
"tb_rank": 1019,
"bb_value": 17.0,
"bb_rank": 211,
"so_value": 91.0,
"so_rank": 21,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.2991452,
"obp_rank": "-",
"slg_value": 0.4423076,
"slg_rank": "-",
"ops_value": 0.7414528,
"ops_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 147.0,
"k_percent": 38.9,
"bb_percent": 7.3,
"woba": 0.319,
"xwoba": 0.305,
"xba": 0.216,
"xslg": 0.415,
"sweet_spot_percent": 46.3,
"barrel_batted_rate": 15.4,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 91.5,
"launch_angle_avg": 16.4,
"whiff_percent": 36.1,
"swing_percent": 46.6
},
"components": {
"expected_quality": 0.5256,
"regression_edge": -0.4,
"xwoba_edge": 0.0571,
"xba_edge": -0.6571,
"xslg_edge": 0.6286,
"barrel_edge": 1.8889,
"hard_hit_edge": 1.3,
"exit_velocity_edge": 1.08,
"sweet_spot_edge": 2.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691594",
"player_name": "Javier Sanoja",
"offense_factor": 0.9739,
"quality_score": -0.3482,
"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": 135,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 135,
"gp_value": 69.0,
"gp_rank": 172,
"ab_value": 195.0,
"ab_rank": 207,
"r_value": 19.0,
"r_rank": 258,
"h_value": 54.0,
"h_rank": 168,
"avg_value": 0.276923,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 34.0,
"rbi_rank": 110,
"tb_value": 81.0,
"tb_rank": 1120,
"bb_value": 13.0,
"bb_rank": 263,
"so_value": 21.0,
"so_rank": 379,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3205741,
"obp_rank": "-",
"slg_value": 0.4153846,
"slg_rank": "-",
"ops_value": 0.7359587,
"ops_rank": null,
"war_value": 1.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 10.0,
"bb_percent": 6.2,
"woba": 0.322,
"xwoba": 0.277,
"xba": 0.254,
"xslg": 0.323,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 33.5,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 10.9,
"whiff_percent": 12.4,
"swing_percent": 52.1
},
"components": {
"expected_quality": -0.5392,
"regression_edge": -1.2857,
"xwoba_edge": -0.7429,
"xba_edge": 0.4286,
"xslg_edge": -0.6857,
"barrel_edge": -1.1556,
"hard_hit_edge": -0.6571,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "805300",
"player_name": "Jakob Marsee",
"offense_factor": 0.9684,
"quality_score": -0.421,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805300",
"espn_id": 4866735,
"player_name": "Jakob Marsee",
"team": "MIA",
"role": "batter",
"espn_rank": 553,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 553,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 296.0,
"ab_rank": 83,
"r_value": 41.0,
"r_rank": 78,
"h_value": 56.0,
"h_rank": 160,
"avg_value": 0.1891891,
"avg_rank": 160.0,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 3.0,
"3b_rank": 9,
"hr_value": 4.0,
"hr_rank": 238,
"rbi_value": 21.0,
"rbi_rank": 235,
"tb_value": 85.0,
"tb_rank": 1032,
"bb_value": 44.0,
"bb_rank": 26,
"so_value": 82.0,
"so_rank": 47,
"sb_value": 18.0,
"sb_rank": 11,
"obp_value": 0.3074712,
"obp_rank": "123",
"slg_value": 0.2871621,
"slg_rank": "158",
"ops_value": 0.5946333,
"ops_rank": 35.0,
"war_value": -0.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 23.4,
"bb_percent": 12.5,
"woba": 0.278,
"xwoba": 0.293,
"xba": 0.215,
"xslg": 0.301,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 33.9,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 18.2,
"whiff_percent": 19.9,
"swing_percent": 40.5
},
"components": {
"expected_quality": -0.5593,
"regression_edge": 0.4286,
"xwoba_edge": -0.2857,
"xba_edge": -0.6857,
"xslg_edge": -1.0,
"barrel_edge": -0.8222,
"hard_hit_edge": -0.6,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -0.95,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "691788",
"player_name": "Joe Mack",
"offense_factor": 1.0099,
"quality_score": 0.132,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691788",
"espn_id": 4872695,
"player_name": "Joe Mack",
"team": "MIA",
"role": "batter",
"espn_rank": 128,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 128,
"gp_value": 44.0,
"gp_rank": 317,
"ab_value": 133.0,
"ab_rank": 294,
"r_value": 22.0,
"r_rank": 225,
"h_value": 34.0,
"h_rank": 272,
"avg_value": 0.255639,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 22.0,
"rbi_rank": 225,
"tb_value": 57.0,
"tb_rank": 1542,
"bb_value": 10.0,
"bb_rank": 307,
"so_value": 35.0,
"so_rank": 265,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.4285714,
"slg_rank": "-",
"ops_value": 0.7410714,
"ops_rank": null,
"war_value": 1.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 61.0,
"k_percent": 24.0,
"bb_percent": 6.8,
"woba": 0.325,
"xwoba": 0.317,
"xba": 0.242,
"xslg": 0.43,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 39.0,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 13.8,
"whiff_percent": 23.9,
"swing_percent": 47.1
},
"components": {
"expected_quality": 0.3782,
"regression_edge": -0.2286,
"xwoba_edge": 0.4,
"xba_edge": 0.0857,
"xslg_edge": 0.8429,
"barrel_edge": 0.6889,
"hard_hit_edge": 0.1286,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.5333,
"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 MIA | True | 371 | -0.2708 | 0.4500 | 1.0230 | 0.9801 | 0.9910 | 1.0567 | neutral | 0.3470 | 0.3310 | 20.20 | 8.10 | 20.10 | 10 | 47.10 | |
| Home COL | True | 721 | -0.6819 | 1 | 1.0580 | 0.9346 | 0.9500 | 1.1126 | positive_pitcher_regression | 0.3590 | 0.4000 | 16.90 | 6.60 | 19.70 | 8.50 | 47.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIA | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home COL | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0580 |
| home_runs_vs_away_pitcher | 1.0103 |
| home_pitcher_quality_edge | -0.4111 |
{
"applied": true,
"home_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": 16.9,
"bb_percent": 6.6,
"woba": 0.4,
"xwoba": 0.359,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 47.6,
"avg_best_speed": 79.5064,
"avg_hyper_speed": 95.1718,
"whiff_percent": 19.7,
"swing_percent": 44.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.1816,
"command_and_miss": -0.5282,
"regression_edge": 1.1714,
"xwoba_edge": -1.3286,
"barrel_edge": -0.2444,
"hard_hit_edge": -1.3286,
"whiff_edge": -0.8286,
"bb_edge": 0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "547179",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.6819,
"sample_weight": 1.0,
"run_prevention_factor": 1.058,
"strikeout_factor": 0.9346,
"walk_factor": 0.95,
"homer_factor": 1.1126,
"woba_minus_xwoba": 0.041,
"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": 721,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 721,
"gp_value": 18.0,
"gp_rank": 228,
"gs_value": 17.0,
"gs_rank": 17,
"qs_value": 1.0,
"qs_rank": 146,
"era_value": 6.8326,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 9.0,
"l_rank": 1,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 81.2,
"ip_rank": 76,
"h_value": 120.0,
"h_rank": 1,
"er_value": 62.0,
"er_rank": 2,
"hr_value": 13.0,
"hr_rank": 36,
"bb_value": 26.0,
"bb_rank": 79,
"k_value": 66.0,
"k_rank": 90,
"k_per_9_value": 7.2734694,
"k_per_9_rank": 31,
"whip_value": 1.7877,
"whip_rank": null,
"war_value": -0.98,
"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": 20.2,
"bb_percent": 8.1,
"woba": 0.331,
"xwoba": 0.347,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 47.1,
"avg_best_speed": 79.4389,
"avg_hyper_speed": 94.3758,
"whiff_percent": 20.1,
"swing_percent": 49.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.8209,
"command_and_miss": -0.3711,
"regression_edge": -0.4571,
"xwoba_edge": -0.9857,
"barrel_edge": -0.5778,
"hard_hit_edge": -1.2571,
"whiff_edge": -0.7714,
"bb_edge": 0.25,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687473",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2708,
"sample_weight": 0.45,
"run_prevention_factor": 1.023,
"strikeout_factor": 0.9801,
"walk_factor": 0.991,
"homer_factor": 1.0567,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687473",
"espn_id": 5131986,
"player_name": "Ryan Gusto",
"team": "MIA",
"role": "pitcher",
"espn_rank": 371,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 371,
"gp_value": 7.0,
"gp_rank": 467,
"gs_value": 5.0,
"gs_rank": 179,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.0625,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 21.1,
"ip_rank": 400,
"h_value": 25.0,
"h_rank": 318,
"er_value": 12.0,
"er_rank": 319,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 8.0,
"bb_rank": 407,
"k_value": 20.0,
"k_rank": 385,
"k_per_9_value": 8.4375,
"k_per_9_rank": 25,
"whip_value": 1.5468,
"whip_rank": null,
"war_value": 0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.058,
"home_runs_vs_away_pitcher": 1.0103,
"home_pitcher_quality_edge": -0.4111
},
"score_before": {
"away_runs": 6.2473,
"home_runs": 6.7502
},
"score_after": {
"away_runs": 6.6096,
"home_runs": 6.82,
"home_win_probability": 0.5105
},
"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 | 6-4 | 0.600 | 4.70 | 3 | 17 | average | strong | |
| Home COL | 4-6 | 0.400 | 4.80 | 5.80 | -10 | average | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIA | 46-40 | 0.535 | 24 | 0.279 | True |
| Home COL | 33-53 | 0.384 | -103 | -1.198 | True |
| Signal | - | - | -1.477 | -1.704 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIA | - | - | 5 | - | - | - | - |
| Game target COL | - | - | 2 | - | - | - | - |
| Player finalized MIA | 32 | 9 | 5 | 0 | 5 | 1 | 6 |
| Player finalized COL | 31 | 9 | 2 | 0 | 2 | 1 | 9 |
| Player model fractional MIA | 31.69 | 8.34 | 4.87 | 1.05 | 4.75 | 2.85 | 6.89 |
| Player model fractional COL | 30.42 | 7.47 | 3.99 | 0.99 | 3.79 | 3.00 | 7.05 |
| Simulation box MIA | 36 | 10 | 8 | 1 | 8 | 5 | 10 |
| Simulation box COL | 32 | 5 | 1 | 0 | 1 | 2 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away MIA | Starter | Ryan Gusto | 4.10 | 1 | 4 | 4 | 1 | 4.53 | 1.44 | True |
| Away MIA | Middle Reliever | Calvin Faucher | 1 | 0 | 1 | 0 | 1 | 3.56 | 1.09 | True |
| Away MIA | Middle Reliever | John King | 1 | 0 | 1 | 1 | 0 | 2.23 | 0.96 | True |
| Away MIA | Middle Reliever | Michael Petersen | 1.20 | 0 | 0 | 0 | 0 | 3.20 | 1.04 | True |
| Away MIA | Middle Reliever | Pete Fairbanks | 1 | 0 | 0 | 0 | 0 | 5.68 | 1.28 | True |
| Home COL | Starter | Michael Lorenzen | 4.20 | 4 | 6 | 7 | 2 | 6.14 | 1.60 | True |
| Home COL | Middle Reliever | Antonio Senzatela | 1.10 | 1 | 1 | 1 | 0 | 6.58 | 1.72 | True |
| Home COL | Middle Reliever | Victor Vodnik | 1.10 | 1 | 2 | 1 | 1 | 3.98 | 1.32 | True |
| Home COL | Middle Reliever | Jimmy Herget | 1 | 0 | 1 | 0 | 0 | 3.80 | 1.19 | True |
| Home COL | Middle Reliever | Brennan Bernardino | 0.20 | 0 | 0 | 0 | 1 | 2.32 | 1.13 | True |
| Home COL | Middle Reliever | Juan Mejia | 0 | 1 | 0 | 1 | 1 | 5.98 | 1.43 | True |
| Home COL | Reliever | Zach Agnos | 0 | 1 | 0 | 0 | 0 | 6.44 | 1.68 | - |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | COL | pitcher | Starter | Michael Lorenzen | worse | 3 | 2 | 1 | 1 | 2 | predicted_SO | 3.0000 | boost | better |
| away | MIA | batter | 1B | Kyle Stowers | worse | 9 | 4 | 5 | 3 | 6 | predicted_SO | 2.6510 | boost | worse |
| away | MIA | batter | 2B | Xavier Edwards | worse | 12 | 5 | 7 | 4 | 8 | predicted_SO | 2.4880 | boost | worse |
| away | MIA | batter | C | Joe Mack | better | 9 | 6 | 3 | 7 | 2 | predicted_H | 2.2700 | boost | better |
| away | MIA | batter | LF | Griffin Conine | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 2.2220 | boost | better |
| away | MIA | batter | CF | Jakob Marsee | better | 11 | 6 | 5 | 7 | 4 | predicted_RBI | 1.6800 | boost | better |
| away | MIA | batter | 3B | Javier Sanoja | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.6500 | boost | worse |
| away | MIA | batter | RF | Owen Caissie | better | 11 | 7 | 4 | 8 | 3 | predicted_RBI | 1.4600 | boost | better |
| home | COL | batter | SS | Willi Castro | worse | 9 | 1 | 8 | 2 | 7 | predicted_SO | -1.0560 | deboost | better |
| away | MIA | pitcher | Starter | Ryan Gusto | worse | 2 | 1 | 1 | 0 | 2 | predicted_H | 1.0000 | boost | worse |
| away | MIA | pitcher | Middle Reliever | Michael Petersen | better | 2 | 1 | 1 | 2 | 0 | predicted_H | -1.0000 | deboost | better |
| home | COL | pitcher | Middle Reliever | Victor Vodnik | deboosted | 2 | 0 | 2 | 1 | 1 | predicted_H | -1.0000 | deboost | better |
| home | COL | pitcher | Middle Reliever | Juan Mejia | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | COL | pitcher | Reliever | Zach Agnos | worse | 2 | 1 | 1 | 0 | 2 | predicted_ER | 1.0000 | boost | worse |
| home | COL | batter | DH | Troy Johnston | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.9100 | deboost | worse |
| home | COL | batter | LF | Mickey Moniak | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.9020 | deboost | better |
| home | COL | batter | CF | Cole Carrigg | worse | 12 | 5 | 7 | 4 | 8 | predicted_2B | 0.8420 | boost | better |
| home | COL | batter | 3B | Kyle Karros | worse | 10 | 5 | 5 | 4 | 6 | predicted_2B | 0.7970 | boost | better |
| home | COL | batter | RF | Jake McCarthy | worse | 11 | 4 | 7 | 3 | 8 | predicted_2B | 0.7580 | boost | better |
| home | COL | batter | 2B | Edouard Julien | worse | 10 | 5 | 5 | 4 | 6 | predicted_RBI | 0.7100 | boost | better |
| away | MIA | batter | SS | Otto Lopez | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | 0.6400 | boost | better |
| home | COL | batter | 1B | TJ Rumfield | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.5930 | deboost | better |
| home | COL | batter | C | Brett Sullivan | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.5400 | deboost | worse |
| home | COL | pitcher | Middle Reliever | Brennan Bernardino | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | MIA | batter | DH | Liam Hicks | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 0.4500 | boost | better |
| home | 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 | Ryan Gusto |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2708 |
| ESPN Rank | 371 |
| 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 | 4 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 5.0625 |
| Season WHIP | 1.5469 |
| Role Avg IP | 3.6670 |
| Recent Avg IP | 3.6670 |
| Last Start IP | 3.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"edges": {
"quality_edge": 0.3744,
"offense_edge": -0.0298,
"opponent_offense_edge": 0.0495,
"defense_strength": 0.0929,
"opponent_defense_weakness": 0.2143,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0158,
"run_prevention": 0.9799,
"strikeout": 1.0073
},
"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": 20.2,
"bb_percent": 8.1,
"woba": 0.331,
"xwoba": 0.347,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 47.1,
"avg_best_speed": 79.4389,
"avg_hyper_speed": 94.3758,
"whiff_percent": 20.1,
"swing_percent": 49.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.8209,
"command_and_miss": -0.3711,
"regression_edge": -0.4571,
"xwoba_edge": -0.9857,
"barrel_edge": -0.5778,
"hard_hit_edge": -1.2571,
"whiff_edge": -0.7714,
"bb_edge": 0.25,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687473",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2708,
"sample_weight": 0.45,
"run_prevention_factor": 1.023,
"strikeout_factor": 0.9801,
"walk_factor": 0.991,
"homer_factor": 1.0567,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687473",
"espn_id": 5131986,
"player_name": "Ryan Gusto",
"team": "MIA",
"role": "pitcher",
"espn_rank": 371,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 371,
"gp_value": 7.0,
"gp_rank": 467,
"gs_value": 5.0,
"gs_rank": 179,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.0625,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 21.1,
"ip_rank": 400,
"h_value": 25.0,
"h_rank": 318,
"er_value": 12.0,
"er_rank": 319,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 8.0,
"bb_rank": 407,
"k_value": 20.0,
"k_rank": 385,
"k_per_9_value": 8.4375,
"k_per_9_rank": 25,
"whip_value": 1.5468,
"whip_rank": null,
"war_value": 0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0103,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0103,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.996,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0255,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 0.991,
"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": 21.1,
"ER": 12,
"H": 25,
"BB": 8,
"SO": 20,
"HR": 2,
"ERA": 5.0625,
"WHIP": 1.546875,
"K9": 8.4375,
"HR9": 0.84375,
"games_pitched": 7,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-06-27T00:00:00"
}{
"available": false,
"pitcher_id": "687473",
"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.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": "687473",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 18.1,
"ER": 9.0,
"R": 9.0,
"H": 20.0,
"BB": 8.0,
"SO": 16.0,
"HR": 2.0,
"BF": 85.0,
"Pitches": 321.0
},
"per_game": {
"IP": 3.2,
"ER": 1.8,
"R": 1.8,
"H": 4.0,
"BB": 1.6,
"SO": 3.2,
"HR": 0.4,
"BF": 17.0,
"Pitches": 64.2
},
"rates": {
"ERA": 4.4182,
"WHIP": 1.5273,
"ER_per_IP": 0.49091,
"H_per_IP": 1.09091,
"BB_per_IP": 0.43636,
"SO_per_IP": 0.87273,
"HR_per_IP": 0.10909
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 21.1,
"ER": 12.0,
"R": 12.0,
"H": 25.0,
"BB": 8.0,
"SO": 20.0,
"HR": 2.0,
"BF": 99.0,
"Pitches": 373.0
},
"per_game": {
"IP": 3.0,
"ER": 1.7143,
"R": 1.7143,
"H": 3.5714,
"BB": 1.1429,
"SO": 2.8571,
"HR": 0.2857,
"BF": 14.1429,
"Pitches": 53.2857
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.5469,
"ER_per_IP": 0.5625,
"H_per_IP": 1.17188,
"BB_per_IP": 0.375,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 7,
"totals": {
"IP": 21.1,
"ER": 12.0,
"R": 12.0,
"H": 25.0,
"BB": 8.0,
"SO": 20.0,
"HR": 2.0,
"BF": 99.0,
"Pitches": 373.0
},
"per_game": {
"IP": 3.0,
"ER": 1.7143,
"R": 1.7143,
"H": 3.5714,
"BB": 1.1429,
"SO": 2.8571,
"HR": 0.2857,
"BF": 14.1429,
"Pitches": 53.2857
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.5469,
"ER_per_IP": 0.5625,
"H_per_IP": 1.17188,
"BB_per_IP": 0.375,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.09375
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 1.94,
"predicted_H": 4.044,
"predicted_BB": 1.522,
"predicted_SO": 3.526,
"predicted_HR": 0.473,
"predicted_ERA": 4.5326,
"predicted_WHIP": 1.4448
}
}{
"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": 4.1,
"form": 4.0,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.94,
"final": 1.4455,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.044,
"final": 3.4948,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.522,
"final": 1.2474,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.526,
"final": 3.7754,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.473,
"final": 0.2242,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5326,
"final": 4.5326,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4448,
"final": 1.4448,
"source": "form_only"
}
}
}{
"available": false,
"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 | Calvin Faucher |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0740 |
| ESPN Rank | 296 |
| 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 | 3.3750 |
| Season WHIP | 1.4712 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"edges": {
"quality_edge": 0.3744,
"offense_edge": -0.0298,
"opponent_offense_edge": 0.0495,
"defense_strength": 0.0929,
"opponent_defense_weakness": 0.2143,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0158,
"run_prevention": 0.9799,
"strikeout": 1.0073
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676534",
"profile": {
"available": true,
"pitcher_id": "676534",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 92.0,
"k_percent": 22.7,
"bb_percent": 15.6,
"woba": 0.288,
"xwoba": 0.322,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 41.9,
"avg_best_speed": 77.7527,
"avg_hyper_speed": 94.6872,
"whiff_percent": 24.5,
"swing_percent": 39.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0494,
"command_and_miss": -0.3654,
"regression_edge": -0.9714,
"xwoba_edge": -0.2714,
"barrel_edge": 0.6889,
"hard_hit_edge": -0.5143,
"whiff_edge": -0.1429,
"bb_edge": -1.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676534",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.074,
"sample_weight": 0.45,
"run_prevention_factor": 1.0063,
"strikeout_factor": 0.9978,
"walk_factor": 1.0585,
"homer_factor": 0.9881,
"woba_minus_xwoba": -0.034,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676534",
"espn_id": 3978173,
"player_name": "Calvin Faucher",
"team": "MIA",
"role": "pitcher",
"espn_rank": 296,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 296,
"gp_value": 35.0,
"gp_rank": 55,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.375,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 9.0,
"hld_rank": 46,
"ip_value": 34.2,
"ip_rank": 252,
"h_value": 27.0,
"h_rank": 289,
"er_value": 13.0,
"er_rank": 292,
"hr_value": 0.0,
"hr_rank": 614,
"bb_value": 24.0,
"bb_rank": 102,
"k_value": 35.0,
"k_rank": 243,
"k_per_9_value": 9.086538,
"k_per_9_rank": 26,
"whip_value": 1.4711,
"whip_rank": null,
"war_value": 0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0263,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9946,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.999,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 2,
"H": 7,
"BB": 4,
"SO": 8,
"HR": 0,
"ERA": 1.6875,
"WHIP": 1.03125,
"K9": 6.75,
"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-29T00:00:00"
}{
"available": false,
"pitcher_id": "676534",
"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.872,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5788,
"prior_weight": 0.4212
},
"role": "pitcher",
"player_id": "676534",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 64.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.2,
"SO": 0.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.8
},
"rates": {
"ERA": 3.6,
"WHIP": 0.6,
"ER_per_IP": 0.4,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 0.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 4.0,
"SO": 8.0,
"HR": 0.0,
"BF": 44.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 4.4,
"Pitches": 15.6
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.0312,
"ER_per_IP": 0.1875,
"H_per_IP": 0.65625,
"BB_per_IP": 0.375,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"season": {
"games": 35,
"totals": {
"IP": 34.2,
"ER": 13.0,
"R": 18.0,
"H": 27.0,
"BB": 24.0,
"SO": 35.0,
"HR": 0.0,
"BF": 154.0,
"Pitches": 589.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3714,
"R": 0.5143,
"H": 0.7714,
"BB": 0.6857,
"SO": 1.0,
"HR": 0.0,
"BF": 4.4,
"Pitches": 16.8286
},
"rates": {
"ERA": 3.375,
"WHIP": 1.4712,
"ER_per_IP": 0.375,
"H_per_IP": 0.77885,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.00962,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.395,
"predicted_H": 0.734,
"predicted_BB": 0.359,
"predicted_SO": 0.722,
"predicted_HR": 0.062,
"predicted_ERA": 3.5566,
"predicted_WHIP": 1.0927
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.528,
"form_weight": 0.472,
"form_reliability": 0.5788,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.872,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5788,
"prior_weight": 0.4212
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.395,
"final": 0.1865,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.734,
"final": 0.3465,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.359,
"final": 0.6974,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.722,
"final": 0.8688,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0293,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5566,
"final": 3.5566,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0927,
"final": 1.0927,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | John King |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1316 |
| ESPN Rank | 77 |
| 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 | 1.9459 |
| Season WHIP | 0.7027 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"edges": {
"quality_edge": 0.3744,
"offense_edge": -0.0298,
"opponent_offense_edge": 0.0495,
"defense_strength": 0.0929,
"opponent_defense_weakness": 0.2143,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0158,
"run_prevention": 0.9799,
"strikeout": 1.0073
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "667463",
"profile": {
"available": true,
"pitcher_id": "667463",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 21.2,
"bb_percent": 5.8,
"woba": 0.209,
"xwoba": 0.273,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 35.4,
"avg_best_speed": 79.5806,
"avg_hyper_speed": 93.5209,
"whiff_percent": 23.6,
"swing_percent": 46.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8565,
"command_and_miss": -0.0168,
"regression_edge": -1.8286,
"xwoba_edge": 1.1286,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.4143,
"whiff_edge": -0.2714,
"bb_edge": 0.825,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "667463",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1316,
"sample_weight": 0.45,
"run_prevention_factor": 0.9888,
"strikeout_factor": 0.9916,
"walk_factor": 0.9703,
"homer_factor": 0.9853,
"woba_minus_xwoba": -0.064,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "667463",
"espn_id": 41763,
"player_name": "John King",
"team": "MIA",
"role": "pitcher",
"espn_rank": 77,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 77,
"gp_value": 38.0,
"gp_rank": 23,
"gs_value": 1.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 1.9459,
"era_rank": null,
"w_value": 6.0,
"w_rank": 41,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 3.0,
"hld_rank": 153,
"ip_value": 37.0,
"ip_rank": 225,
"h_value": 18.0,
"h_rank": 406,
"er_value": 8.0,
"er_rank": 439,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 8.0,
"bb_rank": 407,
"k_value": 29.0,
"k_rank": 309,
"k_per_9_value": 7.054054,
"k_per_9_rank": 37,
"whip_value": 0.7027,
"whip_rank": null,
"war_value": 1.26,
"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.9866,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9934,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9962,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 1,
"H": 8,
"BB": 0,
"SO": 9,
"HR": 0,
"ERA": 0.870967741935484,
"WHIP": 0.7741935483870969,
"K9": 7.838709677419356,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "667463",
"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.335,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5946,
"prior_weight": 0.4054
},
"role": "pitcher",
"player_id": "667463",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 65.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 4.2,
"Pitches": 13.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6667,
"ER_per_IP": 0.0,
"H_per_IP": 0.66667,
"BB_per_IP": 0.0,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 1.0,
"R": 1.0,
"H": 8.0,
"BB": 0.0,
"SO": 9.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 122.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.8,
"BB": 0.0,
"SO": 0.9,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.2
},
"rates": {
"ERA": 0.871,
"WHIP": 0.7742,
"ER_per_IP": 0.09677,
"H_per_IP": 0.77419,
"BB_per_IP": 0.0,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.0
}
},
"season": {
"games": 38,
"totals": {
"IP": 37.0,
"ER": 8.0,
"R": 8.0,
"H": 18.0,
"BB": 8.0,
"SO": 29.0,
"HR": 3.0,
"BF": 137.0,
"Pitches": 482.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2105,
"R": 0.2105,
"H": 0.4737,
"BB": 0.2105,
"SO": 0.7632,
"HR": 0.0789,
"BF": 3.6053,
"Pitches": 12.6842
},
"rates": {
"ERA": 1.9459,
"WHIP": 0.7027,
"ER_per_IP": 0.21622,
"H_per_IP": 0.48649,
"BB_per_IP": 0.21622,
"SO_per_IP": 0.78378,
"HR_per_IP": 0.08108
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.27,
"predicted_H": 0.859,
"predicted_BB": 0.186,
"predicted_SO": 0.914,
"predicted_HR": 0.075,
"predicted_ERA": 2.2283,
"predicted_WHIP": 0.9594
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5213,
"form_weight": 0.4787,
"form_reliability": 0.5946,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.335,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5946,
"prior_weight": 0.4054
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.27,
"final": 0.1293,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.859,
"final": 0.9325,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.186,
"final": 0.089,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.914,
"final": 0.9588,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0359,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.2283,
"final": 2.2283,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9594,
"final": 0.9594,
"source": "form_only"
}
}
}{
"available": false,
"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.0549 |
| ESPN Rank | 202 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.2202 |
| Season WHIP | 1.0183 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"edges": {
"quality_edge": 0.3744,
"offense_edge": -0.0298,
"opponent_offense_edge": 0.0495,
"defense_strength": 0.0929,
"opponent_defense_weakness": 0.2143,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0158,
"run_prevention": 0.9799,
"strikeout": 1.0073
},
"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": 30.1,
"bb_percent": 8.9,
"woba": 0.262,
"xwoba": 0.294,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 12.6,
"hard_hit_percent": 47.1,
"avg_best_speed": 81.8784,
"avg_hyper_speed": 95.1373,
"whiff_percent": 30.1,
"swing_percent": 47.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0445,
"command_and_miss": 0.7254,
"regression_edge": -0.9143,
"xwoba_edge": 0.5286,
"barrel_edge": -1.1556,
"hard_hit_edge": -1.2571,
"whiff_edge": 0.6571,
"bb_edge": 0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656848",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0549,
"sample_weight": 0.45,
"run_prevention_factor": 0.9953,
"strikeout_factor": 1.0312,
"walk_factor": 0.9982,
"homer_factor": 1.0571,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656848",
"espn_id": 41824,
"player_name": "Michael Petersen",
"team": "MIA",
"role": "pitcher",
"espn_rank": 202,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 202,
"gp_value": 34.0,
"gp_rank": 68,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.2201,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 13.0,
"hld_rank": 12,
"ip_value": 36.1,
"ip_rank": 229,
"h_value": 24.0,
"h_rank": 329,
"er_value": 13.0,
"er_rank": 292,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 13.0,
"bb_rank": 258,
"k_value": 44.0,
"k_rank": 174,
"k_per_9_value": 10.899083,
"k_per_9_rank": 20,
"whip_value": 1.0183,
"whip_rank": null,
"war_value": 0.5,
"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.9992,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0257,
"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": 11.0,
"ER": 3,
"H": 7,
"BB": 2,
"SO": 15,
"HR": 2,
"ERA": 2.4545454545454546,
"WHIP": 0.8181818181818182,
"K9": 12.272727272727273,
"HR9": 1.6363636363636365,
"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-29T00: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": 7.202,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5902,
"prior_weight": 0.4098
},
"role": "pitcher",
"player_id": "656848",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 34,
"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": 6.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.0,
"SO": 1.2,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.6
},
"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": 1.2,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 2.0,
"SO": 15.0,
"HR": 2.0,
"BF": 43.0,
"Pitches": 181.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.7,
"BB": 0.2,
"SO": 1.5,
"HR": 0.2,
"BF": 4.3,
"Pitches": 18.1
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.8182,
"ER_per_IP": 0.27273,
"H_per_IP": 0.63636,
"BB_per_IP": 0.18182,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.18182
}
},
"season": {
"games": 34,
"totals": {
"IP": 36.1,
"ER": 13.0,
"R": 15.0,
"H": 24.0,
"BB": 13.0,
"SO": 44.0,
"HR": 3.0,
"BF": 146.0,
"Pitches": 591.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3824,
"R": 0.4412,
"H": 0.7059,
"BB": 0.3824,
"SO": 1.2941,
"HR": 0.0882,
"BF": 4.2941,
"Pitches": 17.3824
},
"rates": {
"ERA": 3.2202,
"WHIP": 1.0183,
"ER_per_IP": 0.3578,
"H_per_IP": 0.66055,
"BB_per_IP": 0.3578,
"SO_per_IP": 1.21101,
"HR_per_IP": 0.08257
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.356,
"predicted_H": 0.817,
"predicted_BB": 0.226,
"predicted_SO": 1.134,
"predicted_HR": 0.161,
"predicted_ERA": 3.2005,
"predicted_WHIP": 1.0438
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5231,
"form_weight": 0.4769,
"form_reliability": 0.5902,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.202,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5902,
"prior_weight": 0.4098
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.356,
"final": 0.1698,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.817,
"final": 0.9127,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.226,
"final": 0.1078,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.134,
"final": 0.5408,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.161,
"final": 0.0768,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2005,
"final": 3.2005,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0438,
"final": 1.0438,
"source": "form_only"
}
}
}{
"available": false,
"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.0886 |
| ESPN Rank | 716 |
| 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 | 6.8400 |
| Season WHIP | 1.3600 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"opponent": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"edges": {
"quality_edge": 0.3744,
"offense_edge": -0.0298,
"opponent_offense_edge": 0.0495,
"defense_strength": 0.0929,
"opponent_defense_weakness": 0.2143,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0158,
"run_prevention": 0.9799,
"strikeout": 1.0073
},
"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": 29.7,
"bb_percent": 9.9,
"woba": 0.356,
"xwoba": 0.323,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 43.8,
"avg_best_speed": 82.0023,
"avg_hyper_speed": 95.4733,
"whiff_percent": 29.3,
"swing_percent": 48.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.803,
"command_and_miss": 0.6096,
"regression_edge": 0.9429,
"xwoba_edge": -0.3,
"barrel_edge": -1.5333,
"hard_hit_edge": -0.7857,
"whiff_edge": 0.5429,
"bb_edge": -0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664126",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0886,
"sample_weight": 0.45,
"run_prevention_factor": 1.0075,
"strikeout_factor": 1.0282,
"walk_factor": 1.0072,
"homer_factor": 1.0734,
"woba_minus_xwoba": 0.033,
"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": 716,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 716,
"gp_value": 27.0,
"gp_rank": 145,
"gs_value": 1.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 6.84,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 12.0,
"sv_rank": 13,
"hld_value": 2.0,
"hld_rank": 172,
"ip_value": 25.0,
"ip_rank": 362,
"h_value": 23.0,
"h_rank": 337,
"er_value": 19.0,
"er_rank": 190,
"hr_value": 6.0,
"hr_rank": 161,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 33.0,
"k_rank": 264,
"k_per_9_value": 11.88,
"k_per_9_rank": 19,
"whip_value": 1.36,
"whip_rank": null,
"war_value": -0.86,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0034,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0034,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0032,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.033,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0127,
"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": 7,
"H": 10,
"BB": 4,
"SO": 11,
"HR": 3,
"ERA": 6.517241379310345,
"WHIP": 1.4482758620689655,
"K9": 10.241379310344827,
"HR9": 2.793103448275862,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-29T00: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": 4.956,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4978,
"prior_weight": 0.5022
},
"role": "pitcher",
"player_id": "664126",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 4.0,
"R": 4.0,
"H": 5.0,
"BB": 0.0,
"SO": 4.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.0,
"BB": 0.0,
"SO": 0.8,
"HR": 0.4,
"BF": 4.2,
"Pitches": 15.6
},
"rates": {
"ERA": 7.2,
"WHIP": 1.0,
"ER_per_IP": 0.8,
"H_per_IP": 1.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.4
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 7.0,
"R": 7.0,
"H": 10.0,
"BB": 4.0,
"SO": 11.0,
"HR": 3.0,
"BF": 45.0,
"Pitches": 188.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.0,
"BB": 0.4,
"SO": 1.1,
"HR": 0.3,
"BF": 4.5,
"Pitches": 18.8
},
"rates": {
"ERA": 6.5172,
"WHIP": 1.4483,
"ER_per_IP": 0.72414,
"H_per_IP": 1.03448,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.31034
}
},
"season": {
"games": 27,
"totals": {
"IP": 25.0,
"ER": 19.0,
"R": 21.0,
"H": 23.0,
"BB": 11.0,
"SO": 33.0,
"HR": 6.0,
"BF": 111.0,
"Pitches": 463.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7037,
"R": 0.7778,
"H": 0.8519,
"BB": 0.4074,
"SO": 1.2222,
"HR": 0.2222,
"BF": 4.1111,
"Pitches": 17.1481
},
"rates": {
"ERA": 6.84,
"WHIP": 1.36,
"ER_per_IP": 0.76,
"H_per_IP": 0.92,
"BB_per_IP": 0.44,
"SO_per_IP": 1.32,
"HR_per_IP": 0.24
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.631,
"predicted_H": 0.981,
"predicted_BB": 0.296,
"predicted_SO": 0.988,
"predicted_HR": 0.241,
"predicted_ERA": 5.6785,
"predicted_WHIP": 1.2761
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5622,
"form_weight": 0.4378,
"form_reliability": 0.4978,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.956,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4978,
"prior_weight": 0.5022
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.631,
"final": 0.2763,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.981,
"final": 0.4295,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.296,
"final": 0.1296,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.988,
"final": 0.4326,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.241,
"final": 0.1055,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6785,
"final": 5.6785,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2761,
"final": 1.2761,
"source": "form_only"
}
}
}{
"available": false,
"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.151 | 0.000 | 0.000 | Hitting_2B | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_3B | 0.058 | 0.000 | 0.000 | Hitting_3B | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_AB | 3.880 | 5.000 | 4.000 | Hitting_AB | 3.765 | 1.000 | 1.235 | 4.000 |
| predicted_AVG | 0.276 | 0.200 | 0.250 | Hitting_AVG | 0.317 | 0.000 | -0.117 | 0.200 |
| predicted_BB | 0.488 | 0.000 | 0.000 | Hitting_BB | 0.534 | 0.000 | -0.534 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 1.070 | 1.000 | 1.000 | Hitting_H | 1.194 | 0.000 | -0.194 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_OBP | 0.375 | 0.200 | 0.250 | Hitting_OBP | 0.401 | 0.000 | -0.201 | 0.200 |
| predicted_R | 0.558 | 1.000 | 1.000 | Hitting_R | 0.698 | 0.000 | 0.302 | 1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.354 | 0.000 | -0.354 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_SLG | 0.512 | 0.200 | 0.250 | Hitting_SLG | 0.480 | 0.000 | -0.280 | 0.200 |
| predicted_SO | 0.512 | 3.000 | 0.000 | Hitting_SO | 0.507 | 0.000 | 2.493 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.5120 -> 3.0000 (boost 2.4880, worse) |
| Biggest Deboost | predicted_BB: 0.4880 -> 0.0000 (deboost -0.4880, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_H: 1.0700 -> 1.1739 (boost 0.1039, better) | predicted_AB: 3.8800 -> 3.8265 (deboost -0.0535, worse) | Final model input calibrated with local 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.3075 -> 0.3185 (boost 0.0110, better) | predicted_SLG: 0.4949 -> 0.4475 (deboost -0.0474, 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_AB: 3.8265 -> 4.0000 (boost 0.1735, better) | predicted_SO: 0.4701 -> 0.0000 (deboost -0.4701, better) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.314 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6076 -> 1.0000 (boost 0.3924, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4475 -> 0.2500 (deboost -0.1975, 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: 0.0000 -> 3.0000 (boost 3.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4475 (boost 0.1975, 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.151,
"predicted_3B": 0.058,
"predicted_AB": 3.88,
"predicted_AVG": 0.276,
"predicted_BB": 0.488,
"predicted_H": 1.07,
"predicted_HR": 0.08,
"predicted_OBP": 0.375,
"predicted_R": 0.558,
"predicted_RBI": 0.4,
"predicted_SLG": 0.512,
"predicted_SO": 0.512
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1745,
"predicted_3B": 0.0559,
"predicted_AB": 3.8265,
"predicted_AVG": 0.3075,
"predicted_BB": 0.4448,
"predicted_H": 1.1739,
"predicted_HBP": 0.002,
"predicted_HR": 0.0667,
"predicted_OBP": 0.3901,
"predicted_R": 0.57,
"predicted_RBI": 0.3906,
"predicted_SLG": 0.4949,
"predicted_SO": 0.4748
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.1745,
"delta": 0.0235,
"percent_delta": 0.1556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0559,
"delta": -0.0021,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 3.8265,
"delta": -0.0535,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.3075,
"delta": 0.0315,
"percent_delta": 0.1141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.488,
"after": 0.4448,
"delta": -0.0432,
"percent_delta": -0.0885,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.1739,
"delta": 0.1039,
"percent_delta": 0.0971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0667,
"delta": -0.0133,
"percent_delta": -0.1663,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3901,
"delta": 0.0151,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 0.57,
"delta": 0.012,
"percent_delta": 0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3906,
"delta": -0.0094,
"percent_delta": -0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.512,
"after": 0.4949,
"delta": -0.0171,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.512,
"after": 0.4748,
"delta": -0.0372,
"percent_delta": -0.0727,
"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_H",
"before": 1.07,
"after": 1.1739,
"delta": 0.1039,
"percent_delta": 0.0971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 3.8265,
"delta": -0.0535,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 86
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1745,
"predicted_3B": 0.0559,
"predicted_AB": 3.8265,
"predicted_AVG": 0.3185,
"predicted_BB": 0.4492,
"predicted_H": 1.2186,
"predicted_HBP": 0.002,
"predicted_HR": 0.0691,
"predicted_OBP": 0.3901,
"predicted_R": 0.6076,
"predicted_RBI": 0.4163,
"predicted_SLG": 0.4475,
"predicted_SO": 0.4701
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1745,
"after": 0.1745,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0559,
"after": 0.0559,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8265,
"after": 3.8265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3075,
"after": 0.3185,
"delta": 0.011,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4448,
"after": 0.4492,
"delta": 0.0044,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1739,
"after": 1.2186,
"delta": 0.0447,
"percent_delta": 0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0667,
"after": 0.0691,
"delta": 0.0024,
"percent_delta": 0.036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3901,
"after": 0.3901,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.57,
"after": 0.6076,
"delta": 0.0376,
"percent_delta": 0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3906,
"after": 0.4163,
"delta": 0.0257,
"percent_delta": 0.0658,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4949,
"after": 0.4475,
"delta": -0.0474,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4748,
"after": 0.4701,
"delta": -0.0047,
"percent_delta": -0.0099,
"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.3075,
"after": 0.3185,
"delta": 0.011,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4949,
"after": 0.4475,
"delta": -0.0474,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.88), rates preserved: AVG=0.314 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1745,
"after": 0.0,
"delta": -0.1745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0559,
"after": 0.0,
"delta": -0.0559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.8265,
"after": 4.0,
"delta": 0.1735,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4492,
"after": 0.0,
"delta": -0.4492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2186,
"after": 1.0,
"delta": -0.2186,
"percent_delta": -0.1794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0691,
"after": 0.0,
"delta": -0.0691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4163,
"after": 0.0,
"delta": -0.4163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4701,
"after": 0.0,
"delta": -0.4701,
"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_AB",
"before": 3.8265,
"after": 4.0,
"delta": 0.1735,
"percent_delta": 0.0453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4701,
"after": 0.0,
"delta": -0.4701,
"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": 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.6076,
"after": 1.0,
"delta": 0.3924,
"percent_delta": 0.6458,
"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.6076,
"after": 1.0,
"delta": 0.3924,
"percent_delta": 0.6458,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3185,
"after": 0.25,
"delta": -0.0685,
"percent_delta": -0.2151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3901,
"after": 0.25,
"delta": -0.1401,
"percent_delta": -0.3591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4475,
"after": 0.25,
"delta": -0.1975,
"percent_delta": -0.4413,
"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.4475,
"after": 0.25,
"delta": -0.1975,
"percent_delta": -0.4413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 3.0,
"delta": 3.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": 3.0,
"delta": 3.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": 5.0,
"predicted_AVG": 0.3185,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3901,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4475,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 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.3185,
"delta": 0.0685,
"percent_delta": 0.2739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3901,
"delta": 0.1401,
"percent_delta": 0.5603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4475,
"delta": 0.1975,
"percent_delta": 0.79,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4475,
"delta": 0.1975,
"percent_delta": 0.79,
"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.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 5.0,
"delta": 1.12,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.3185,
"delta": 0.0425,
"percent_delta": 0.154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.488,
"after": 0.0,
"delta": -0.488,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3901,
"delta": 0.0151,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.558,
"after": 1.0,
"delta": 0.442,
"percent_delta": 0.7921,
"direction": "boost",
"projection_effect": "better",
"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.512,
"after": 0.4475,
"delta": -0.0645,
"percent_delta": -0.126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.512,
"after": 3.0,
"delta": 2.488,
"percent_delta": 4.8594,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.512,
"after": 3.0,
"delta": 2.488,
"percent_delta": 4.8594,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.488,
"after": 0.0,
"delta": -0.488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | - |
| predicted_3B | 0.058 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.488 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.375 | - |
| predicted_R | 0.558 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.512 | - |
| predicted_SO | 0.512 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.023 |
| predicted_3B | 0.056 | -0.002 |
| predicted_AB | 3.826 | -0.054 |
| predicted_AVG | 0.307 | 0.031 |
| predicted_BB | 0.445 | -0.043 |
| predicted_H | 1.174 | 0.104 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.067 | -0.013 |
| predicted_OBP | 0.390 | 0.015 |
| predicted_R | 0.570 | 0.012 |
| predicted_RBI | 0.391 | -0.009 |
| predicted_SLG | 0.495 | -0.017 |
| predicted_SO | 0.475 | -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.174 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 3.826 | 0.000 |
| predicted_AVG | 0.319 | 0.011 |
| predicted_BB | 0.449 | 0.004 |
| predicted_H | 1.219 | 0.045 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.069 | 0.002 |
| predicted_OBP | 0.390 | 0.000 |
| predicted_R | 0.608 | 0.038 |
| predicted_RBI | 0.416 | 0.026 |
| predicted_SLG | 0.448 | -0.047 |
| predicted_SO | 0.470 | -0.005 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.314 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 | 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 | 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.174 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 4.000 | 0.174 |
| predicted_AVG | 0.250 | -0.069 |
| predicted_BB | 0.000 | -0.449 |
| predicted_H | 1.000 | -0.219 |
| predicted_HR | 0.000 | -0.069 |
| predicted_OBP | 0.250 | -0.140 |
| predicted_R | 1.000 | 0.392 |
| predicted_RBI | 0.000 | -0.416 |
| predicted_SLG | 0.250 | -0.198 |
| predicted_SO | 0.000 | -0.470 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 3.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 9.000 | 2.000 | 0.000 | 0.000 | 2.000 | 4.000 | 1.000 | 1.000 | 0.4500 | 0.4762 | 0.5500 | 0.4500 | 0.0000 | 0.1000 | 0.0500 | 0.0500 |
| last_10 | 0.20 | 10 | - | 37.000 | 16.000 | 2.000 | 1.000 | 0.000 | 4.000 | 5.000 | 3.000 | 2.000 | 0.4324 | 0.4750 | 0.5405 | 0.4324 | 0.0000 | 0.1081 | 0.0811 | 0.0541 |
| season | 0.60 | 86 | - | 317.000 | 96.000 | 13.000 | 5.000 | 6.000 | 30.000 | 48.000 | 42.000 | 44.000 | 0.3028 | 0.3812 | 0.4322 | 0.3028 | 0.0189 | 0.0946 | 0.1325 | 0.1388 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0530 |
| predicted_AB | 3.7550 |
| predicted_AVG | 0.3497 |
| predicted_BB | 0.3870 |
| predicted_H | 1.3130 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.0490 |
| predicted_OBP | 0.4103 |
| predicted_R | 0.5860 |
| predicted_RBI | 0.3780 |
| predicted_SLG | 0.4721 |
| predicted_SO | 0.4250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.2060 | 0.1745 | model_form_blend |
| predicted_3B | 0.0580 | 0.0530 | 0.0559 | model_form_blend |
| predicted_AB | 3.8800 | 3.7550 | 3.8265 | model_form_blend |
| predicted_AVG | 0.2760 | 0.3497 | 0.3075 | model_form_blend |
| predicted_BB | 0.4880 | 0.3870 | 0.4448 | model_form_blend |
| predicted_H | 1.0700 | 1.3130 | 1.1739 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.0800 | 0.0490 | 0.0667 | model_form_blend |
| predicted_OBP | 0.3750 | 0.4103 | 0.3901 | model_form_blend |
| predicted_R | 0.5580 | 0.5860 | 0.5700 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3780 | 0.3906 | model_form_blend |
| predicted_SLG | 0.5120 | 0.4721 | 0.4949 | model_form_blend |
| predicted_SO | 0.5120 | 0.4250 | 0.4748 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 86 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| 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 | 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 | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260701_MIA@COL |
| game_type | ph |
| mlbID | 669364 |
| note | Lined out for Mack in the 9th. |
| playerID | 669364 |
| playerName | Xavier Edwards |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 12.1 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.356 |
| sl_xwoba | 0.329 |
| sl_xba | 0.271 |
| sl_xslg | 0.392 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 29.2 |
| sl_exit_velocity_avg | 86.9 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 14.7 |
| 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.093 | 0.000 | 0.000 | Hitting_2B | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.910 | 4.000 | 4.000 | Hitting_AB | 3.598 | 4.000 | 0.402 | 0.000 |
| predicted_AVG | 0.257 | 0.250 | 0.250 | Hitting_AVG | 0.284 | 0.500 | -0.034 | -0.250 |
| predicted_BB | 0.387 | 0.000 | 0.000 | Hitting_BB | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 1.000 | 1.000 | Hitting_H | 1.022 | 2.000 | -0.022 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_OBP | 0.341 | 0.200 | 0.250 | Hitting_OBP | 0.360 | 0.500 | -0.160 | -0.300 |
| predicted_R | 0.560 | 1.000 | 1.000 | Hitting_R | 0.585 | 1.000 | 0.415 | 0.000 |
| predicted_RBI | 0.550 | 1.000 | 1.000 | Hitting_RBI | 0.920 | 0.000 | 0.080 | 1.000 |
| predicted_SLG | 0.486 | 0.250 | 0.250 | Hitting_SLG | 0.495 | 0.500 | -0.245 | -0.250 |
| predicted_SO | 0.373 | 0.000 | 0.000 | Hitting_SO | 0.366 | 0.000 | -0.366 | 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.5500 -> 1.0000 (boost 0.4500, better) |
| Biggest Deboost | predicted_BB: 0.3870 -> 0.0000 (deboost -0.3870, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 3 | 2 | predicted_H: 1.0100 -> 1.0697 (boost 0.0597, better) | predicted_SLG: 0.4860 -> 0.4635 (deboost -0.0225, worse) | Final model input calibrated with local 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.2751 -> 0.2862 (boost 0.0111, better) | predicted_SLG: 0.4635 -> 0.4167 (deboost -0.0468, 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.6165 -> 1.0000 (boost 0.3835, better) | predicted_SO: 0.4258 -> 0.0000 (deboost -0.4258, better) | AB rounded to 4 (raw=3.91), rates preserved: AVG=0.284 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6113 -> 1.0000 (boost 0.3887, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4167 -> 0.2500 (deboost -0.1667, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 0 | 0 | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4167 (boost 0.1667, 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.093,
"predicted_3B": 0.013,
"predicted_AB": 3.91,
"predicted_AVG": 0.257,
"predicted_BB": 0.387,
"predicted_H": 1.01,
"predicted_HR": 0.12,
"predicted_OBP": 0.341,
"predicted_R": 0.56,
"predicted_RBI": 0.55,
"predicted_SLG": 0.486,
"predicted_SO": 0.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.0917,
"predicted_3B": 0.0117,
"predicted_AB": 3.8804,
"predicted_AVG": 0.2751,
"predicted_BB": 0.3735,
"predicted_H": 1.0697,
"predicted_HBP": 0.044,
"predicted_HR": 0.1259,
"predicted_OBP": 0.35,
"predicted_R": 0.5735,
"predicted_RBI": 0.5784,
"predicted_SLG": 0.4635,
"predicted_SO": 0.4301
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.0917,
"delta": -0.0013,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0117,
"delta": -0.0013,
"percent_delta": -0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 3.8804,
"delta": -0.0296,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2751,
"delta": 0.0181,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.3735,
"delta": -0.0135,
"percent_delta": -0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0697,
"delta": 0.0597,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1259,
"delta": 0.0059,
"percent_delta": 0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.35,
"delta": 0.009,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.56,
"after": 0.5735,
"delta": 0.0135,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5784,
"delta": 0.0284,
"percent_delta": 0.0516,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4635,
"delta": -0.0225,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.373,
"after": 0.4301,
"delta": 0.0571,
"percent_delta": 0.1531,
"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_H",
"before": 1.01,
"after": 1.0697,
"delta": 0.0597,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4635,
"delta": -0.0225,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 75
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0917,
"predicted_3B": 0.0117,
"predicted_AB": 3.8804,
"predicted_AVG": 0.2862,
"predicted_BB": 0.3772,
"predicted_H": 1.1105,
"predicted_HBP": 0.044,
"predicted_HR": 0.1305,
"predicted_OBP": 0.3494,
"predicted_R": 0.6113,
"predicted_RBI": 0.6165,
"predicted_SLG": 0.4167,
"predicted_SO": 0.4258
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0917,
"after": 0.0917,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0117,
"after": 0.0117,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8804,
"after": 3.8804,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2751,
"after": 0.2862,
"delta": 0.0111,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3735,
"after": 0.3772,
"delta": 0.0037,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0697,
"after": 1.1105,
"delta": 0.0408,
"percent_delta": 0.0381,
"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.1259,
"after": 0.1305,
"delta": 0.0046,
"percent_delta": 0.0365,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3494,
"delta": -0.0006,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5735,
"after": 0.6113,
"delta": 0.0378,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5784,
"after": 0.6165,
"delta": 0.0381,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4635,
"after": 0.4167,
"delta": -0.0468,
"percent_delta": -0.101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4301,
"after": 0.4258,
"delta": -0.0043,
"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_AVG",
"before": 0.2751,
"after": 0.2862,
"delta": 0.0111,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4635,
"after": 0.4167,
"delta": -0.0468,
"percent_delta": -0.101,
"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.284 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0917,
"after": 0.0,
"delta": -0.0917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0117,
"after": 0.0,
"delta": -0.0117,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8804,
"after": 4.0,
"delta": 0.1196,
"percent_delta": 0.0308,
"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.1105,
"after": 1.0,
"delta": -0.1105,
"percent_delta": -0.0995,
"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.1305,
"after": 0.0,
"delta": -0.1305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6165,
"after": 1.0,
"delta": 0.3835,
"percent_delta": 0.6221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4258,
"after": 0.0,
"delta": -0.4258,
"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_RBI",
"before": 0.6165,
"after": 1.0,
"delta": 0.3835,
"percent_delta": 0.6221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4258,
"after": 0.0,
"delta": -0.4258,
"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": 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.6113,
"after": 1.0,
"delta": 0.3887,
"percent_delta": 0.6359,
"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.6113,
"after": 1.0,
"delta": 0.3887,
"percent_delta": 0.6359,
"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.2862,
"after": 0.25,
"delta": -0.0362,
"percent_delta": -0.1265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3494,
"after": 0.25,
"delta": -0.0994,
"percent_delta": -0.2845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4167,
"after": 0.25,
"delta": -0.1667,
"percent_delta": -0.4,
"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.4167,
"after": 0.25,
"delta": -0.1667,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 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": 0,
"worse_metrics": 0,
"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": 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.2862,
"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.3494,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4167,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2862,
"delta": 0.0362,
"percent_delta": 0.1447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3494,
"delta": 0.0994,
"percent_delta": 0.3977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4167,
"delta": 0.1667,
"percent_delta": 0.6669,
"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.4167,
"delta": 0.1667,
"percent_delta": 0.6669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 4.0,
"delta": 0.09,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2862,
"delta": 0.0292,
"percent_delta": 0.1136,
"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": 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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3494,
"delta": 0.0084,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4167,
"delta": -0.0693,
"percent_delta": -0.1426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.373,
"after": 0.0,
"delta": -0.373,
"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.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.910 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.387 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.560 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.486 | - |
| predicted_SO | 0.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.092 | -0.001 |
| predicted_3B | 0.012 | -0.001 |
| predicted_AB | 3.880 | -0.030 |
| predicted_AVG | 0.275 | 0.018 |
| predicted_BB | 0.373 | -0.014 |
| predicted_H | 1.070 | 0.060 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.126 | 0.006 |
| predicted_OBP | 0.350 | 0.009 |
| predicted_R | 0.574 | 0.013 |
| predicted_RBI | 0.578 | 0.028 |
| predicted_SLG | 0.464 | -0.022 |
| predicted_SO | 0.430 | 0.057 |
Step 3: 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.012 | 0.000 |
| predicted_AB | 3.880 | 0.000 |
| predicted_AVG | 0.286 | 0.011 |
| predicted_BB | 0.377 | 0.004 |
| predicted_H | 1.111 | 0.041 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.131 | 0.005 |
| predicted_OBP | 0.349 | -0.001 |
| predicted_R | 0.611 | 0.038 |
| predicted_RBI | 0.617 | 0.038 |
| predicted_SLG | 0.417 | -0.047 |
| predicted_SO | 0.426 | -0.004 |
AB rounded to 4 (raw=3.91), rates preserved: AVG=0.284 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 | 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.092 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.120 |
| predicted_AVG | 0.250 | -0.036 |
| predicted_BB | 0.000 | -0.377 |
| predicted_H | 1.000 | -0.111 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.250 | -0.099 |
| predicted_R | 1.000 | 0.389 |
| predicted_RBI | 1.000 | 0.383 |
| predicted_SLG | 0.250 | -0.167 |
| predicted_SO | 0.000 | -0.426 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.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 | - | 23.000 | 7.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.3043 | 0.3333 | 0.3043 | 0.3044 | 0.0000 | 0.0870 | 0.0435 | 0.1739 |
| last_10 | 0.20 | 10 | - | 43.000 | 16.000 | 1.000 | 0.000 | 1.000 | 5.000 | 7.000 | 4.000 | 5.000 | 0.3721 | 0.4255 | 0.4651 | 0.3721 | 0.0233 | 0.1163 | 0.0930 | 0.1163 |
| season | 0.60 | 75 | - | 258.000 | 73.000 | 7.000 | 1.000 | 13.000 | 53.000 | 42.000 | 29.000 | 28.000 | 0.2829 | 0.3603 | 0.4690 | 0.2829 | 0.0504 | 0.2054 | 0.1124 | 0.1085 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0900 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8400 |
| predicted_AVG | 0.2998 |
| predicted_BB | 0.3550 |
| predicted_H | 1.1510 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.1340 |
| predicted_OBP | 0.3622 |
| predicted_R | 0.5920 |
| predicted_RBI | 0.6170 |
| predicted_SLG | 0.4328 |
| predicted_SO | 0.5080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.0900 | 0.0917 | model_form_blend |
| predicted_3B | 0.0130 | 0.0100 | 0.0117 | model_form_blend |
| predicted_AB | 3.9100 | 3.8400 | 3.8804 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2998 | 0.2751 | model_form_blend |
| predicted_BB | 0.3870 | 0.3550 | 0.3735 | model_form_blend |
| predicted_H | 1.0100 | 1.1510 | 1.0697 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.1200 | 0.1340 | 0.1259 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3622 | 0.3500 | model_form_blend |
| predicted_R | 0.5600 | 0.5920 | 0.5735 | model_form_blend |
| predicted_RBI | 0.5500 | 0.6170 | 0.5784 | model_form_blend |
| predicted_SLG | 0.4860 | 0.4328 | 0.4635 | model_form_blend |
| predicted_SO | 0.3730 | 0.5080 | 0.4301 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 75 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| 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 | 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 | 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 | 20260701_MIA@COL |
| game_type | full |
| mlbID | 689414 |
| playerID | 689414 |
| playerName | Liam Hicks |
| pos | C |
| started | True |
| startingPosition | 1B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 9.4 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.36 |
| sl_xwoba | 0.312 |
| sl_xba | 0.247 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 30.1 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 11.1 |
| sl_swing_percent | 41.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.167 | 1.000 | 0.000 | Hitting_2B | 0.114 | 0.000 | 0.886 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.778 | 5.000 | 3.000 | Hitting_AB | 2.800 | 1.000 | 2.200 | 4.000 |
| predicted_AVG | 0.274 | 0.200 | 0.333 | Hitting_AVG | 0.306 | 0.000 | -0.106 | 0.200 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.290 | 1.000 | 1.000 | Hitting_H | 0.857 | 0.000 | 0.143 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_OBP | 0.312 | 0.200 | 0.333 | Hitting_OBP | 0.364 | 0.000 | -0.164 | 0.200 |
| predicted_R | 0.444 | 1.000 | 0.000 | Hitting_R | 0.629 | 0.000 | 0.371 | 1.000 |
| predicted_RBI | 0.240 | 1.000 | 0.000 | Hitting_RBI | 0.629 | 0.000 | 0.371 | 1.000 |
| predicted_SLG | 0.537 | 0.400 | 0.333 | Hitting_SLG | 0.622 | 0.000 | -0.222 | 0.400 |
| predicted_SO | 0.833 | 1.000 | 1.000 | Hitting_SO | 0.800 | 0.000 | 0.200 | 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.7780 -> 5.0000 (boost 2.2220, better) |
| Biggest Deboost | predicted_BB: 0.3330 -> 0.0000 (deboost -0.3330, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.2900 -> 0.5047 (boost 0.2147, better) | predicted_SLG: 0.5370 -> 0.5224 (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 | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5224 -> 0.3399 (deboost -0.1825, 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.5239 -> 1.0000 (boost 0.4761, better) | predicted_RBI: 0.3960 -> 0.0000 (deboost -0.3960, worse) | AB rounded to 3 (raw=2.91), rates preserved: AVG=0.180 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4843 -> 0.0000 (deboost -0.4843, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1799 -> 0.3330 (boost 0.1531, better) | predicted_SLG: 0.3399 -> 0.3330 (deboost -0.0069, 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 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3399 (boost 0.0069, better) | predicted_AVG: 0.3330 -> 0.1799 (deboost -0.1531, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665052",
"player_name": "Griffin Conine",
"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.167,
"predicted_3B": 0.0,
"predicted_AB": 2.778,
"predicted_AVG": 0.274,
"predicted_BB": 0.333,
"predicted_H": 0.29,
"predicted_HR": 0.06,
"predicted_OBP": 0.312,
"predicted_R": 0.444,
"predicted_RBI": 0.24,
"predicted_SLG": 0.537,
"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.1729,
"predicted_3B": 0.0014,
"predicted_AB": 2.913,
"predicted_AVG": 0.2783,
"predicted_BB": 0.3354,
"predicted_H": 0.5047,
"predicted_HBP": 0.009,
"predicted_HR": 0.0934,
"predicted_OBP": 0.3278,
"predicted_R": 0.4544,
"predicted_RBI": 0.3715,
"predicted_SLG": 0.5224,
"predicted_SO": 0.8219
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1729,
"delta": 0.0059,
"percent_delta": 0.0353,
"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.778,
"after": 2.913,
"delta": 0.135,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2783,
"delta": 0.0043,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3354,
"delta": 0.0024,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.29,
"after": 0.5047,
"delta": 0.2147,
"percent_delta": 0.7403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0934,
"delta": 0.0334,
"percent_delta": 0.5567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3278,
"delta": 0.0158,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.4544,
"delta": 0.0104,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.3715,
"delta": 0.1315,
"percent_delta": 0.5479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.537,
"after": 0.5224,
"delta": -0.0146,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8219,
"delta": -0.0111,
"percent_delta": -0.0133,
"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.29,
"after": 0.5047,
"delta": 0.2147,
"percent_delta": 0.7403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.537,
"after": 0.5224,
"delta": -0.0146,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1729,
"predicted_3B": 0.0014,
"predicted_AB": 2.913,
"predicted_AVG": 0.1799,
"predicted_BB": 0.3388,
"predicted_H": 0.5239,
"predicted_HBP": 0.009,
"predicted_HR": 0.0968,
"predicted_OBP": 0.2653,
"predicted_R": 0.4843,
"predicted_RBI": 0.396,
"predicted_SLG": 0.3399,
"predicted_SO": 0.8137
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1729,
"after": 0.1729,
"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.913,
"after": 2.913,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2783,
"after": 0.1799,
"delta": -0.0984,
"percent_delta": -0.3536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3354,
"after": 0.3388,
"delta": 0.0034,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5047,
"after": 0.5239,
"delta": 0.0192,
"percent_delta": 0.038,
"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.0934,
"after": 0.0968,
"delta": 0.0034,
"percent_delta": 0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3278,
"after": 0.2653,
"delta": -0.0625,
"percent_delta": -0.1907,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4544,
"after": 0.4843,
"delta": 0.0299,
"percent_delta": 0.0658,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3715,
"after": 0.396,
"delta": 0.0245,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5224,
"after": 0.3399,
"delta": -0.1825,
"percent_delta": -0.3493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8219,
"after": 0.8137,
"delta": -0.0082,
"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_SLG",
"before": 0.5224,
"after": 0.3399,
"delta": -0.1825,
"percent_delta": -0.3493,
"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.180 HR/AB=0.033",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1729,
"after": 0.0,
"delta": -0.1729,
"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.913,
"after": 3.0,
"delta": 0.087,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3388,
"after": 0.0,
"delta": -0.3388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5239,
"after": 1.0,
"delta": 0.4761,
"percent_delta": 0.9088,
"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.0968,
"after": 0.0,
"delta": -0.0968,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8137,
"after": 1.0,
"delta": 0.1863,
"percent_delta": 0.229,
"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.5239,
"after": 1.0,
"delta": 0.4761,
"percent_delta": 0.9088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4843,
"after": 0.0,
"delta": -0.4843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4843,
"after": 0.0,
"delta": -0.4843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.1799,
"after": 0.333,
"delta": 0.1531,
"percent_delta": 0.851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2653,
"after": 0.333,
"delta": 0.0677,
"percent_delta": 0.2552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3399,
"after": 0.333,
"delta": -0.0069,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1799,
"after": 0.333,
"delta": 0.1531,
"percent_delta": 0.851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3399,
"after": 0.333,
"delta": -0.0069,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.1799,
"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.2653,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3399,
"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.333,
"after": 0.1799,
"delta": -0.1531,
"percent_delta": -0.4599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2653,
"delta": -0.0677,
"percent_delta": -0.2033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3399,
"delta": 0.0069,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3399,
"delta": 0.0069,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1799,
"delta": -0.1531,
"percent_delta": -0.4599,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.833,
"percent_delta": 4.988,
"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.778,
"after": 5.0,
"delta": 2.222,
"percent_delta": 0.7999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.1799,
"delta": -0.0941,
"percent_delta": -0.3434,
"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.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"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.312,
"after": 0.2653,
"delta": -0.0467,
"percent_delta": -0.1497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.537,
"after": 0.3399,
"delta": -0.1971,
"percent_delta": -0.367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.778,
"after": 5.0,
"delta": 2.222,
"percent_delta": 0.7999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.778 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.290 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.444 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.537 | - |
| 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.173 | 0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.913 | 0.135 |
| predicted_AVG | 0.278 | 0.004 |
| predicted_BB | 0.335 | 0.002 |
| predicted_H | 0.505 | 0.215 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.093 | 0.033 |
| predicted_OBP | 0.328 | 0.016 |
| predicted_R | 0.454 | 0.010 |
| predicted_RBI | 0.371 | 0.132 |
| predicted_SLG | 0.522 | -0.015 |
| predicted_SO | 0.822 | -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.173 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.913 | 0.000 |
| predicted_AVG | 0.180 | -0.098 |
| predicted_BB | 0.339 | 0.003 |
| predicted_H | 0.524 | 0.019 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.097 | 0.003 |
| predicted_OBP | 0.265 | -0.062 |
| predicted_R | 0.484 | 0.030 |
| predicted_RBI | 0.396 | 0.025 |
| predicted_SLG | 0.340 | -0.182 |
| predicted_SO | 0.814 | -0.008 |
AB rounded to 3 (raw=2.91), rates preserved: AVG=0.180 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.173 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.087 |
| predicted_AVG | 0.333 | 0.153 |
| predicted_BB | 0.000 | -0.339 |
| predicted_H | 1.000 | 0.476 |
| predicted_HR | 0.000 | -0.097 |
| predicted_OBP | 0.333 | 0.068 |
| predicted_R | 0.000 | -0.484 |
| predicted_RBI | 0.000 | -0.396 |
| predicted_SLG | 0.333 | -0.007 |
| predicted_SO | 1.000 | 0.186 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 6.000 | 1.000 | 0.000 | 1.000 | 5.000 | 3.000 | 2.000 | 2.000 | 0.4286 | 0.5000 | 0.7143 | 0.4286 | 0.0714 | 0.3571 | 0.1429 | 0.1429 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 2.000 | 0.000 | 1.000 | 6.000 | 3.000 | 4.000 | 9.000 | 0.2667 | 0.3529 | 0.4333 | 0.2667 | 0.0333 | 0.2000 | 0.1333 | 0.3000 |
| season | 0.60 | 18 | - | 50.000 | 14.000 | 3.000 | 0.000 | 3.000 | 10.000 | 8.000 | 6.000 | 15.000 | 0.2800 | 0.3571 | 0.5200 | 0.2800 | 0.0600 | 0.2000 | 0.1200 | 0.3000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1840 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.1660 |
| predicted_AVG | 0.2864 |
| predicted_BB | 0.3400 |
| predicted_H | 0.9070 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1560 |
| predicted_OBP | 0.3573 |
| predicted_R | 0.4740 |
| predicted_RBI | 0.6180 |
| predicted_SLG | 0.4951 |
| predicted_SO | 0.8010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1840 | 0.1729 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.7780 | 3.1660 | 2.9130 | model_form_blend |
| predicted_AVG | 0.2740 | 0.2864 | 0.2783 | model_form_blend |
| predicted_BB | 0.3330 | 0.3400 | 0.3354 | model_form_blend |
| predicted_H | 0.2900 | 0.9070 | 0.5047 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0600 | 0.1560 | 0.0934 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3573 | 0.3278 | model_form_blend |
| predicted_R | 0.4440 | 0.4740 | 0.4544 | model_form_blend |
| predicted_RBI | 0.2400 | 0.6180 | 0.3715 | model_form_blend |
| predicted_SLG | 0.5370 | 0.4951 | 0.5224 | model_form_blend |
| predicted_SO | 0.8330 | 0.8010 | 0.8219 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.28 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 4 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-LF |
| gameID | 20260701_MIA@COL |
| game_type | ph |
| mlbID | 665052 |
| note | Grounded out for Hernández, H in the 8th. |
| playerID | 665052 |
| playerName | Griffin Conine |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.386 |
| sl_xwoba | 0.416 |
| sl_xba | 0.317 |
| sl_xslg | 0.567 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 54.3 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | -1.4 |
| sl_whiff_percent | 39.8 |
| sl_swing_percent | 48.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.254 | 0.000 | 0.000 | Hitting_2B | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_3B | 0.048 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.990 | 4.000 | 4.000 | Hitting_AB | 3.774 | 4.000 | 0.226 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.215 | 0.000 | -0.215 | 0.000 |
| predicted_BB | 0.397 | 1.000 | 0.000 | Hitting_BB | 0.435 | 0.000 | 0.565 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 0.810 | 0.000 | -0.810 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.323 | 0.200 | 0.250 | Hitting_OBP | 0.307 | 0.000 | -0.107 | 0.200 |
| predicted_R | 0.476 | 1.000 | 1.000 | Hitting_R | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.387 | 0.000 | -0.387 | 0.000 |
| predicted_SLG | 0.515 | 0.000 | 0.250 | Hitting_SLG | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_SO | 1.349 | 4.000 | 1.000 | Hitting_SO | 1.280 | 3.000 | 2.720 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 1.3490 -> 4.0000 (boost 2.6510, worse) |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_R: 0.4760 -> 0.5315 (boost 0.0555, better) | predicted_AB: 3.9900 -> 3.9135 (deboost -0.0765, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2448 -> 0.2540 (boost 0.0092, better) | predicted_SLG: 0.4932 -> 0.4476 (deboost -0.0456, 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.6242 -> 1.0000 (boost 0.3758, better) | predicted_BB: 0.3886 -> 0.0000 (deboost -0.3886, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.249 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5665 -> 1.0000 (boost 0.4335, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4476 -> 0.2500 (deboost -0.1976, 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_SO: 1.0000 -> 4.0000 (boost 3.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4476 (boost 0.1976, better) | - | 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.254,
"predicted_3B": 0.048,
"predicted_AB": 3.99,
"predicted_AVG": 0.238,
"predicted_BB": 0.397,
"predicted_H": 0.95,
"predicted_HR": 0.12,
"predicted_OBP": 0.323,
"predicted_R": 0.476,
"predicted_RBI": 0.57,
"predicted_SLG": 0.515,
"predicted_SO": 1.349
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2721,
"predicted_3B": 0.0686,
"predicted_AB": 3.9135,
"predicted_AVG": 0.2448,
"predicted_BB": 0.3848,
"predicted_H": 0.9576,
"predicted_HBP": 0.108,
"predicted_HR": 0.112,
"predicted_OBP": 0.3286,
"predicted_R": 0.5315,
"predicted_RBI": 0.5856,
"predicted_SLG": 0.4932,
"predicted_SO": 1.3721
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.254,
"after": 0.2721,
"delta": 0.0181,
"percent_delta": 0.0713,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.048,
"after": 0.0686,
"delta": 0.0206,
"percent_delta": 0.4292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 3.9135,
"delta": -0.0765,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2448,
"delta": 0.0068,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.3848,
"delta": -0.0122,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9576,
"delta": 0.0076,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.112,
"delta": -0.008,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3286,
"delta": 0.0056,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.476,
"after": 0.5315,
"delta": 0.0555,
"percent_delta": 0.1166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5856,
"delta": 0.0156,
"percent_delta": 0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.515,
"after": 0.4932,
"delta": -0.0218,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.349,
"after": 1.3721,
"delta": 0.0231,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.476,
"after": 0.5315,
"delta": 0.0555,
"percent_delta": 0.1166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.9135,
"delta": -0.0765,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.2721,
"predicted_3B": 0.0686,
"predicted_AB": 3.9135,
"predicted_AVG": 0.254,
"predicted_BB": 0.3886,
"predicted_H": 0.9941,
"predicted_HBP": 0.108,
"predicted_HR": 0.1161,
"predicted_OBP": 0.3214,
"predicted_R": 0.5665,
"predicted_RBI": 0.6242,
"predicted_SLG": 0.4476,
"predicted_SO": 1.3584
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2721,
"after": 0.2721,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0686,
"after": 0.0686,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9135,
"after": 3.9135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2448,
"after": 0.254,
"delta": 0.0092,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3848,
"after": 0.3886,
"delta": 0.0038,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9576,
"after": 0.9941,
"delta": 0.0365,
"percent_delta": 0.0381,
"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.112,
"after": 0.1161,
"delta": 0.0041,
"percent_delta": 0.0366,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3286,
"after": 0.3214,
"delta": -0.0072,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5315,
"after": 0.5665,
"delta": 0.035,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5856,
"after": 0.6242,
"delta": 0.0386,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4932,
"after": 0.4476,
"delta": -0.0456,
"percent_delta": -0.0925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3721,
"after": 1.3584,
"delta": -0.0137,
"percent_delta": -0.01,
"direction": "no_change",
"projection_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.2448,
"after": 0.254,
"delta": 0.0092,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4932,
"after": 0.4476,
"delta": -0.0456,
"percent_delta": -0.0925,
"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.249 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.2721,
"after": 0.0,
"delta": -0.2721,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0686,
"after": 0.0,
"delta": -0.0686,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.9135,
"after": 4.0,
"delta": 0.0865,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3886,
"after": 0.0,
"delta": -0.3886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9941,
"after": 1.0,
"delta": 0.0059,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1161,
"after": 0.0,
"delta": -0.1161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6242,
"after": 1.0,
"delta": 0.3758,
"percent_delta": 0.6021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3584,
"after": 1.0,
"delta": -0.3584,
"percent_delta": -0.2638,
"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.6242,
"after": 1.0,
"delta": 0.3758,
"percent_delta": 0.6021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3886,
"after": 0.0,
"delta": -0.3886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.5665,
"after": 1.0,
"delta": 0.4335,
"percent_delta": 0.7652,
"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.5665,
"after": 1.0,
"delta": 0.4335,
"percent_delta": 0.7652,
"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.254,
"after": 0.25,
"delta": -0.004,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3214,
"after": 0.25,
"delta": -0.0714,
"percent_delta": -0.2222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4476,
"after": 0.25,
"delta": -0.1976,
"percent_delta": -0.4415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4476,
"after": 0.25,
"delta": -0.1976,
"percent_delta": -0.4415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.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.254,
"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.3214,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4476,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.254,
"delta": 0.004,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3214,
"delta": 0.0714,
"percent_delta": 0.2856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4476,
"delta": 0.1976,
"percent_delta": 0.7904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4476,
"delta": 0.1976,
"percent_delta": 0.7904,
"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.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 4.0,
"delta": 0.01,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.254,
"delta": 0.016,
"percent_delta": 0.0672,
"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": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3214,
"delta": -0.0016,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.515,
"after": 0.4476,
"delta": -0.0674,
"percent_delta": -0.1309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.349,
"after": 4.0,
"delta": 2.651,
"percent_delta": 1.9652,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.349,
"after": 4.0,
"delta": 2.651,
"percent_delta": 1.9652,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.254 | - |
| predicted_3B | 0.048 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.397 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.476 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.515 | - |
| predicted_SO | 1.349 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.272 | 0.018 |
| predicted_3B | 0.069 | 0.021 |
| predicted_AB | 3.913 | -0.077 |
| predicted_AVG | 0.245 | 0.007 |
| predicted_BB | 0.385 | -0.012 |
| predicted_H | 0.958 | 0.008 |
| predicted_HBP | 0.108 | - |
| predicted_HR | 0.112 | -0.008 |
| predicted_OBP | 0.329 | 0.006 |
| predicted_R | 0.531 | 0.055 |
| predicted_RBI | 0.586 | 0.016 |
| predicted_SLG | 0.493 | -0.022 |
| predicted_SO | 1.372 | 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.272 | 0.000 |
| predicted_3B | 0.069 | 0.000 |
| predicted_AB | 3.913 | 0.000 |
| predicted_AVG | 0.254 | 0.009 |
| predicted_BB | 0.389 | 0.004 |
| predicted_H | 0.994 | 0.036 |
| predicted_HBP | 0.108 | 0.000 |
| predicted_HR | 0.116 | 0.004 |
| predicted_OBP | 0.321 | -0.007 |
| predicted_R | 0.567 | 0.035 |
| predicted_RBI | 0.624 | 0.039 |
| predicted_SLG | 0.448 | -0.046 |
| predicted_SO | 1.358 | -0.014 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.249 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 | 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.272 |
| predicted_3B | 0.000 | -0.069 |
| predicted_AB | 4.000 | 0.087 |
| predicted_AVG | 0.250 | -0.004 |
| predicted_BB | 0.000 | -0.389 |
| predicted_H | 1.000 | 0.006 |
| predicted_HR | 0.000 | -0.116 |
| predicted_OBP | 0.250 | -0.071 |
| predicted_R | 1.000 | 0.433 |
| predicted_RBI | 1.000 | 0.376 |
| predicted_SLG | 0.250 | -0.198 |
| predicted_SO | 1.000 | -0.358 |
Attached 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 | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 4.000 | 3.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 2.000 | 1.000 | 0.000 | 4.000 | 5.000 | 2.000 | 8.000 | 0.3000 | 0.3913 | 0.5000 | 0.3000 | 0.0000 | 0.2000 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 4.000 | 2.000 | 1.000 | 7.000 | 7.000 | 3.000 | 17.000 | 0.2821 | 0.3488 | 0.5641 | 0.2821 | 0.0256 | 0.1795 | 0.0769 | 0.4359 |
| season | 0.60 | 63 | - | 234.000 | 54.000 | 16.000 | 3.000 | 8.000 | 34.000 | 30.000 | 25.000 | 85.000 | 0.2308 | 0.3195 | 0.4274 | 0.2308 | 0.0342 | 0.1453 | 0.1068 | 0.3633 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2970 |
| predicted_3B | 0.0970 |
| predicted_AB | 3.8080 |
| predicted_AVG | 0.2542 |
| predicted_BB | 0.3680 |
| predicted_H | 0.9680 |
| predicted_HBP | 0.1080 |
| predicted_HR | 0.1010 |
| predicted_OBP | 0.3363 |
| predicted_R | 0.6080 |
| predicted_RBI | 0.6070 |
| predicted_SLG | 0.4631 |
| predicted_SO | 1.4040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2540 | 0.2970 | 0.2721 | model_form_blend |
| predicted_3B | 0.0480 | 0.0970 | 0.0686 | model_form_blend |
| predicted_AB | 3.9900 | 3.8080 | 3.9135 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2542 | 0.2448 | model_form_blend |
| predicted_BB | 0.3970 | 0.3680 | 0.3848 | model_form_blend |
| predicted_H | 0.9500 | 0.9680 | 0.9576 | model_form_blend |
| predicted_HBP | - | 0.1080 | 0.1080 | form_only |
| predicted_HR | 0.1200 | 0.1010 | 0.1120 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3363 | 0.3286 | model_form_blend |
| predicted_R | 0.4760 | 0.6080 | 0.5315 | model_form_blend |
| predicted_RBI | 0.5700 | 0.6070 | 0.5856 | model_form_blend |
| predicted_SLG | 0.5150 | 0.4631 | 0.4932 | model_form_blend |
| predicted_SO | 1.3490 | 1.4040 | 1.3721 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 168 |
| Season rows before report date | 168 |
| 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 4 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.231 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260701_MIA@COL |
| game_type | full |
| mlbID | 669065 |
| playerID | 669065 |
| playerName | Kyle Stowers |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 31.8 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.326 |
| sl_xwoba | 0.329 |
| sl_xba | 0.237 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 53.0 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 36.1 |
| 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.259 | 0.000 | 0.000 | Hitting_2B | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_3B | 0.047 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 4.360 | 5.000 | 4.000 | Hitting_AB | 4.031 | 4.000 | 0.969 | 1.000 |
| predicted_AVG | 0.256 | 0.200 | 0.250 | Hitting_AVG | 0.345 | 0.250 | -0.145 | -0.050 |
| predicted_BB | 0.188 | 0.000 | 0.000 | Hitting_BB | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_H | 1.110 | 1.000 | 1.000 | Hitting_H | 1.391 | 1.000 | -0.391 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.084 | 0.000 | -0.084 | 0.000 |
| predicted_OBP | 0.319 | 0.200 | 0.250 | Hitting_OBP | 0.376 | 0.250 | -0.176 | -0.050 |
| predicted_R | 0.624 | 1.000 | 1.000 | Hitting_R | 0.617 | 0.000 | 0.383 | 1.000 |
| predicted_RBI | 0.460 | 1.000 | 0.000 | Hitting_RBI | 0.460 | 0.000 | 0.540 | 1.000 |
| predicted_SLG | 0.535 | 0.200 | 0.250 | Hitting_SLG | 0.494 | 0.250 | -0.294 | -0.050 |
| predicted_SO | 0.588 | 0.000 | 1.000 | Hitting_SO | 0.651 | 0.000 | -0.651 | 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_AB: 4.3600 -> 5.0000 (boost 0.6400, 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 | 5 | 3 | 2 | 3 | 2 | predicted_H: 1.1100 -> 1.1622 (boost 0.0522, better) | predicted_AB: 4.3600 -> 4.2309 (deboost -0.1291, worse) | Final model input calibrated with local form: 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.2764 -> 0.2852 (boost 0.0088, better) | predicted_SLG: 0.5199 -> 0.4735 (deboost -0.0464, 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.5559 -> 1.0000 (boost 0.4441, worse) | predicted_RBI: 0.4839 -> 0.0000 (deboost -0.4839, worse) | AB rounded to 4 (raw=4.36), rates preserved: AVG=0.277 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6583 -> 1.0000 (boost 0.3417, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4735 -> 0.2500 (deboost -0.2235, 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: 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4735 (boost 0.2235, 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.259,
"predicted_3B": 0.047,
"predicted_AB": 4.36,
"predicted_AVG": 0.256,
"predicted_BB": 0.188,
"predicted_H": 1.11,
"predicted_HR": 0.14,
"predicted_OBP": 0.319,
"predicted_R": 0.624,
"predicted_RBI": 0.46,
"predicted_SLG": 0.535,
"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.2552,
"predicted_3B": 0.0611,
"predicted_AB": 4.2309,
"predicted_AVG": 0.2764,
"predicted_BB": 0.1782,
"predicted_H": 1.1622,
"predicted_HBP": 0.029,
"predicted_HR": 0.1349,
"predicted_OBP": 0.3245,
"predicted_R": 0.6176,
"predicted_RBI": 0.454,
"predicted_SLG": 0.5199,
"predicted_SO": 0.5615
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.259,
"after": 0.2552,
"delta": -0.0038,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0611,
"delta": 0.0141,
"percent_delta": 0.3,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.36,
"after": 4.2309,
"delta": -0.1291,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2764,
"delta": 0.0204,
"percent_delta": 0.0797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 0.1782,
"delta": -0.0098,
"percent_delta": -0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.1622,
"delta": 0.0522,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1349,
"delta": -0.0051,
"percent_delta": -0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3245,
"delta": 0.0055,
"percent_delta": 0.0172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.624,
"after": 0.6176,
"delta": -0.0064,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.454,
"delta": -0.006,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.535,
"after": 0.5199,
"delta": -0.0151,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 0.5615,
"delta": -0.0265,
"percent_delta": -0.0451,
"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_H",
"before": 1.11,
"after": 1.1622,
"delta": 0.0522,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.36,
"after": 4.2309,
"delta": -0.1291,
"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": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2552,
"predicted_3B": 0.0611,
"predicted_AB": 4.2309,
"predicted_AVG": 0.2852,
"predicted_BB": 0.18,
"predicted_H": 1.2065,
"predicted_HBP": 0.029,
"predicted_HR": 0.1398,
"predicted_OBP": 0.3143,
"predicted_R": 0.6583,
"predicted_RBI": 0.4839,
"predicted_SLG": 0.4735,
"predicted_SO": 0.5559
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2552,
"after": 0.2552,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0611,
"after": 0.0611,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2309,
"after": 4.2309,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2764,
"after": 0.2852,
"delta": 0.0088,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1782,
"after": 0.18,
"delta": 0.0018,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1622,
"after": 1.2065,
"delta": 0.0443,
"percent_delta": 0.0381,
"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.1349,
"after": 0.1398,
"delta": 0.0049,
"percent_delta": 0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3245,
"after": 0.3143,
"delta": -0.0102,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6176,
"after": 0.6583,
"delta": 0.0407,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.454,
"after": 0.4839,
"delta": 0.0299,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5199,
"after": 0.4735,
"delta": -0.0464,
"percent_delta": -0.0892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5615,
"after": 0.5559,
"delta": -0.0056,
"percent_delta": -0.01,
"direction": "no_change",
"projection_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.2764,
"after": 0.2852,
"delta": 0.0088,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5199,
"after": 0.4735,
"delta": -0.0464,
"percent_delta": -0.0892,
"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.277 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.2552,
"after": 0.0,
"delta": -0.2552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0611,
"after": 0.0,
"delta": -0.0611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2309,
"after": 4.0,
"delta": -0.2309,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2065,
"after": 1.0,
"delta": -0.2065,
"percent_delta": -0.1712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1398,
"after": 0.0,
"delta": -0.1398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4839,
"after": 0.0,
"delta": -0.4839,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5559,
"after": 1.0,
"delta": 0.4441,
"percent_delta": 0.7989,
"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.5559,
"after": 1.0,
"delta": 0.4441,
"percent_delta": 0.7989,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4839,
"after": 0.0,
"delta": -0.4839,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6583,
"after": 1.0,
"delta": 0.3417,
"percent_delta": 0.5191,
"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.6583,
"after": 1.0,
"delta": 0.3417,
"percent_delta": 0.5191,
"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.2852,
"after": 0.25,
"delta": -0.0352,
"percent_delta": -0.1234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4735,
"after": 0.25,
"delta": -0.2235,
"percent_delta": -0.472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4735,
"after": 0.25,
"delta": -0.2235,
"percent_delta": -0.472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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_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.2852,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3143,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4735,
"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": 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.2852,
"delta": 0.0352,
"percent_delta": 0.1406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 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.4735,
"delta": 0.2235,
"percent_delta": 0.8941,
"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.4735,
"delta": 0.2235,
"percent_delta": 0.8941,
"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.259,
"after": 0.0,
"delta": -0.259,
"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": 4.36,
"after": 5.0,
"delta": 0.64,
"percent_delta": 0.1468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2852,
"delta": 0.0292,
"percent_delta": 0.1141,
"direction": "boost",
"projection_effect": "better",
"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": 1.11,
"after": 1.0,
"delta": -0.11,
"percent_delta": -0.0991,
"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.319,
"after": 0.3143,
"delta": -0.0047,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.624,
"after": 1.0,
"delta": 0.376,
"percent_delta": 0.6026,
"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.535,
"after": 0.4735,
"delta": -0.0615,
"percent_delta": -0.115,
"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": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.36,
"after": 5.0,
"delta": 0.64,
"percent_delta": 0.1468,
"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": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.259 | - |
| predicted_3B | 0.047 | - |
| predicted_AB | 4.360 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.188 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.624 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.535 | - |
| 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.255 | -0.004 |
| predicted_3B | 0.061 | 0.014 |
| predicted_AB | 4.231 | -0.129 |
| predicted_AVG | 0.276 | 0.020 |
| predicted_BB | 0.178 | -0.010 |
| predicted_H | 1.162 | 0.052 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.135 | -0.005 |
| predicted_OBP | 0.325 | 0.006 |
| predicted_R | 0.618 | -0.006 |
| predicted_RBI | 0.454 | -0.006 |
| predicted_SLG | 0.520 | -0.015 |
| predicted_SO | 0.561 | -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.255 | 0.000 |
| predicted_3B | 0.061 | 0.000 |
| predicted_AB | 4.231 | 0.000 |
| predicted_AVG | 0.285 | 0.009 |
| predicted_BB | 0.180 | 0.002 |
| predicted_H | 1.206 | 0.044 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.140 | 0.005 |
| predicted_OBP | 0.314 | -0.010 |
| predicted_R | 0.658 | 0.041 |
| predicted_RBI | 0.484 | 0.030 |
| predicted_SLG | 0.473 | -0.046 |
| predicted_SO | 0.556 | -0.006 |
AB rounded to 4 (raw=4.36), rates preserved: AVG=0.277 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.255 |
| predicted_3B | 0.000 | -0.061 |
| predicted_AB | 4.000 | -0.231 |
| predicted_AVG | 0.250 | -0.035 |
| predicted_BB | 0.000 | -0.180 |
| predicted_H | 1.000 | -0.206 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.250 | -0.064 |
| predicted_R | 1.000 | 0.342 |
| predicted_RBI | 0.000 | -0.484 |
| predicted_SLG | 0.250 | -0.223 |
| predicted_SO | 1.000 | 0.444 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | 5.000 | 1.000 | 1.000 | 1.000 | 2.000 | 2.000 | 0.000 | 2.000 | 0.2273 | 0.2273 | 0.5000 | 0.2273 | 0.0454 | 0.0909 | 0.0000 | 0.0909 |
| last_10 | 0.20 | 10 | - | 41.000 | 13.000 | 3.000 | 1.000 | 2.000 | 5.000 | 8.000 | 2.000 | 3.000 | 0.3171 | 0.3488 | 0.5854 | 0.3171 | 0.0488 | 0.1220 | 0.0488 | 0.0732 |
| season | 0.60 | 85 | - | 337.000 | 112.000 | 22.000 | 4.000 | 7.000 | 37.000 | 53.000 | 16.000 | 50.000 | 0.3323 | 0.3646 | 0.4837 | 0.3323 | 0.0208 | 0.1098 | 0.0475 | 0.1484 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2500 |
| predicted_3B | 0.0800 |
| predicted_AB | 4.0580 |
| predicted_AVG | 0.3036 |
| predicted_BB | 0.1650 |
| predicted_H | 1.2320 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.1280 |
| predicted_OBP | 0.3318 |
| predicted_R | 0.6090 |
| predicted_RBI | 0.4460 |
| predicted_SLG | 0.4997 |
| predicted_SO | 0.5260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2590 | 0.2500 | 0.2552 | model_form_blend |
| predicted_3B | 0.0470 | 0.0800 | 0.0611 | model_form_blend |
| predicted_AB | 4.3600 | 4.0580 | 4.2309 | model_form_blend |
| predicted_AVG | 0.2560 | 0.3036 | 0.2764 | model_form_blend |
| predicted_BB | 0.1880 | 0.1650 | 0.1782 | model_form_blend |
| predicted_H | 1.1100 | 1.2320 | 1.1622 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.1400 | 0.1280 | 0.1349 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3318 | 0.3245 | model_form_blend |
| predicted_R | 0.6240 | 0.6090 | 0.6176 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4460 | 0.4540 | model_form_blend |
| predicted_SLG | 0.5350 | 0.4997 | 0.5199 | model_form_blend |
| predicted_SO | 0.5880 | 0.5260 | 0.5615 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.332 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | SS |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 672640 |
| playerID | 672640 |
| playerName | Otto Lopez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.368 |
| sl_xwoba | 0.335 |
| sl_xba | 0.293 |
| sl_xslg | 0.445 |
| sl_sweet_spot_percent | 30.5 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 7.2 |
| sl_whiff_percent | 20.6 |
| sl_swing_percent | 47.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.162 | 0.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.811 | 4.000 | 3.000 | Hitting_AB | 3.074 | 3.000 | 0.926 | 1.000 |
| predicted_AVG | 0.270 | 0.500 | 0.333 | Hitting_AVG | 0.237 | 0.333 | 0.263 | 0.167 |
| predicted_BB | 0.216 | 1.000 | 0.000 | Hitting_BB | 0.227 | 0.000 | 0.773 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_H | 0.760 | 2.000 | 1.000 | Hitting_H | 0.727 | 1.000 | 1.273 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_OBP | 0.329 | 0.600 | 0.333 | Hitting_OBP | 0.292 | 0.333 | 0.308 | 0.267 |
| predicted_R | 0.378 | 1.000 | 0.000 | Hitting_R | 0.364 | 0.000 | 0.636 | 1.000 |
| predicted_RBI | 0.540 | 2.000 | 1.000 | Hitting_RBI | 0.642 | 0.000 | 1.358 | 2.000 |
| predicted_SLG | 0.543 | 0.500 | 0.333 | Hitting_SLG | 0.396 | 0.333 | 0.104 | 0.167 |
| predicted_SO | 1.230 | 0.000 | 1.000 | Hitting_SO | 1.375 | 2.000 | -1.375 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5400 -> 2.0000 (boost 1.4600, better) |
| Biggest Deboost | predicted_SO: 1.2300 -> 0.0000 (deboost -1.2300, 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_R: 0.3780 -> 0.4447 (boost 0.0667, better) | predicted_SLG: 0.5430 -> 0.5307 (deboost -0.0123, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2765 -> 0.2872 (boost 0.0107, better) | predicted_SLG: 0.5307 -> 0.5152 (deboost -0.0155, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 4 | 4 | predicted_RBI: 0.6062 -> 1.0000 (boost 0.3938, better) | predicted_BB: 0.2106 -> 0.0000 (deboost -0.2106, worse) | AB rounded to 3 (raw=2.83), rates preserved: AVG=0.287 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4740 -> 0.0000 (deboost -0.4740, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2872 -> 0.3330 (boost 0.0458, better) | predicted_SLG: 0.5152 -> 0.3330 (deboost -0.1822, worse) | 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_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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.5152 (boost 0.1822, better) | predicted_AVG: 0.3330 -> 0.2872 (deboost -0.0458, 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.162,
"predicted_3B": 0.0,
"predicted_AB": 2.811,
"predicted_AVG": 0.27,
"predicted_BB": 0.216,
"predicted_H": 0.76,
"predicted_HR": 0.15,
"predicted_OBP": 0.329,
"predicted_R": 0.378,
"predicted_RBI": 0.54,
"predicted_SLG": 0.543,
"predicted_SO": 1.23
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1616,
"predicted_3B": 0.0004,
"predicted_AB": 2.8268,
"predicted_AVG": 0.2765,
"predicted_BB": 0.2085,
"predicted_H": 0.7821,
"predicted_HBP": 0.083,
"predicted_HR": 0.155,
"predicted_OBP": 0.3355,
"predicted_R": 0.4447,
"predicted_RBI": 0.5687,
"predicted_SLG": 0.5307,
"predicted_SO": 1.21
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1616,
"delta": -0.0004,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.811,
"after": 2.8268,
"delta": 0.0158,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2765,
"delta": 0.0065,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.216,
"after": 0.2085,
"delta": -0.0075,
"percent_delta": -0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7821,
"delta": 0.0221,
"percent_delta": 0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.155,
"delta": 0.005,
"percent_delta": 0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3355,
"delta": 0.0065,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.378,
"after": 0.4447,
"delta": 0.0667,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5687,
"delta": 0.0287,
"percent_delta": 0.0531,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.543,
"after": 0.5307,
"delta": -0.0123,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.23,
"after": 1.21,
"delta": -0.02,
"percent_delta": -0.0163,
"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.378,
"after": 0.4447,
"delta": 0.0667,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.543,
"after": 0.5307,
"delta": -0.0123,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 74
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1616,
"predicted_3B": 0.0004,
"predicted_AB": 2.8268,
"predicted_AVG": 0.2872,
"predicted_BB": 0.2106,
"predicted_H": 0.8119,
"predicted_HBP": 0.083,
"predicted_HR": 0.1607,
"predicted_OBP": 0.3366,
"predicted_R": 0.474,
"predicted_RBI": 0.6062,
"predicted_SLG": 0.5152,
"predicted_SO": 1.1979
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1616,
"after": 0.1616,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8268,
"after": 2.8268,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2765,
"after": 0.2872,
"delta": 0.0107,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2085,
"after": 0.2106,
"delta": 0.0021,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7821,
"after": 0.8119,
"delta": 0.0298,
"percent_delta": 0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.083,
"after": 0.083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.155,
"after": 0.1607,
"delta": 0.0057,
"percent_delta": 0.0368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3355,
"after": 0.3366,
"delta": 0.0011,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4447,
"after": 0.474,
"delta": 0.0293,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5687,
"after": 0.6062,
"delta": 0.0375,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5307,
"after": 0.5152,
"delta": -0.0155,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.21,
"after": 1.1979,
"delta": -0.0121,
"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_AVG",
"before": 0.2765,
"after": 0.2872,
"delta": 0.0107,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5307,
"after": 0.5152,
"delta": -0.0155,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.83), rates preserved: AVG=0.287 HR/AB=0.057",
"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.1616,
"after": 0.0,
"delta": -0.1616,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8268,
"after": 3.0,
"delta": 0.1732,
"percent_delta": 0.0613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2106,
"after": 0.0,
"delta": -0.2106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8119,
"after": 1.0,
"delta": 0.1881,
"percent_delta": 0.2317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1607,
"after": 0.0,
"delta": -0.1607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6062,
"after": 1.0,
"delta": 0.3938,
"percent_delta": 0.6496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1979,
"after": 1.0,
"delta": -0.1979,
"percent_delta": -0.1652,
"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.6062,
"after": 1.0,
"delta": 0.3938,
"percent_delta": 0.6496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2106,
"after": 0.0,
"delta": -0.2106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.474,
"after": 0.0,
"delta": -0.474,
"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.474,
"after": 0.0,
"delta": -0.474,
"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.2872,
"after": 0.333,
"delta": 0.0458,
"percent_delta": 0.1595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3366,
"after": 0.333,
"delta": -0.0036,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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.5152,
"after": 0.333,
"delta": -0.1822,
"percent_delta": -0.3536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.2872,
"after": 0.333,
"delta": 0.0458,
"percent_delta": 0.1595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5152,
"after": 0.333,
"delta": -0.1822,
"percent_delta": -0.3536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"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.2872,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3366,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5152,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2872,
"delta": -0.0458,
"percent_delta": -0.1375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3366,
"delta": 0.0036,
"percent_delta": 0.0109,
"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.333,
"after": 0.5152,
"delta": 0.1822,
"percent_delta": 0.5471,
"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.5152,
"delta": 0.1822,
"percent_delta": 0.5471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2872,
"delta": -0.0458,
"percent_delta": -0.1375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.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": 2.811,
"after": 4.0,
"delta": 1.189,
"percent_delta": 0.423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2872,
"delta": 0.0172,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.216,
"after": 1.0,
"delta": 0.784,
"percent_delta": 3.6296,
"direction": "boost",
"projection_effect": "better",
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3366,
"delta": 0.0076,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.378,
"after": 1.0,
"delta": 0.622,
"percent_delta": 1.6455,
"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.543,
"after": 0.5152,
"delta": -0.0278,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.23,
"after": 0.0,
"delta": -1.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.54,
"after": 2.0,
"delta": 1.46,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.23,
"after": 0.0,
"delta": -1.23,
"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.162 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.811 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.216 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.378 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.543 | - |
| predicted_SO | 1.230 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.827 | 0.016 |
| predicted_AVG | 0.277 | 0.007 |
| predicted_BB | 0.208 | -0.008 |
| predicted_H | 0.782 | 0.022 |
| predicted_HBP | 0.083 | - |
| predicted_HR | 0.155 | 0.005 |
| predicted_OBP | 0.336 | 0.007 |
| predicted_R | 0.445 | 0.067 |
| predicted_RBI | 0.569 | 0.029 |
| predicted_SLG | 0.531 | -0.012 |
| predicted_SO | 1.210 | -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.162 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.827 | 0.000 |
| predicted_AVG | 0.287 | 0.011 |
| predicted_BB | 0.211 | 0.002 |
| predicted_H | 0.812 | 0.030 |
| predicted_HBP | 0.083 | 0.000 |
| predicted_HR | 0.161 | 0.006 |
| predicted_OBP | 0.337 | 0.001 |
| predicted_R | 0.474 | 0.029 |
| predicted_RBI | 0.606 | 0.037 |
| predicted_SLG | 0.515 | -0.015 |
| predicted_SO | 1.198 | -0.012 |
AB rounded to 3 (raw=2.83), rates preserved: AVG=0.287 HR/AB=0.057
| 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.162 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.173 |
| predicted_AVG | 0.333 | 0.046 |
| predicted_BB | 0.000 | -0.211 |
| predicted_H | 1.000 | 0.188 |
| predicted_HR | 0.000 | -0.161 |
| predicted_OBP | 0.333 | -0.004 |
| predicted_R | 0.000 | -0.474 |
| predicted_RBI | 1.000 | 0.394 |
| predicted_SLG | 0.333 | -0.182 |
| predicted_SO | 1.000 | -0.198 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 1.000 | 6.000 | 0.3846 | 0.4667 | 0.6923 | 0.3846 | 0.0769 | 0.2308 | 0.0769 | 0.4615 |
| last_10 | 0.20 | 10 | - | 26.000 | 9.000 | 1.000 | 0.000 | 2.000 | 6.000 | 7.000 | 1.000 | 11.000 | 0.3462 | 0.3929 | 0.6154 | 0.3462 | 0.0769 | 0.2308 | 0.0385 | 0.4231 |
| season | 0.60 | 74 | - | 208.000 | 50.000 | 12.000 | 0.000 | 10.000 | 46.000 | 28.000 | 16.000 | 91.000 | 0.2404 | 0.2961 | 0.4423 | 0.2404 | 0.0481 | 0.2212 | 0.0769 | 0.4375 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1610 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.8490 |
| predicted_AVG | 0.2855 |
| predicted_BB | 0.1980 |
| predicted_H | 0.8130 |
| predicted_HBP | 0.0830 |
| predicted_HR | 0.1620 |
| predicted_OBP | 0.3446 |
| predicted_R | 0.5380 |
| predicted_RBI | 0.6090 |
| predicted_SLG | 0.5134 |
| predicted_SO | 1.1820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.1610 | 0.1616 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.8110 | 2.8490 | 2.8268 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2855 | 0.2765 | model_form_blend |
| predicted_BB | 0.2160 | 0.1980 | 0.2085 | model_form_blend |
| predicted_H | 0.7600 | 0.8130 | 0.7821 | model_form_blend |
| predicted_HBP | - | 0.0830 | 0.0830 | form_only |
| predicted_HR | 0.1500 | 0.1620 | 0.1550 | model_form_blend |
| predicted_OBP | 0.3290 | 0.3446 | 0.3355 | model_form_blend |
| predicted_R | 0.3780 | 0.5380 | 0.4447 | model_form_blend |
| predicted_RBI | 0.5400 | 0.6090 | 0.5687 | model_form_blend |
| predicted_SLG | 0.5430 | 0.5134 | 0.5307 | model_form_blend |
| predicted_SO | 1.2300 | 1.1820 | 1.2100 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 74 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| 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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 683357 |
| playerID | 683357 |
| playerName | Owen Caissie |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 38.9 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.319 |
| sl_xwoba | 0.305 |
| sl_xba | 0.216 |
| sl_xslg | 0.415 |
| sl_sweet_spot_percent | 46.3 |
| sl_barrel_batted_rate | 15.4 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 36.1 |
| 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.233 | 0.000 | 0.000 | Hitting_2B | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.013 | 1.000 | -0.013 | -1.000 |
| predicted_AB | 3.250 | 3.000 | 3.000 | Hitting_AB | 3.235 | 2.000 | -0.235 | 1.000 |
| predicted_AVG | 0.297 | 0.000 | 0.333 | Hitting_AVG | 0.289 | 0.500 | -0.289 | -0.500 |
| predicted_BB | 0.183 | 1.000 | 0.000 | Hitting_BB | 0.196 | 2.000 | 0.804 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 1.000 | -0.039 | -1.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 0.935 | 1.000 | -0.935 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_OBP | 0.354 | 0.250 | 0.333 | Hitting_OBP | 0.329 | 0.750 | -0.079 | -0.500 |
| predicted_R | 0.317 | 0.000 | 0.000 | Hitting_R | 0.268 | 0.000 | -0.268 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.608 | 2.000 | -0.608 | -2.000 |
| predicted_SLG | 0.562 | 0.000 | 0.333 | Hitting_SLG | 0.424 | 1.500 | -0.424 | -1.500 |
| predicted_SO | 0.350 | 2.000 | 0.000 | Hitting_SO | 0.379 | 0.000 | 1.621 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.3500 -> 2.0000 (boost 1.6500, worse) |
| 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 | 6 | 6 | 0 | 6 | 0 | predicted_H: 0.7900 -> 0.9556 (boost 0.1656, better) | - | Final model input calibrated with local form: 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.5608 -> 0.4870 (deboost -0.0738, 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.7188 -> 1.0000 (boost 0.2812, better) | predicted_SO: 0.3571 -> 0.0000 (deboost -0.3571, better) | AB rounded to 3 (raw=3.34), rates preserved: AVG=0.297 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4255 -> 0.0000 (deboost -0.4255, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2967 -> 0.3330 (boost 0.0363, better) | predicted_SLG: 0.4870 -> 0.3330 (deboost -0.1540, 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_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4870 (boost 0.1540, better) | predicted_AVG: 0.3330 -> 0.2967 (deboost -0.0363, 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.233,
"predicted_3B": 0.033,
"predicted_AB": 3.25,
"predicted_AVG": 0.297,
"predicted_BB": 0.183,
"predicted_H": 0.79,
"predicted_HR": 0.08,
"predicted_OBP": 0.354,
"predicted_R": 0.317,
"predicted_RBI": 0.56,
"predicted_SLG": 0.562,
"predicted_SO": 0.35
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.233,
"predicted_3B": 0.0689,
"predicted_AB": 3.3437,
"predicted_AVG": 0.3158,
"predicted_BB": 0.2036,
"predicted_H": 0.9556,
"predicted_HBP": 0.004,
"predicted_HR": 0.0854,
"predicted_OBP": 0.3649,
"predicted_R": 0.3992,
"predicted_RBI": 0.6744,
"predicted_SLG": 0.5608,
"predicted_SO": 0.3607
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0689,
"delta": 0.0359,
"percent_delta": 1.0879,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.25,
"after": 3.3437,
"delta": 0.0937,
"percent_delta": 0.0288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.297,
"after": 0.3158,
"delta": 0.0188,
"percent_delta": 0.0633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.183,
"after": 0.2036,
"delta": 0.0206,
"percent_delta": 0.1126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.9556,
"delta": 0.1656,
"percent_delta": 0.2096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0854,
"delta": 0.0054,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3649,
"delta": 0.0109,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.317,
"after": 0.3992,
"delta": 0.0822,
"percent_delta": 0.2593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.6744,
"delta": 0.1144,
"percent_delta": 0.2043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.562,
"after": 0.5608,
"delta": -0.0012,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.35,
"after": 0.3607,
"delta": 0.0107,
"percent_delta": 0.0306,
"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.79,
"after": 0.9556,
"delta": 0.1656,
"percent_delta": 0.2096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"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.233,
"predicted_3B": 0.0689,
"predicted_AB": 3.3437,
"predicted_AVG": 0.2967,
"predicted_BB": 0.2056,
"predicted_H": 0.992,
"predicted_HBP": 0.004,
"predicted_HR": 0.0885,
"predicted_OBP": 0.3374,
"predicted_R": 0.4255,
"predicted_RBI": 0.7188,
"predicted_SLG": 0.487,
"predicted_SO": 0.3571
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0689,
"after": 0.0689,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3437,
"after": 3.3437,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3158,
"after": 0.2967,
"delta": -0.0191,
"percent_delta": -0.0605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2036,
"after": 0.2056,
"delta": 0.002,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9556,
"after": 0.992,
"delta": 0.0364,
"percent_delta": 0.0381,
"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.0854,
"after": 0.0885,
"delta": 0.0031,
"percent_delta": 0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3649,
"after": 0.3374,
"delta": -0.0275,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3992,
"after": 0.4255,
"delta": 0.0263,
"percent_delta": 0.0659,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6744,
"after": 0.7188,
"delta": 0.0444,
"percent_delta": 0.0658,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5608,
"after": 0.487,
"delta": -0.0738,
"percent_delta": -0.1316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3607,
"after": 0.3571,
"delta": -0.0036,
"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_SLG",
"before": 0.5608,
"after": 0.487,
"delta": -0.0738,
"percent_delta": -0.1316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.34), rates preserved: AVG=0.297 HR/AB=0.026",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0689,
"after": 0.0,
"delta": -0.0689,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.3437,
"after": 3.0,
"delta": -0.3437,
"percent_delta": -0.1028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2056,
"after": 0.0,
"delta": -0.2056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.992,
"after": 1.0,
"delta": 0.008,
"percent_delta": 0.0081,
"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.0885,
"after": 0.0,
"delta": -0.0885,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7188,
"after": 1.0,
"delta": 0.2812,
"percent_delta": 0.3912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3571,
"after": 0.0,
"delta": -0.3571,
"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.7188,
"after": 1.0,
"delta": 0.2812,
"percent_delta": 0.3912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3571,
"after": 0.0,
"delta": -0.3571,
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4255,
"after": 0.0,
"delta": -0.4255,
"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.4255,
"after": 0.0,
"delta": -0.4255,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2967,
"after": 0.333,
"delta": 0.0363,
"percent_delta": 0.1223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": -0.0044,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.333,
"delta": -0.154,
"percent_delta": -0.3162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2967,
"after": 0.333,
"delta": 0.0363,
"percent_delta": 0.1223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.333,
"delta": -0.154,
"percent_delta": -0.3162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 2.0,
"delta": 2.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_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"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.2967,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3374,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.487,
"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.333,
"after": 0.2967,
"delta": -0.0363,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3374,
"delta": 0.0044,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.487,
"delta": 0.154,
"percent_delta": 0.4625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.487,
"delta": 0.154,
"percent_delta": 0.4625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2967,
"delta": -0.0363,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.25,
"after": 3.0,
"delta": -0.25,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.297,
"after": 0.2967,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.183,
"after": 1.0,
"delta": 0.817,
"percent_delta": 4.4645,
"direction": "boost",
"projection_effect": "better",
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3374,
"delta": -0.0166,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"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.562,
"after": 0.487,
"delta": -0.075,
"percent_delta": -0.1335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.35,
"after": 2.0,
"delta": 1.65,
"percent_delta": 4.7143,
"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.35,
"after": 2.0,
"delta": 1.65,
"percent_delta": 4.7143,
"direction": "boost",
"projection_effect": "worse",
"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.233 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 3.250 | - |
| predicted_AVG | 0.297 | - |
| predicted_BB | 0.183 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.317 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.562 | - |
| predicted_SO | 0.350 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.233 | 0.000 |
| predicted_3B | 0.069 | 0.036 |
| predicted_AB | 3.344 | 0.094 |
| predicted_AVG | 0.316 | 0.019 |
| predicted_BB | 0.204 | 0.021 |
| predicted_H | 0.956 | 0.166 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.085 | 0.005 |
| predicted_OBP | 0.365 | 0.011 |
| predicted_R | 0.399 | 0.082 |
| predicted_RBI | 0.674 | 0.114 |
| predicted_SLG | 0.561 | -0.001 |
| predicted_SO | 0.361 | 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.233 | 0.000 |
| predicted_3B | 0.069 | 0.000 |
| predicted_AB | 3.344 | 0.000 |
| predicted_AVG | 0.297 | -0.019 |
| predicted_BB | 0.206 | 0.002 |
| predicted_H | 0.992 | 0.036 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.088 | 0.003 |
| predicted_OBP | 0.337 | -0.028 |
| predicted_R | 0.425 | 0.026 |
| predicted_RBI | 0.719 | 0.044 |
| predicted_SLG | 0.487 | -0.074 |
| predicted_SO | 0.357 | -0.004 |
AB rounded to 3 (raw=3.34), rates preserved: AVG=0.297 HR/AB=0.026
| 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 | 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 | 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.233 |
| predicted_3B | 0.000 | -0.069 |
| predicted_AB | 3.000 | -0.344 |
| predicted_AVG | 0.333 | 0.036 |
| predicted_BB | 0.000 | -0.206 |
| predicted_H | 1.000 | 0.008 |
| predicted_HR | 0.000 | -0.088 |
| predicted_OBP | 0.333 | -0.004 |
| predicted_R | 0.000 | -0.425 |
| predicted_RBI | 1.000 | 0.281 |
| predicted_SLG | 0.333 | -0.154 |
| predicted_SO | 0.000 | -0.357 |
Attached 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 10.000 | 1.000 | 2.000 | 1.000 | 9.000 | 5.000 | 2.000 | 1.000 | 0.5556 | 0.6000 | 1.0000 | 0.5556 | 0.0556 | 0.5000 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 10 | - | 38.000 | 15.000 | 3.000 | 2.000 | 1.000 | 10.000 | 7.000 | 2.000 | 3.000 | 0.3947 | 0.4146 | 0.6579 | 0.3947 | 0.0263 | 0.2632 | 0.0526 | 0.0790 |
| season | 0.60 | 60 | - | 195.000 | 54.000 | 14.000 | 2.000 | 3.000 | 34.000 | 19.000 | 11.000 | 21.000 | 0.2769 | 0.3140 | 0.4154 | 0.2769 | 0.0154 | 0.1744 | 0.0564 | 0.1077 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2330 |
| predicted_3B | 0.1200 |
| predicted_AB | 3.4770 |
| predicted_AVG | 0.3425 |
| predicted_BB | 0.2330 |
| predicted_H | 1.1910 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.3805 |
| predicted_R | 0.5160 |
| predicted_RBI | 0.8370 |
| predicted_SLG | 0.5590 |
| predicted_SO | 0.3760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.2330 | 0.2330 | model_form_blend |
| predicted_3B | 0.0330 | 0.1200 | 0.0689 | model_form_blend |
| predicted_AB | 3.2500 | 3.4770 | 3.3437 | model_form_blend |
| predicted_AVG | 0.2970 | 0.3425 | 0.3158 | model_form_blend |
| predicted_BB | 0.1830 | 0.2330 | 0.2036 | model_form_blend |
| predicted_H | 0.7900 | 1.1910 | 0.9556 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0800 | 0.0930 | 0.0854 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3805 | 0.3649 | model_form_blend |
| predicted_R | 0.3170 | 0.5160 | 0.3992 | model_form_blend |
| predicted_RBI | 0.5600 | 0.8370 | 0.6744 | model_form_blend |
| predicted_SLG | 0.5620 | 0.5590 | 0.5608 | model_form_blend |
| predicted_SO | 0.3500 | 0.3760 | 0.3607 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.277 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| 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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 691594 |
| playerID | 691594 |
| playerName | Javier Sanoja |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 10.0 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.322 |
| sl_xwoba | 0.277 |
| sl_xba | 0.254 |
| sl_xslg | 0.323 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 33.5 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 12.4 |
| 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.133 | 1.000 | 0.000 | Hitting_2B | 0.109 | 0.000 | 0.891 | 1.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_AB | 3.566 | 3.000 | 4.000 | Hitting_AB | 3.669 | 6.000 | -0.669 | -3.000 |
| predicted_AVG | 0.210 | 0.333 | 0.250 | Hitting_AVG | 0.192 | 0.000 | 0.142 | 0.333 |
| predicted_BB | 0.530 | 1.000 | 1.000 | Hitting_BB | 0.605 | 0.000 | 0.395 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_H | 0.710 | 1.000 | 1.000 | Hitting_H | 0.703 | 0.000 | 0.297 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.261 | 0.500 | 0.400 | Hitting_OBP | 0.322 | 0.000 | 0.178 | 0.500 |
| predicted_R | 0.494 | 1.000 | 0.000 | Hitting_R | 0.594 | 0.000 | 0.406 | 1.000 |
| predicted_RBI | 0.320 | 2.000 | 0.000 | Hitting_RBI | 0.259 | 0.000 | 1.741 | 2.000 |
| predicted_SLG | 0.372 | 0.667 | 0.250 | Hitting_SLG | 0.293 | 0.000 | 0.374 | 0.667 |
| predicted_SO | 0.988 | 0.000 | 1.000 | Hitting_SO | 1.008 | 0.000 | -1.008 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.3200 -> 2.0000 (boost 1.6800, better) |
| Biggest Deboost | predicted_SO: 0.9880 -> 0.0000 (deboost -0.9880, 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_AB: 3.5660 -> 3.6893 (boost 0.1233, better) | predicted_SLG: 0.3720 -> 0.3168 (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 | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2551 -> 0.2829 (boost 0.0278, better) | predicted_SLG: 0.3168 -> 0.2915 (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 | 3 | 4 | 3 | 4 | predicted_BB: 0.4887 -> 1.0000 (boost 0.5113, better) | predicted_RBI: 0.3343 -> 0.0000 (deboost -0.3343, worse) | AB rounded to 4 (raw=3.69), rates preserved: AVG=0.188 HR/AB=0.016 |
| 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 | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2829 -> 0.4000 (boost 0.1171, better) | predicted_SLG: 0.2915 -> 0.2500 (deboost -0.0415, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 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.2915 (boost 0.0415, better) | predicted_OBP: 0.4000 -> 0.2829 (deboost -0.1171, 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.133,
"predicted_3B": 0.036,
"predicted_AB": 3.566,
"predicted_AVG": 0.21,
"predicted_BB": 0.53,
"predicted_H": 0.71,
"predicted_HR": 0.07,
"predicted_OBP": 0.261,
"predicted_R": 0.494,
"predicted_RBI": 0.32,
"predicted_SLG": 0.372,
"predicted_SO": 0.988
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1445,
"predicted_3B": 0.0305,
"predicted_AB": 3.6893,
"predicted_AVG": 0.1881,
"predicted_BB": 0.4839,
"predicted_H": 0.6677,
"predicted_HBP": 0.053,
"predicted_HR": 0.0568,
"predicted_OBP": 0.2551,
"predicted_R": 0.4547,
"predicted_RBI": 0.3136,
"predicted_SLG": 0.3168,
"predicted_SO": 0.9812
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1445,
"delta": 0.0115,
"percent_delta": 0.0865,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0305,
"delta": -0.0055,
"percent_delta": -0.1528,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.566,
"after": 3.6893,
"delta": 0.1233,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.1881,
"delta": -0.0219,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.53,
"after": 0.4839,
"delta": -0.0461,
"percent_delta": -0.087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.6677,
"delta": -0.0423,
"percent_delta": -0.0596,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0568,
"delta": -0.0132,
"percent_delta": -0.1886,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2551,
"delta": -0.0059,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.4547,
"delta": -0.0393,
"percent_delta": -0.0796,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3136,
"delta": -0.0064,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3168,
"delta": -0.0552,
"percent_delta": -0.1484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.988,
"after": 0.9812,
"delta": -0.0068,
"percent_delta": -0.0069,
"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.566,
"after": 3.6893,
"delta": 0.1233,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3168,
"delta": -0.0552,
"percent_delta": -0.1484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1445,
"predicted_3B": 0.0305,
"predicted_AB": 3.6893,
"predicted_AVG": 0.1879,
"predicted_BB": 0.4887,
"predicted_H": 0.6931,
"predicted_HBP": 0.053,
"predicted_HR": 0.0589,
"predicted_OBP": 0.2829,
"predicted_R": 0.4847,
"predicted_RBI": 0.3343,
"predicted_SLG": 0.2915,
"predicted_SO": 0.9714
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1445,
"after": 0.1445,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0305,
"after": 0.0305,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6893,
"after": 3.6893,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1881,
"after": 0.1879,
"delta": -0.0002,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4839,
"after": 0.4887,
"delta": 0.0048,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6677,
"after": 0.6931,
"delta": 0.0254,
"percent_delta": 0.038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.053,
"after": 0.053,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0568,
"after": 0.0589,
"delta": 0.0021,
"percent_delta": 0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2551,
"after": 0.2829,
"delta": 0.0278,
"percent_delta": 0.109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4547,
"after": 0.4847,
"delta": 0.03,
"percent_delta": 0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3136,
"after": 0.3343,
"delta": 0.0207,
"percent_delta": 0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3168,
"after": 0.2915,
"delta": -0.0253,
"percent_delta": -0.0799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9812,
"after": 0.9714,
"delta": -0.0098,
"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_OBP",
"before": 0.2551,
"after": 0.2829,
"delta": 0.0278,
"percent_delta": 0.109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3168,
"after": 0.2915,
"delta": -0.0253,
"percent_delta": -0.0799,
"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.188 HR/AB=0.016",
"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.1445,
"after": 0.0,
"delta": -0.1445,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0305,
"after": 0.0,
"delta": -0.0305,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6893,
"after": 4.0,
"delta": 0.3107,
"percent_delta": 0.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4887,
"after": 1.0,
"delta": 0.5113,
"percent_delta": 1.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6931,
"after": 1.0,
"delta": 0.3069,
"percent_delta": 0.4428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0589,
"after": 0.0,
"delta": -0.0589,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3343,
"after": 0.0,
"delta": -0.3343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9714,
"after": 1.0,
"delta": 0.0286,
"percent_delta": 0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4887,
"after": 1.0,
"delta": 0.5113,
"percent_delta": 1.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3343,
"after": 0.0,
"delta": -0.3343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.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": 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.1879,
"after": 0.25,
"delta": 0.0621,
"percent_delta": 0.3305,
"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.2829,
"after": 0.4,
"delta": 0.1171,
"percent_delta": 0.4139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2915,
"after": 0.25,
"delta": -0.0415,
"percent_delta": -0.1424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2829,
"after": 0.4,
"delta": 0.1171,
"percent_delta": 0.4139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2915,
"after": 0.25,
"delta": -0.0415,
"percent_delta": -0.1424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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": 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": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.1879,
"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.2829,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2915,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1879,
"delta": -0.0621,
"percent_delta": -0.2485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2829,
"delta": -0.1171,
"percent_delta": -0.2928,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.2915,
"delta": 0.0415,
"percent_delta": 0.1658,
"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.2915,
"delta": 0.0415,
"percent_delta": 0.1658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.2829,
"delta": -0.1171,
"percent_delta": -0.2928,
"direction": "deboost",
"projection_effect": "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.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.566,
"after": 3.0,
"delta": -0.566,
"percent_delta": -0.1587,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.21,
"after": 0.1879,
"delta": -0.0221,
"percent_delta": -0.1052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2829,
"delta": 0.0219,
"percent_delta": 0.0839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 1.0,
"delta": 0.506,
"percent_delta": 1.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 2.0,
"delta": 1.68,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.2915,
"delta": -0.0805,
"percent_delta": -0.2164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.988,
"after": 0.0,
"delta": -0.988,
"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.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.988,
"after": 0.0,
"delta": -0.988,
"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.133 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 3.566 | - |
| predicted_AVG | 0.210 | - |
| predicted_BB | 0.530 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.494 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.372 | - |
| predicted_SO | 0.988 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | 0.011 |
| predicted_3B | 0.030 | -0.005 |
| predicted_AB | 3.689 | 0.123 |
| predicted_AVG | 0.188 | -0.022 |
| predicted_BB | 0.484 | -0.046 |
| predicted_H | 0.668 | -0.042 |
| predicted_HBP | 0.053 | - |
| predicted_HR | 0.057 | -0.013 |
| predicted_OBP | 0.255 | -0.006 |
| predicted_R | 0.455 | -0.039 |
| predicted_RBI | 0.314 | -0.006 |
| predicted_SLG | 0.317 | -0.055 |
| predicted_SO | 0.981 | -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.144 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 3.689 | 0.000 |
| predicted_AVG | 0.188 | -0.000 |
| predicted_BB | 0.489 | 0.005 |
| predicted_H | 0.693 | 0.025 |
| predicted_HBP | 0.053 | 0.000 |
| predicted_HR | 0.059 | 0.002 |
| predicted_OBP | 0.283 | 0.028 |
| predicted_R | 0.485 | 0.030 |
| predicted_RBI | 0.334 | 0.021 |
| predicted_SLG | 0.291 | -0.025 |
| predicted_SO | 0.971 | -0.010 |
AB rounded to 4 (raw=3.69), rates preserved: AVG=0.188 HR/AB=0.016
| 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.144 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 4.000 | 0.311 |
| predicted_AVG | 0.250 | 0.062 |
| predicted_BB | 1.000 | 0.511 |
| predicted_H | 1.000 | 0.307 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.400 | 0.117 |
| predicted_R | 0.000 | -0.485 |
| predicted_RBI | 0.000 | -0.334 |
| predicted_SLG | 0.250 | -0.041 |
| predicted_SO | 1.000 | 0.029 |
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 | 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 | 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 | - | 23.000 | 2.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 1.000 | 5.000 | 0.0870 | 0.1250 | 0.1304 | 0.0870 | 0.0000 | 0.0870 | 0.0435 | 0.2174 |
| last_10 | 0.20 | 10 | - | 40.000 | 4.000 | 2.000 | 0.000 | 0.000 | 3.000 | 2.000 | 3.000 | 9.000 | 0.1000 | 0.1628 | 0.1500 | 0.1000 | 0.0000 | 0.0750 | 0.0750 | 0.2250 |
| season | 0.60 | 83 | - | 296.000 | 56.000 | 11.000 | 3.000 | 4.000 | 21.000 | 41.000 | 44.000 | 82.000 | 0.1892 | 0.3075 | 0.2872 | 0.1892 | 0.0135 | 0.0709 | 0.1487 | 0.2770 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0230 |
| predicted_AB | 3.8550 |
| predicted_AVG | 0.1586 |
| predicted_BB | 0.4220 |
| predicted_H | 0.6110 |
| predicted_HBP | 0.0530 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.2471 |
| predicted_R | 0.4020 |
| predicted_RBI | 0.3050 |
| predicted_SLG | 0.2427 |
| predicted_SO | 0.9720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1600 | 0.1445 | model_form_blend |
| predicted_3B | 0.0360 | 0.0230 | 0.0305 | model_form_blend |
| predicted_AB | 3.5660 | 3.8550 | 3.6893 | model_form_blend |
| predicted_AVG | 0.2100 | 0.1586 | 0.1881 | model_form_blend |
| predicted_BB | 0.5300 | 0.4220 | 0.4839 | model_form_blend |
| predicted_H | 0.7100 | 0.6110 | 0.6677 | model_form_blend |
| predicted_HBP | - | 0.0530 | 0.0530 | form_only |
| predicted_HR | 0.0700 | 0.0390 | 0.0568 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2471 | 0.2551 | model_form_blend |
| predicted_R | 0.4940 | 0.4020 | 0.4547 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3050 | 0.3136 | model_form_blend |
| predicted_SLG | 0.3720 | 0.2427 | 0.3168 | model_form_blend |
| predicted_SO | 0.9880 | 0.9720 | 0.9812 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 266 |
| Season rows before report date | 266 |
| Report year | 2026 |
| Profile rows used | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.189 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| 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 | 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 | 20260630_MIA@COL |
| game_type | full |
| mlbID | 805300 |
| playerID | 805300 |
| playerName | Jakob Marsee |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-30 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.278 |
| sl_xwoba | 0.293 |
| sl_xba | 0.215 |
| sl_xslg | 0.301 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 33.9 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 40.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.114 | 0.000 | 0.000 | Hitting_2B | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.023 | 3.000 | 3.000 | Hitting_AB | 3.209 | 1.000 | -0.209 | 2.000 |
| predicted_AVG | 0.261 | 1.000 | 0.333 | Hitting_AVG | 0.232 | 1.000 | 0.768 | 0.000 |
| predicted_BB | 0.227 | 1.000 | 0.000 | Hitting_BB | 0.221 | 0.000 | 0.779 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.730 | 3.000 | 1.000 | Hitting_H | 0.744 | 1.000 | 2.256 | 2.000 |
| predicted_HR | 0.160 | 1.000 | 0.000 | Hitting_HR | 0.070 | 1.000 | 0.930 | 0.000 |
| predicted_OBP | 0.299 | 1.000 | 0.333 | Hitting_OBP | 0.284 | 1.000 | 0.716 | 0.000 |
| predicted_R | 0.500 | 1.000 | 1.000 | Hitting_R | 0.442 | 1.000 | 0.558 | 0.000 |
| predicted_RBI | 0.480 | 1.000 | 1.000 | Hitting_RBI | 0.465 | 1.000 | 0.535 | 0.000 |
| predicted_SLG | 0.532 | 2.000 | 0.333 | Hitting_SLG | 0.337 | 4.000 | 1.663 | -2.000 |
| predicted_SO | 0.795 | 0.000 | 1.000 | Hitting_SO | 1.035 | 0.000 | -1.035 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 0.7300 -> 3.0000 (boost 2.2700, better) |
| Biggest Deboost | predicted_SO: 0.7950 -> 0.0000 (deboost -0.7950, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.5320 -> 0.5161 (deboost -0.0159, worse) | Final model input calibrated with local 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.3001 -> 0.3052 (boost 0.0051, better) | predicted_SLG: 0.5161 -> 0.4758 (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 | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5521 -> 1.0000 (boost 0.4479, better) | predicted_BB: 0.2070 -> 0.0000 (deboost -0.2070, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.258 HR/AB=0.061 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5573 -> 1.0000 (boost 0.4427, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2583 -> 0.3330 (boost 0.0747, better) | predicted_SLG: 0.4758 -> 0.3330 (deboost -0.1428, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_H: 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4758 (boost 0.1428, better) | predicted_AVG: 0.3330 -> 0.2583 (deboost -0.0747, 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.114,
"predicted_3B": 0.0,
"predicted_AB": 3.023,
"predicted_AVG": 0.261,
"predicted_BB": 0.227,
"predicted_H": 0.73,
"predicted_HR": 0.16,
"predicted_OBP": 0.299,
"predicted_R": 0.5,
"predicted_RBI": 0.48,
"predicted_SLG": 0.532,
"predicted_SO": 0.795
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.102,
"predicted_3B": 0.0008,
"predicted_AB": 3.067,
"predicted_AVG": 0.2604,
"predicted_BB": 0.205,
"predicted_H": 0.7632,
"predicted_HBP": 0.016,
"predicted_HR": 0.1812,
"predicted_OBP": 0.3001,
"predicted_R": 0.5228,
"predicted_RBI": 0.518,
"predicted_SLG": 0.5161,
"predicted_SO": 0.7522
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.102,
"delta": -0.012,
"percent_delta": -0.1053,
"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.023,
"after": 3.067,
"delta": 0.044,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2604,
"delta": -0.0006,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 0.205,
"delta": -0.022,
"percent_delta": -0.0969,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7632,
"delta": 0.0332,
"percent_delta": 0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1812,
"delta": 0.0212,
"percent_delta": 0.1325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3001,
"delta": 0.0011,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5228,
"delta": 0.0228,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.518,
"delta": 0.038,
"percent_delta": 0.0792,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.532,
"after": 0.5161,
"delta": -0.0159,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.7522,
"delta": -0.0428,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.532,
"after": 0.5161,
"delta": -0.0159,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.102,
"predicted_3B": 0.0008,
"predicted_AB": 3.067,
"predicted_AVG": 0.2583,
"predicted_BB": 0.207,
"predicted_H": 0.7923,
"predicted_HBP": 0.016,
"predicted_HR": 0.1878,
"predicted_OBP": 0.3052,
"predicted_R": 0.5573,
"predicted_RBI": 0.5521,
"predicted_SLG": 0.4758,
"predicted_SO": 0.7447
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.102,
"after": 0.102,
"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.067,
"after": 3.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2604,
"after": 0.2583,
"delta": -0.0021,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.207,
"delta": 0.002,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7632,
"after": 0.7923,
"delta": 0.0291,
"percent_delta": 0.0381,
"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.1812,
"after": 0.1878,
"delta": 0.0066,
"percent_delta": 0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3001,
"after": 0.3052,
"delta": 0.0051,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5228,
"after": 0.5573,
"delta": 0.0345,
"percent_delta": 0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.518,
"after": 0.5521,
"delta": 0.0341,
"percent_delta": 0.0658,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5161,
"after": 0.4758,
"delta": -0.0403,
"percent_delta": -0.0781,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7522,
"after": 0.7447,
"delta": -0.0075,
"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_OBP",
"before": 0.3001,
"after": 0.3052,
"delta": 0.0051,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5161,
"after": 0.4758,
"delta": -0.0403,
"percent_delta": -0.0781,
"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.258 HR/AB=0.061",
"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.102,
"after": 0.0,
"delta": -0.102,
"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.067,
"after": 3.0,
"delta": -0.067,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7923,
"after": 1.0,
"delta": 0.2077,
"percent_delta": 0.2621,
"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.1878,
"after": 0.0,
"delta": -0.1878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5521,
"after": 1.0,
"delta": 0.4479,
"percent_delta": 0.8113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7447,
"after": 1.0,
"delta": 0.2553,
"percent_delta": 0.3428,
"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.5521,
"after": 1.0,
"delta": 0.4479,
"percent_delta": 0.8113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.207,
"after": 0.0,
"delta": -0.207,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5573,
"after": 1.0,
"delta": 0.4427,
"percent_delta": 0.7944,
"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.5573,
"after": 1.0,
"delta": 0.4427,
"percent_delta": 0.7944,
"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.2583,
"after": 0.333,
"delta": 0.0747,
"percent_delta": 0.2892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3052,
"after": 0.333,
"delta": 0.0278,
"percent_delta": 0.0911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4758,
"after": 0.333,
"delta": -0.1428,
"percent_delta": -0.3001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2583,
"after": 0.333,
"delta": 0.0747,
"percent_delta": 0.2892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4758,
"after": 0.333,
"delta": -0.1428,
"percent_delta": -0.3001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2583,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3052,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4758,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2583,
"delta": -0.0747,
"percent_delta": -0.2243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.333,
"after": 0.3052,
"delta": -0.0278,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4758,
"delta": 0.1428,
"percent_delta": 0.4289,
"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.4758,
"delta": 0.1428,
"percent_delta": 0.4289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2583,
"delta": -0.0747,
"percent_delta": -0.2243,
"direction": "deboost",
"projection_effect": "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.023,
"after": 3.0,
"delta": -0.023,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2583,
"delta": -0.0027,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.227,
"after": 1.0,
"delta": 0.773,
"percent_delta": 3.4053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 3.0,
"delta": 2.27,
"percent_delta": 3.1096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.299,
"after": 0.3052,
"delta": 0.0062,
"percent_delta": 0.0207,
"direction": "boost",
"projection_effect": "better",
"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.48,
"after": 1.0,
"delta": 0.52,
"percent_delta": 1.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.532,
"after": 0.4758,
"delta": -0.0562,
"percent_delta": -0.1056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.0,
"delta": -0.795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.73,
"after": 3.0,
"delta": 2.27,
"percent_delta": 3.1096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.795,
"after": 0.0,
"delta": -0.795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.023 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.227 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.532 | - |
| predicted_SO | 0.795 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | -0.012 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.067 | 0.044 |
| predicted_AVG | 0.260 | -0.001 |
| predicted_BB | 0.205 | -0.022 |
| predicted_H | 0.763 | 0.033 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.181 | 0.021 |
| predicted_OBP | 0.300 | 0.001 |
| predicted_R | 0.523 | 0.023 |
| predicted_RBI | 0.518 | 0.038 |
| predicted_SLG | 0.516 | -0.016 |
| predicted_SO | 0.752 | -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.102 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.067 | 0.000 |
| predicted_AVG | 0.258 | -0.002 |
| predicted_BB | 0.207 | 0.002 |
| predicted_H | 0.792 | 0.029 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.188 | 0.007 |
| predicted_OBP | 0.305 | 0.005 |
| predicted_R | 0.557 | 0.034 |
| predicted_RBI | 0.552 | 0.034 |
| predicted_SLG | 0.476 | -0.040 |
| predicted_SO | 0.745 | -0.007 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.258 HR/AB=0.061
| 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.102 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.067 |
| predicted_AVG | 0.333 | 0.075 |
| predicted_BB | 0.000 | -0.207 |
| predicted_H | 1.000 | 0.208 |
| predicted_HR | 0.000 | -0.188 |
| predicted_OBP | 0.333 | 0.028 |
| predicted_R | 1.000 | 0.443 |
| predicted_RBI | 1.000 | 0.448 |
| predicted_SLG | 0.333 | -0.143 |
| 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 | 3.000 | 2.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 | - | 14.000 | 4.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 0.000 | 2.000 | 0.2857 | 0.2857 | 0.7143 | 0.2857 | 0.1429 | 0.2857 | 0.0000 | 0.1429 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 0.000 | 0.000 | 3.000 | 6.000 | 7.000 | 1.000 | 5.000 | 0.2581 | 0.2812 | 0.5484 | 0.2581 | 0.0968 | 0.1935 | 0.0323 | 0.1613 |
| season | 0.60 | 44 | - | 133.000 | 34.000 | 5.000 | 0.000 | 6.000 | 22.000 | 22.000 | 10.000 | 35.000 | 0.2556 | 0.3125 | 0.4286 | 0.2556 | 0.0451 | 0.1654 | 0.0752 | 0.2632 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0840 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1330 |
| predicted_AVG | 0.2596 |
| predicted_BB | 0.1720 |
| predicted_H | 0.8130 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.2130 |
| predicted_OBP | 0.3017 |
| predicted_R | 0.5570 |
| predicted_RBI | 0.5750 |
| predicted_SLG | 0.4922 |
| predicted_SO | 0.6880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.0840 | 0.1020 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0230 | 3.1330 | 3.0670 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2596 | 0.2604 | model_form_blend |
| predicted_BB | 0.2270 | 0.1720 | 0.2050 | model_form_blend |
| predicted_H | 0.7300 | 0.8130 | 0.7632 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1600 | 0.2130 | 0.1812 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3017 | 0.3001 | model_form_blend |
| predicted_R | 0.5000 | 0.5570 | 0.5228 | model_form_blend |
| predicted_RBI | 0.4800 | 0.5750 | 0.5180 | model_form_blend |
| predicted_SLG | 0.5320 | 0.4922 | 0.5161 | model_form_blend |
| predicted_SO | 0.7950 | 0.6880 | 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 | 86 |
| Season rows before report date | 86 |
| 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 | 4 |
| AB | 3 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-C |
| gameID | 20260701_MIA@COL |
| game_type | ph |
| mlbID | 691788 |
| note | Homered for Navarreto in the 7th. |
| playerID | 691788 |
| playerName | Joe Mack |
| pos | C |
| started | False |
| startingPosition | PH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.325 |
| sl_xwoba | 0.317 |
| sl_xba | 0.242 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 39.0 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 23.9 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.143 | 1.000 | -0.143 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.714 | 0.000 | -0.714 | 1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 3.571 | 3.000 | 0.429 | 1.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 2.914 | 3.100 | 1.186 | 1.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.857 | 4.000 | 1.143 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 3.0000 -> 4.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_quality_floor | 2 | 1 | 1 | 0 | 2 | predicted_H: 3.0000 -> 4.0000 (boost 1.0000, worse) | predicted_IP: 4.3333 -> 4.1000 (deboost -0.2333, worse) | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.3333,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_R": 1.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.1,
"delta": -0.2333,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.333 | - |
| predicted_SO | 4.000 | - |
Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 4.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.100 | -0.233 |
| 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 | 18.100 | 9.000 | 20.000 | 8.000 | 16.000 | 2.000 | 4.4182 | 1.5273 | 0.4909 | 1.0909 | 0.4364 | 0.8727 | 0.1091 |
| last_10 | 0.35 | 7 | 21.100 | 12.000 | 25.000 | 8.000 | 20.000 | 2.000 | 5.0625 | 1.5469 | 0.5625 | 1.1719 | 0.3750 | 0.9375 | 0.0938 |
| season | 0.20 | 7 | 21.100 | 12.000 | 25.000 | 8.000 | 20.000 | 2.000 | 5.0625 | 1.5469 | 0.5625 | 1.1719 | 0.3750 | 0.9375 | 0.0938 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5220 |
| predicted_ER | 1.9400 |
| predicted_ERA | 4.5326 |
| predicted_H | 4.0440 |
| predicted_HR | 0.4730 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.5260 |
| predicted_WHIP | 1.4448 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.5220 | 1.2474 | model_form_blend |
| predicted_ER | 1.0000 | 1.9400 | 1.4455 | model_form_blend |
| predicted_ERA | - | 4.5326 | 4.5326 | form_only |
| predicted_H | 3.0000 | 4.0440 | 3.4948 | model_form_blend |
| predicted_HR | 0.0000 | 0.4730 | 0.2242 | model_form_blend |
| predicted_IP | 4.1000 | 4.0000 | 4.2000 | model_form_blend |
| predicted_SO | 4.0000 | 3.5260 | 3.7754 | model_form_blend |
| predicted_WHIP | - | 1.4448 | 1.4448 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 4 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 4 |
| HR | 0 |
| BF | 18 |
| Pitches | 73 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 15 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.06 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.1 |
| Pitching_Pitches | 63 |
| Pitching_R | 0 |
| Pitching_SO | 4 |
| Pitching_Strikes | 41 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260627_MIA@STL |
| game_type | full |
| mlbID | 687473 |
| playerID | 687473 |
| playerName | Ryan Gusto |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-27 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.331 |
| sl_xwoba | 0.347 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 47.1 |
| sl_whiff_percent | 20.1 |
| sl_swing_percent | 49.3 |
| sl_avg_best_speed | 79.438895143 |
| sl_avg_hyper_speed | 94.375762857 |
| 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.686 | 0.000 | 0.314 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.771 | 0.000 | -0.771 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.857 | 1.000 | 0.143 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 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": "676534",
"player_name": "Calvin Faucher",
"position": "Middle Reliever",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 2.000 | 1.000 | 1.000 | 0.000 | 3.6000 | 0.6000 | 0.4000 | 0.4000 | 0.2000 | 0.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 7.000 | 4.000 | 8.000 | 0.000 | 1.6875 | 1.0312 | 0.1875 | 0.6562 | 0.3750 | 0.7500 | 0.0000 |
| season | 0.20 | 35 | 34.200 | 13.000 | 27.000 | 24.000 | 35.000 | 0.000 | 3.3750 | 1.4712 | 0.3750 | 0.7789 | 0.6923 | 1.0096 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3590 |
| predicted_ER | 0.3950 |
| predicted_ERA | 3.5566 |
| predicted_H | 0.7340 |
| predicted_HR | 0.0620 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7220 |
| predicted_WHIP | 1.0927 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3590 | 0.6974 | model_form_blend |
| predicted_ER | 0.0000 | 0.3950 | 0.1865 | model_form_blend |
| predicted_ERA | - | 3.5566 | 3.5566 | form_only |
| predicted_H | 0.0000 | 0.7340 | 0.3465 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0293 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7220 | 0.8688 | model_form_blend |
| predicted_WHIP | - | 1.0927 | 1.0927 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 35 |
| 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 | 3.38 |
| 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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260629_MIA@COL |
| game_type | full |
| mlbID | 676534 |
| playerID | 676534 |
| playerName | Calvin Faucher |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-29 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 15.6 |
| sl_woba | 0.288 |
| sl_xwoba | 0.322 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 41.9 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 39.6 |
| sl_avg_best_speed | 77.752705652 |
| sl_avg_hyper_speed | 94.687211087 |
| 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.211 | 0.000 | -0.211 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.474 | 0.000 | 0.526 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.789 | 1.000 | 0.211 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.763 | 1.000 | 0.237 | 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": "667463",
"player_name": "John King",
"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": 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 | 6.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.6667 | 0.0000 | 0.6667 | 0.0000 | 0.6667 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 1.000 | 8.000 | 0.000 | 9.000 | 0.000 | 0.8710 | 0.7742 | 0.0968 | 0.7742 | 0.0000 | 0.8710 | 0.0000 |
| season | 0.20 | 38 | 37.000 | 8.000 | 18.000 | 8.000 | 29.000 | 3.000 | 1.9459 | 0.7027 | 0.2162 | 0.4865 | 0.2162 | 0.7838 | 0.0811 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1860 |
| predicted_ER | 0.2700 |
| predicted_ERA | 2.2283 |
| predicted_H | 0.8590 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9140 |
| predicted_WHIP | 0.9594 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1860 | 0.0890 | model_form_blend |
| predicted_ER | 0.0000 | 0.2700 | 0.1293 | model_form_blend |
| predicted_ERA | - | 2.2283 | 2.2283 | form_only |
| predicted_H | 1.0000 | 0.8590 | 0.9325 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0359 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9140 | 0.9588 | model_form_blend |
| predicted_WHIP | - | 0.9594 | 0.9594 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 38 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.95 |
| 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 | 5 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 667463 |
| playerID | 667463 |
| playerName | John King |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.209 |
| sl_xwoba | 0.273 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 35.4 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 46.7 |
| sl_avg_best_speed | 79.580554375 |
| sl_avg_hyper_speed | 93.520910632 |
| 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.382 | 0.000 | -0.382 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.382 | 1.000 | -0.382 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.706 | 1.000 | -0.706 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.959 | 1.100 | 0.241 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.294 | 1.000 | -1.294 | -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.2000 (boost 0.2000, better) |
| Biggest Deboost | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 2 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"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": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"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": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 4.000 | 0.000 | 6.000 | 1.000 | 1.8000 | 0.8000 | 0.2000 | 0.8000 | 0.0000 | 1.2000 | 0.2000 |
| last_10 | 0.35 | 10 | 11.000 | 3.000 | 7.000 | 2.000 | 15.000 | 2.000 | 2.4545 | 0.8182 | 0.2727 | 0.6364 | 0.1818 | 1.3636 | 0.1818 |
| season | 0.20 | 34 | 36.100 | 13.000 | 24.000 | 13.000 | 44.000 | 3.000 | 3.2202 | 1.0183 | 0.3578 | 0.6605 | 0.3578 | 1.2110 | 0.0826 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2260 |
| predicted_ER | 0.3560 |
| predicted_ERA | 3.2005 |
| predicted_H | 0.8170 |
| predicted_HR | 0.1610 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1340 |
| predicted_WHIP | 1.0438 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2260 | 0.1078 | model_form_blend |
| predicted_ER | 0.0000 | 0.3560 | 0.1698 | model_form_blend |
| predicted_ERA | - | 3.2005 | 3.2005 | form_only |
| predicted_H | 1.0000 | 0.8170 | 0.9127 | model_form_blend |
| predicted_HR | 0.0000 | 0.1610 | 0.0768 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1340 | 0.5408 | model_form_blend |
| predicted_WHIP | - | 1.0438 | 1.0438 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| 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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.22 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 17 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260629_MIA@COL |
| game_type | full |
| mlbID | 656848 |
| playerID | 656848 |
| playerName | Michael Petersen |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-29 |
| sl_k_percent | 30.1 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.262 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 12.6 |
| sl_hard_hit_percent | 47.1 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 47.7 |
| sl_avg_best_speed | 81.878442273 |
| sl_avg_hyper_speed | 95.13731908 |
| 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.407 | 0.000 | -0.407 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.704 | 1.000 | -0.704 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.852 | 2.000 | -0.852 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.874 | 1.000 | 0.126 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.222 | 1.000 | -1.222 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 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 | 4.000 | 5.000 | 0.000 | 4.000 | 2.000 | 7.2000 | 1.0000 | 0.8000 | 1.0000 | 0.0000 | 0.8000 | 0.4000 |
| last_10 | 0.35 | 10 | 9.200 | 7.000 | 10.000 | 4.000 | 11.000 | 3.000 | 6.5172 | 1.4483 | 0.7241 | 1.0345 | 0.4138 | 1.1379 | 0.3103 |
| season | 0.20 | 27 | 25.000 | 19.000 | 23.000 | 11.000 | 33.000 | 6.000 | 6.8400 | 1.3600 | 0.7600 | 0.9200 | 0.4400 | 1.3200 | 0.2400 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2960 |
| predicted_ER | 0.6310 |
| predicted_ERA | 5.6785 |
| predicted_H | 0.9810 |
| predicted_HR | 0.2410 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9880 |
| predicted_WHIP | 1.2761 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2960 | 0.1296 | model_form_blend |
| predicted_ER | 0.0000 | 0.6310 | 0.2763 | model_form_blend |
| predicted_ERA | - | 5.6785 | 5.6785 | form_only |
| predicted_H | 0.0000 | 0.9810 | 0.4295 | model_form_blend |
| predicted_HR | 0.0000 | 0.2410 | 0.1055 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9880 | 0.4326 | model_form_blend |
| predicted_WHIP | - | 1.2761 | 1.2761 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.84 |
| 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 | 19 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260629_MIA@COL |
| game_type | full |
| mlbID | 664126 |
| playerID | 664126 |
| playerName | Pete Fairbanks |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-29 |
| sl_k_percent | 29.7 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.356 |
| sl_xwoba | 0.323 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 43.8 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 48.6 |
| sl_avg_best_speed | 82.002276129 |
| sl_avg_hyper_speed | 95.473341311 |
| Field | Value |
|---|---|
| Pitcher | Michael Lorenzen |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6819 |
| ESPN Rank | 721 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4.2000 |
| Pre ER | 4 |
| Pre H | 7 |
| Pre BB | 2 |
| Pre SO | 6 |
| Season ERA | 6.8327 |
| Season WHIP | 1.7878 |
| Role Avg IP | 4.7450 |
| Recent Avg IP | 4.8670 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"opponent": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": -0.3744,
"offense_edge": 0.0495,
"opponent_offense_edge": -0.0298,
"defense_strength": -0.2143,
"opponent_defense_weakness": -0.0929,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9798,
"run_prevention": 1.0354,
"strikeout": 0.9912
},
"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": 16.9,
"bb_percent": 6.6,
"woba": 0.4,
"xwoba": 0.359,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 47.6,
"avg_best_speed": 79.5064,
"avg_hyper_speed": 95.1718,
"whiff_percent": 19.7,
"swing_percent": 44.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.1816,
"command_and_miss": -0.5282,
"regression_edge": 1.1714,
"xwoba_edge": -1.3286,
"barrel_edge": -0.2444,
"hard_hit_edge": -1.3286,
"whiff_edge": -0.8286,
"bb_edge": 0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "547179",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.6819,
"sample_weight": 1.0,
"run_prevention_factor": 1.058,
"strikeout_factor": 0.9346,
"walk_factor": 0.95,
"homer_factor": 1.1126,
"woba_minus_xwoba": 0.041,
"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": 721,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 721,
"gp_value": 18.0,
"gp_rank": 228,
"gs_value": 17.0,
"gs_rank": 17,
"qs_value": 1.0,
"qs_rank": 146,
"era_value": 6.8326,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 9.0,
"l_rank": 1,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 81.2,
"ip_rank": 76,
"h_value": 120.0,
"h_rank": 1,
"er_value": 62.0,
"er_rank": 2,
"hr_value": 13.0,
"hr_rank": 36,
"bb_value": 26.0,
"bb_rank": 79,
"k_value": 66.0,
"k_rank": 90,
"k_per_9_value": 7.2734694,
"k_per_9_rank": 31,
"whip_value": 1.7877,
"whip_rank": null,
"war_value": -0.98,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.058,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.058,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.95,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1126,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9346,
"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": 47.2,
"ER": 39,
"H": 69,
"BB": 17,
"SO": 42,
"HR": 7,
"ERA": 7.363636363636363,
"WHIP": 1.804195804195804,
"K9": 7.930069930069929,
"HR9": 1.3216783216783214,
"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-27T00:00:00"
}{
"available": false,
"pitcher_id": "547179",
"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": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"role": "pitcher",
"player_id": "547179",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.1,
"ER": 16.0,
"R": 16.0,
"H": 31.0,
"BB": 6.0,
"SO": 23.0,
"HR": 3.0,
"BF": 112.0,
"Pitches": 440.0
},
"per_game": {
"IP": 5.0,
"ER": 3.2,
"R": 3.2,
"H": 6.2,
"BB": 1.2,
"SO": 4.6,
"HR": 0.6,
"BF": 22.4,
"Pitches": 88.0
},
"rates": {
"ERA": 5.9178,
"WHIP": 1.5205,
"ER_per_IP": 0.65753,
"H_per_IP": 1.27397,
"BB_per_IP": 0.24658,
"SO_per_IP": 0.94521,
"HR_per_IP": 0.12329
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 47.2,
"ER": 39.0,
"R": 40.0,
"H": 69.0,
"BB": 17.0,
"SO": 42.0,
"HR": 7.0,
"BF": 227.0,
"Pitches": 877.0
},
"per_game": {
"IP": 4.2,
"ER": 3.9,
"R": 4.0,
"H": 6.9,
"BB": 1.7,
"SO": 4.2,
"HR": 0.7,
"BF": 22.7,
"Pitches": 87.7
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.8042,
"ER_per_IP": 0.81818,
"H_per_IP": 1.44755,
"BB_per_IP": 0.35664,
"SO_per_IP": 0.88112,
"HR_per_IP": 0.14685
}
},
"season": {
"games": 18,
"totals": {
"IP": 81.2,
"ER": 62.0,
"R": 68.0,
"H": 120.0,
"BB": 26.0,
"SO": 66.0,
"HR": 13.0,
"BF": 391.0,
"Pitches": 1492.0
},
"per_game": {
"IP": 4.2,
"ER": 3.4444,
"R": 3.7778,
"H": 6.6667,
"BB": 1.4444,
"SO": 3.6667,
"HR": 0.7222,
"BF": 21.7222,
"Pitches": 82.8889
},
"rates": {
"ERA": 6.8327,
"WHIP": 1.7878,
"ER_per_IP": 0.75918,
"H_per_IP": 1.46939,
"BB_per_IP": 0.31837,
"SO_per_IP": 0.80816,
"HR_per_IP": 0.15918
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 3.266,
"predicted_H": 6.147,
"predicted_BB": 1.493,
"predicted_SO": 4.344,
"predicted_HR": 0.672,
"predicted_ERA": 6.1441,
"predicted_WHIP": 1.5971
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4419,
"form_weight": 0.5581,
"form_reliability": 0.7826,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.266,
"final": 3.5903,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 6.147,
"final": 6.082,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.493,
"final": 1.717,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.344,
"final": 3.7502,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.672,
"final": 0.3751,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.1441,
"final": 6.1441,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5971,
"final": 1.5971,
"source": "form_only"
}
}
}{
"available": false,
"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.0951 |
| ESPN Rank | 66 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.0682 |
| Season WHIP | 1.1591 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"opponent": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": -0.3744,
"offense_edge": 0.0495,
"opponent_offense_edge": -0.0298,
"defense_strength": -0.2143,
"opponent_defense_weakness": -0.0929,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9798,
"run_prevention": 1.0354,
"strikeout": 0.9912
},
"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": 20.2,
"bb_percent": 7.9,
"woba": 0.282,
"xwoba": 0.289,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 40.2,
"avg_best_speed": 75.9305,
"avg_hyper_speed": 94.0635,
"whiff_percent": 25.0,
"swing_percent": 49.2
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4671,
"command_and_miss": -0.1161,
"regression_edge": -0.2,
"xwoba_edge": 0.6714,
"barrel_edge": 0.2444,
"hard_hit_edge": -0.2714,
"whiff_edge": -0.0714,
"bb_edge": 0.3,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "622608",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0951,
"sample_weight": 0.45,
"run_prevention_factor": 0.9919,
"strikeout_factor": 0.9927,
"walk_factor": 0.9892,
"homer_factor": 0.987,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622608",
"espn_id": 33750,
"player_name": "Antonio Senzatela",
"team": "COL",
"role": "pitcher",
"espn_rank": 66,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 66,
"gp_value": 25.0,
"gp_rank": 167,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.0681,
"era_rank": null,
"w_value": 8.0,
"w_rank": 12,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 2.0,
"hld_rank": 172,
"ip_value": 44.0,
"ip_rank": 171,
"h_value": 37.0,
"h_rank": 187,
"er_value": 15.0,
"er_rank": 258,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 14.0,
"bb_rank": 239,
"k_value": 36.0,
"k_rank": 234,
"k_per_9_value": 7.3636365,
"k_per_9_rank": 36,
"whip_value": 1.159,
"whip_rank": null,
"war_value": 1.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9964,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9967,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.0,
"ER": 11,
"H": 20,
"BB": 6,
"SO": 10,
"HR": 2,
"ERA": 8.250000000000002,
"WHIP": 2.166666666666667,
"K9": 7.500000000000001,
"HR9": 1.5000000000000002,
"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-29T00:00:00"
}{
"available": false,
"pitcher_id": "622608",
"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.722,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6356,
"prior_weight": 0.3644
},
"role": "pitcher",
"player_id": "622608",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 118.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.8,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 5.8,
"Pitches": 23.6
},
"rates": {
"ERA": 9.5294,
"WHIP": 2.1176,
"ER_per_IP": 1.05882,
"H_per_IP": 1.58824,
"BB_per_IP": 0.52941,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 11.0,
"R": 12.0,
"H": 20.0,
"BB": 6.0,
"SO": 10.0,
"HR": 2.0,
"BF": 60.0,
"Pitches": 236.0
},
"per_game": {
"IP": 1.1,
"ER": 1.1,
"R": 1.2,
"H": 2.0,
"BB": 0.6,
"SO": 1.0,
"HR": 0.2,
"BF": 6.0,
"Pitches": 23.6
},
"rates": {
"ERA": 8.25,
"WHIP": 2.1667,
"ER_per_IP": 0.91667,
"H_per_IP": 1.66667,
"BB_per_IP": 0.5,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.16667
}
},
"season": {
"games": 25,
"totals": {
"IP": 44.0,
"ER": 15.0,
"R": 17.0,
"H": 37.0,
"BB": 14.0,
"SO": 36.0,
"HR": 3.0,
"BF": 178.0,
"Pitches": 651.0
},
"per_game": {
"IP": 1.2,
"ER": 0.6,
"R": 0.68,
"H": 1.48,
"BB": 0.56,
"SO": 1.44,
"HR": 0.12,
"BF": 7.12,
"Pitches": 26.04
},
"rates": {
"ERA": 3.0682,
"WHIP": 1.1591,
"ER_per_IP": 0.34091,
"H_per_IP": 0.84091,
"BB_per_IP": 0.31818,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.06818
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.937,
"predicted_H": 1.644,
"predicted_BB": 0.555,
"predicted_SO": 1.074,
"predicted_HR": 0.127,
"predicted_ERA": 6.5829,
"predicted_WHIP": 1.7171
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.504,
"form_weight": 0.496,
"form_reliability": 0.6356,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.722,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6356,
"prior_weight": 0.3644
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.937,
"final": 0.9687,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.644,
"final": 1.3195,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.555,
"final": 0.2753,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.074,
"final": 1.0367,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.127,
"final": 0.567,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.5829,
"final": 6.5829,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7171,
"final": 1.7171,
"source": "form_only"
}
}
}{
"available": false,
"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 | Victor Vodnik |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1456 |
| ESPN Rank | 631 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2785 |
| Avg Velo | 94.7323 |
| Avg Spin | 2236.4512 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 5.5479 |
| Season WHIP | 1.7260 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"opponent": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": -0.3744,
"offense_edge": 0.0495,
"opponent_offense_edge": -0.0298,
"defense_strength": -0.2143,
"opponent_defense_weakness": -0.0929,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9798,
"run_prevention": 1.0354,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680767",
"profile": {
"available": true,
"pitcher_id": "680767",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 14.8,
"bb_percent": 14.8,
"woba": 0.374,
"xwoba": 0.334,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 37.5,
"avg_best_speed": 78.7494,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 45.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.4579,
"command_and_miss": -0.7832,
"regression_edge": 1.1429,
"xwoba_edge": -0.6143,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.1143,
"whiff_edge": 0.0,
"bb_edge": -1.425,
"pitch_design_score": 0.2785
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680767",
"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": 94.73225053228362,
"release_spin_rate": 2236.451246601982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.73225053228362,
"release_spin_rate": 2236.451246601982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7323,
"release_spin_rate": 2236.4512,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2785,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9895,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1456,
"sample_weight": 0.45,
"run_prevention_factor": 1.0124,
"strikeout_factor": 0.9801,
"walk_factor": 1.0513,
"homer_factor": 1.0078,
"woba_minus_xwoba": 0.04,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "680767",
"espn_id": 4722599,
"player_name": "Victor Vodnik",
"team": "COL",
"role": "pitcher",
"espn_rank": 631,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 631,
"gp_value": 23.0,
"gp_rank": 184,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 6.6575,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 4.0,
"sv_rank": 38,
"hld_value": 3.0,
"hld_rank": 153,
"ip_value": 24.1,
"ip_rank": 370,
"h_value": 28.0,
"h_rank": 277,
"er_value": 18.0,
"er_rank": 205,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 17.0,
"bb_rank": 201,
"k_value": 17.0,
"k_rank": 420,
"k_per_9_value": 6.2876716,
"k_per_9_rank": 30,
"whip_value": 1.8493,
"whip_rank": null,
"war_value": -0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0056,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0056,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0231,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0035,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.991,
"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": 4,
"H": 8,
"BB": 7,
"SO": 5,
"HR": 1,
"ERA": 3.375,
"WHIP": 1.40625,
"K9": 4.21875,
"HR9": 0.84375,
"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-29T00:00:00"
}{
"available": true,
"pitcher_id": "680767",
"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": 94.73225053228362,
"release_spin_rate": 2236.451246601982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.73225053228362,
"release_spin_rate": 2236.451246601982,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7323,
"release_spin_rate": 2236.4512,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2785,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9895,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.824,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.491,
"prior_weight": 0.509
},
"role": "pitcher",
"player_id": "680767",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 4.0,
"SO": 1.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 92.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.8,
"SO": 0.2,
"HR": 0.2,
"BF": 5.0,
"Pitches": 18.4
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.1053,
"ER_per_IP": 0.31579,
"H_per_IP": 0.47368,
"BB_per_IP": 0.63158,
"SO_per_IP": 0.15789,
"HR_per_IP": 0.15789
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 8.0,
"SO": 6.0,
"HR": 1.0,
"BF": 49.0,
"Pitches": 182.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.8,
"SO": 0.6,
"HR": 0.1,
"BF": 4.9,
"Pitches": 18.2
},
"rates": {
"ERA": 3.0857,
"WHIP": 1.3714,
"ER_per_IP": 0.34286,
"H_per_IP": 0.68571,
"BB_per_IP": 0.68571,
"SO_per_IP": 0.51429,
"HR_per_IP": 0.08571
}
},
"season": {
"games": 22,
"totals": {
"IP": 24.1,
"ER": 15.0,
"R": 16.0,
"H": 27.0,
"BB": 15.0,
"SO": 17.0,
"HR": 3.0,
"BF": 112.0,
"Pitches": 414.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6818,
"R": 0.7273,
"H": 1.2273,
"BB": 0.6818,
"SO": 0.7727,
"HR": 0.1364,
"BF": 5.0909,
"Pitches": 18.8182
},
"rates": {
"ERA": 5.5479,
"WHIP": 1.726,
"ER_per_IP": 0.61644,
"H_per_IP": 1.10959,
"BB_per_IP": 0.61644,
"SO_per_IP": 0.69863,
"HR_per_IP": 0.12329
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.576,
"predicted_H": 1.07,
"predicted_BB": 0.65,
"predicted_SO": 0.881,
"predicted_HR": 0.178,
"predicted_ERA": 3.9827,
"predicted_WHIP": 1.3227
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5651,
"form_weight": 0.4349,
"form_reliability": 0.491,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.824,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.491,
"prior_weight": 0.509
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.576,
"final": 0.8156,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.07,
"final": 1.5955,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.65,
"final": 0.8478,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.881,
"final": 1.5133,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.178,
"final": 0.0774,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9827,
"final": 3.9827,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3227,
"final": 1.3227,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jimmy Herget |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0796 |
| ESPN Rank | 201 |
| 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.1905 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"opponent": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": -0.3744,
"offense_edge": 0.0495,
"opponent_offense_edge": -0.0298,
"defense_strength": -0.2143,
"opponent_defense_weakness": -0.0929,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9798,
"run_prevention": 1.0354,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623474",
"profile": {
"available": true,
"pitcher_id": "623474",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 69.0,
"k_percent": 25.8,
"bb_percent": 6.7,
"woba": 0.316,
"xwoba": 0.297,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 44.1,
"avg_best_speed": 78.7987,
"avg_hyper_speed": 95.016,
"whiff_percent": 30.6,
"swing_percent": 50.1
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.052,
"command_and_miss": 0.5839,
"regression_edge": 0.5429,
"xwoba_edge": 0.4429,
"barrel_edge": -0.6222,
"hard_hit_edge": -0.8286,
"whiff_edge": 0.7286,
"bb_edge": 0.6,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623474",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0796,
"sample_weight": 0.45,
"run_prevention_factor": 0.9932,
"strikeout_factor": 1.0215,
"walk_factor": 0.9784,
"homer_factor": 1.0313,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623474",
"espn_id": 36093,
"player_name": "Jimmy Herget",
"team": "COL",
"role": "pitcher",
"espn_rank": 201,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 201,
"gp_value": 21.0,
"gp_rank": 204,
"gs_value": 3.0,
"gs_rank": 202,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.8571,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 5.0,
"hld_rank": 107,
"ip_value": 21.0,
"ip_rank": 401,
"h_value": 21.0,
"h_rank": 367,
"er_value": 9.0,
"er_rank": 407,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 6.0,
"bb_rank": 464,
"k_value": 23.0,
"k_rank": 362,
"k_per_9_value": 9.857143,
"k_per_9_rank": 24,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9903,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0141,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0097,
"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": 12,
"BB": 3,
"SO": 12,
"HR": 2,
"ERA": 7.0,
"WHIP": 1.6666666666666667,
"K9": 12.0,
"HR9": 2.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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "623474",
"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.163,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4543,
"prior_weight": 0.5457
},
"role": "pitcher",
"player_id": "623474",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 7.0,
"R": 7.0,
"H": 12.0,
"BB": 3.0,
"SO": 15.0,
"HR": 2.0,
"BF": 44.0,
"Pitches": 179.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.2,
"BB": 0.3,
"SO": 1.5,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.9
},
"rates": {
"ERA": 6.3,
"WHIP": 1.5,
"ER_per_IP": 0.7,
"H_per_IP": 1.2,
"BB_per_IP": 0.3,
"SO_per_IP": 1.5,
"HR_per_IP": 0.2
}
},
"season": {
"games": 20,
"totals": {
"IP": 21.0,
"ER": 9.0,
"R": 9.0,
"H": 20.0,
"BB": 5.0,
"SO": 23.0,
"HR": 2.0,
"BF": 87.0,
"Pitches": 356.0
},
"per_game": {
"IP": 1.0,
"ER": 0.45,
"R": 0.45,
"H": 1.0,
"BB": 0.25,
"SO": 1.15,
"HR": 0.1,
"BF": 4.35,
"Pitches": 17.8
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.1905,
"ER_per_IP": 0.42857,
"H_per_IP": 0.95238,
"BB_per_IP": 0.2381,
"SO_per_IP": 1.09524,
"HR_per_IP": 0.09524
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.422,
"predicted_H": 0.886,
"predicted_BB": 0.305,
"predicted_SO": 1.104,
"predicted_HR": 0.121,
"predicted_ERA": 3.7962,
"predicted_WHIP": 1.1912
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5806,
"form_weight": 0.4194,
"form_reliability": 0.4543,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.163,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4543,
"prior_weight": 0.5457
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.422,
"final": 0.177,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.886,
"final": 0.3716,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.305,
"final": 0.1279,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.104,
"final": 1.0436,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.121,
"final": 0.0508,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7962,
"final": 3.7962,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1912,
"final": 1.1912,
"source": "form_only"
}
}
}{
"available": false,
"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.0681 |
| ESPN Rank | 164 |
| 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 | 1 |
| Pre SO | 0 |
| Season ERA | 3.4752 |
| Season WHIP | 1.3069 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"opponent": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": -0.3744,
"offense_edge": 0.0495,
"opponent_offense_edge": -0.0298,
"defense_strength": -0.2143,
"opponent_defense_weakness": -0.0929,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9798,
"run_prevention": 1.0354,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657514",
"profile": {
"available": true,
"pitcher_id": "657514",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 17.9,
"bb_percent": 6.9,
"woba": 0.311,
"xwoba": 0.308,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 29.2,
"avg_best_speed": 73.961,
"avg_hyper_speed": 92.4406,
"whiff_percent": 21.5,
"swing_percent": 48.2
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4356,
"command_and_miss": -0.3889,
"regression_edge": 0.0857,
"xwoba_edge": 0.1286,
"barrel_edge": 0.3778,
"hard_hit_edge": 1.3,
"whiff_edge": -0.5714,
"bb_edge": 0.55,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "657514",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0681,
"sample_weight": 0.45,
"run_prevention_factor": 0.9942,
"strikeout_factor": 0.9778,
"walk_factor": 0.9802,
"homer_factor": 0.9613,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657514",
"espn_id": 35876,
"player_name": "Brennan Bernardino",
"team": "COL",
"role": "pitcher",
"espn_rank": 164,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 164,
"gp_value": 40.0,
"gp_rank": 10,
"gs_value": 2.0,
"gs_rank": 223,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.4752,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 5.0,
"hld_rank": 107,
"ip_value": 33.2,
"ip_rank": 269,
"h_value": 34.0,
"h_rank": 220,
"er_value": 13.0,
"er_rank": 292,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 10.0,
"bb_rank": 346,
"k_value": 26.0,
"k_rank": 338,
"k_per_9_value": 6.950495,
"k_per_9_rank": 33,
"whip_value": 1.3069,
"whip_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9974,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9974,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.99,
"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": 7,
"BB": 3,
"SO": 7,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.2000000000000002,
"K9": 7.560000000000001,
"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-07-01T00: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": 6.674,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5717,
"prior_weight": 0.4283
},
"role": "pitcher",
"player_id": "657514",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6923,
"ER_per_IP": 0.0,
"H_per_IP": 0.69231,
"BB_per_IP": 0.0,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 0.0,
"R": 0.0,
"H": 7.0,
"BB": 3.0,
"SO": 7.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 129.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.7,
"BB": 0.3,
"SO": 0.7,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.9
},
"rates": {
"ERA": 0.0,
"WHIP": 1.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.84,
"BB_per_IP": 0.36,
"SO_per_IP": 0.84,
"HR_per_IP": 0.0
}
},
"season": {
"games": 40,
"totals": {
"IP": 33.2,
"ER": 13.0,
"R": 16.0,
"H": 34.0,
"BB": 10.0,
"SO": 26.0,
"HR": 2.0,
"BF": 145.0,
"Pitches": 539.0
},
"per_game": {
"IP": 1.0,
"ER": 0.325,
"R": 0.4,
"H": 0.85,
"BB": 0.25,
"SO": 0.65,
"HR": 0.05,
"BF": 3.625,
"Pitches": 13.475
},
"rates": {
"ERA": 3.4752,
"WHIP": 1.3069,
"ER_per_IP": 0.38614,
"H_per_IP": 1.0099,
"BB_per_IP": 0.29703,
"SO_per_IP": 0.77228,
"HR_per_IP": 0.05941
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.203,
"predicted_H": 0.692,
"predicted_BB": 0.205,
"predicted_SO": 0.713,
"predicted_HR": 0.055,
"predicted_ERA": 2.3156,
"predicted_WHIP": 1.1342
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.531,
"form_weight": 0.469,
"form_reliability": 0.5717,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.674,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5717,
"prior_weight": 0.4283
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.203,
"final": 0.0952,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.692,
"final": 0.3246,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.205,
"final": 0.6271,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.713,
"final": 0.3344,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0258,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3156,
"final": 2.3156,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1342,
"final": 1.1342,
"source": "form_only"
}
}
}{
"available": false,
"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.0232 |
| ESPN Rank | 650 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 6.2845 |
| Season WHIP | 1.6552 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 96,
"wins": 38,
"losses": 58,
"win_pct": 0.3958,
"runs_scored": 456.0,
"runs_allowed": 553.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0104,
"avg_runs_scored": 4.75,
"avg_runs_allowed": 5.7604,
"offense_index": 1.0495,
"defense_index": 0.7857,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 6.5,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2463
},
"opponent": {
"team": "MIA",
"games": 92,
"wins": 49,
"losses": 43,
"win_pct": 0.5326,
"runs_scored": 404.0,
"runs_allowed": 381.0,
"run_differential": 23.0,
"run_differential_per_game": 0.25,
"avg_runs_scored": 4.3913,
"avg_runs_allowed": 4.1413,
"offense_index": 0.9702,
"defense_index": 1.0929,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 3.0,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.1281
},
"edges": {
"quality_edge": -0.3744,
"offense_edge": 0.0495,
"opponent_offense_edge": -0.0298,
"defense_strength": -0.2143,
"opponent_defense_weakness": -0.0929,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9798,
"run_prevention": 1.0354,
"strikeout": 0.9912
},
"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": 23.0,
"bb_percent": 11.8,
"woba": 0.34,
"xwoba": 0.322,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 40.4,
"avg_best_speed": 78.797,
"avg_hyper_speed": 94.7356,
"whiff_percent": 27.2,
"swing_percent": 49.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.174,
"command_and_miss": -0.0211,
"regression_edge": 0.5143,
"xwoba_edge": -0.2714,
"barrel_edge": 0.6667,
"hard_hit_edge": -0.3,
"whiff_edge": 0.2429,
"bb_edge": -0.675,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "675848",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0232,
"sample_weight": 0.45,
"run_prevention_factor": 1.002,
"strikeout_factor": 1.0055,
"walk_factor": 1.0243,
"homer_factor": 0.9851,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675848",
"espn_id": 5185107,
"player_name": "Juan Mejia",
"team": "COL",
"role": "pitcher",
"espn_rank": 650,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 650,
"gp_value": 35.0,
"gp_rank": 55,
"gs_value": 1.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 6.2844,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 6.0,
"hld_rank": 87,
"ip_value": 38.2,
"ip_rank": 210,
"h_value": 43.0,
"h_rank": 160,
"er_value": 27.0,
"er_rank": 130,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 21.0,
"bb_rank": 141,
"k_value": 41.0,
"k_rank": 190,
"k_per_9_value": 9.543104,
"k_per_9_rank": 24,
"whip_value": 1.6551,
"whip_rank": null,
"war_value": -0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0009,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0009,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0109,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9933,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0025,
"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": 12,
"BB": 5,
"SO": 10,
"HR": 2,
"ERA": 7.59375,
"WHIP": 1.59375,
"K9": 8.4375,
"HR9": 1.6875,
"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-07-01T00: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": 7.665,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6052,
"prior_weight": 0.3948
},
"role": "pitcher",
"player_id": "675848",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 1.0,
"SO": 4.0,
"HR": 2.0,
"BF": 27.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.1,
"ER": 1.0,
"R": 1.0,
"H": 1.6,
"BB": 0.2,
"SO": 0.8,
"HR": 0.4,
"BF": 5.4,
"Pitches": 19.2
},
"rates": {
"ERA": 6.75,
"WHIP": 1.35,
"ER_per_IP": 0.75,
"H_per_IP": 1.2,
"BB_per_IP": 0.15,
"SO_per_IP": 0.6,
"HR_per_IP": 0.3
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 9.0,
"R": 11.0,
"H": 12.0,
"BB": 5.0,
"SO": 10.0,
"HR": 2.0,
"BF": 48.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 1.1,
"H": 1.2,
"BB": 0.5,
"SO": 1.0,
"HR": 0.2,
"BF": 4.8,
"Pitches": 18.5
},
"rates": {
"ERA": 7.5938,
"WHIP": 1.5938,
"ER_per_IP": 0.84375,
"H_per_IP": 1.125,
"BB_per_IP": 0.46875,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 35,
"totals": {
"IP": 38.2,
"ER": 27.0,
"R": 29.0,
"H": 43.0,
"BB": 21.0,
"SO": 41.0,
"HR": 4.0,
"BF": 178.0,
"Pitches": 735.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7714,
"R": 0.8286,
"H": 1.2286,
"BB": 0.6,
"SO": 1.1714,
"HR": 0.1143,
"BF": 5.0857,
"Pitches": 21.0
},
"rates": {
"ERA": 6.2845,
"WHIP": 1.6552,
"ER_per_IP": 0.69828,
"H_per_IP": 1.11207,
"BB_per_IP": 0.5431,
"SO_per_IP": 1.06034,
"HR_per_IP": 0.10345
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.549,
"predicted_H": 0.894,
"predicted_BB": 0.287,
"predicted_SO": 0.717,
"predicted_HR": 0.159,
"predicted_ERA": 5.9757,
"predicted_WHIP": 1.4279
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5168,
"form_weight": 0.4832,
"form_reliability": 0.6052,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.665,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6052,
"prior_weight": 0.3948
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.549,
"final": 0.7821,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.894,
"final": 0.9488,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.287,
"final": 0.6555,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.717,
"final": 0.8633,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.159,
"final": 0.0768,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.9757,
"final": 5.9757,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4279,
"final": 1.4279,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Zach Agnos |
| Role | Reliever |
| Projection Source | - |
| Savant Quality Score | -0.5139 |
| ESPN Rank | 706 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 1 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | - |
| Season WHIP | - |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"available": false,
"reason": "No team-form snapshot was stored for this pitcher row.",
"display_fallback": "Use the game-level Team Form Snapshot section for team context."
}{
"available": false,
"reason": "No pitcher-specific recent-form block was stored for this row.",
"display_fallback": "Use Player Form Blend windows for last-5, last-10, and season pitcher form."
}{
"available": false,
"pitcher_id": "688642",
"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": 10.176,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6705,
"prior_weight": 0.3295
},
"role": "pitcher",
"player_id": "688642",
"report_date": "20260702_M",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 11.1,
"ER": 8.0,
"R": 9.0,
"H": 15.0,
"BB": 7.0,
"SO": 7.0,
"HR": 0.0,
"BF": 53.0,
"Pitches": 199.0
},
"per_game": {
"IP": 2.1,
"ER": 1.6,
"R": 1.8,
"H": 3.0,
"BB": 1.4,
"SO": 1.4,
"HR": 0.0,
"BF": 10.6,
"Pitches": 39.8
},
"rates": {
"ERA": 6.3529,
"WHIP": 1.9412,
"ER_per_IP": 0.70588,
"H_per_IP": 1.32353,
"BB_per_IP": 0.61765,
"SO_per_IP": 0.61765,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 26.2,
"ER": 26.0,
"R": 27.0,
"H": 36.0,
"BB": 13.0,
"SO": 16.0,
"HR": 5.0,
"BF": 127.0,
"Pitches": 461.0
},
"per_game": {
"IP": 2.2,
"ER": 2.6,
"R": 2.7,
"H": 3.6,
"BB": 1.3,
"SO": 1.6,
"HR": 0.5,
"BF": 12.7,
"Pitches": 46.1
},
"rates": {
"ERA": 8.775,
"WHIP": 1.8375,
"ER_per_IP": 0.975,
"H_per_IP": 1.35,
"BB_per_IP": 0.4875,
"SO_per_IP": 0.6,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 22,
"totals": {
"IP": 51.1,
"ER": 42.0,
"R": 45.0,
"H": 63.0,
"BB": 23.0,
"SO": 35.0,
"HR": 8.0,
"BF": 238.0,
"Pitches": 882.0
},
"per_game": {
"IP": 2.1,
"ER": 1.9091,
"R": 2.0455,
"H": 2.8636,
"BB": 1.0455,
"SO": 1.5909,
"HR": 0.3636,
"BF": 10.8182,
"Pitches": 40.0909
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.6753,
"ER_per_IP": 0.81818,
"H_per_IP": 1.22727,
"BB_per_IP": 0.44805,
"SO_per_IP": 0.68182,
"HR_per_IP": 0.15584
}
}
},
"weighted_prediction": {
"predicted_IP": 1.2,
"predicted_ER": 1.254,
"predicted_H": 2.101,
"predicted_BB": 0.839,
"predicted_SO": 1.284,
"predicted_HR": 0.199,
"predicted_ERA": 6.4393,
"predicted_WHIP": 1.6775
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4892,
"form_weight": 0.5108,
"form_reliability": 0.6705,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.176,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6705,
"prior_weight": 0.3295
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.2,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.254,
"final": 0.6405,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 2.101,
"final": 1.0732,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.839,
"final": 0.4285,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.284,
"final": 0.6558,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.199,
"final": 0.1016,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.4393,
"final": 6.4393,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6775,
"final": 1.6775,
"source": "form_only"
}
}
}{
"available": false,
"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.196 | 0.000 | 0.000 | Hitting_2B | 0.222 | 1.000 | -0.222 | -1.000 |
| predicted_3B | 0.059 | 0.000 | 0.000 | Hitting_3B | 0.058 | 1.000 | -0.058 | -1.000 |
| predicted_AB | 3.750 | 4.000 | 4.000 | Hitting_AB | 3.737 | 4.000 | 0.263 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.296 | 0.750 | -0.296 | -0.750 |
| predicted_BB | 0.196 | 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.890 | 0.000 | 1.000 | Hitting_H | 1.105 | 3.000 | -1.105 | -3.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_OBP | 0.294 | 0.000 | 0.250 | Hitting_OBP | 0.352 | 0.750 | -0.352 | -0.750 |
| predicted_R | 0.490 | 0.000 | 0.000 | Hitting_R | 0.585 | 2.000 | -0.585 | -2.000 |
| predicted_RBI | 0.690 | 0.000 | 1.000 | Hitting_RBI | 0.778 | 3.000 | -0.778 | -3.000 |
| predicted_SLG | 0.593 | 0.000 | 0.250 | Hitting_SLG | 0.654 | 2.250 | -0.654 | -2.250 |
| predicted_SO | 0.902 | 0.000 | 1.000 | Hitting_SO | 0.977 | 0.000 | -0.977 | 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.7500 -> 4.0000 (boost 0.2500, better) |
| Biggest Deboost | predicted_SO: 0.9020 -> 0.0000 (deboost -0.9020, 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_AVG: 0.2380 -> 0.2430 (boost 0.0050, better) | predicted_AB: 3.7500 -> 3.5963 (deboost -0.1537, worse) | Final model input calibrated with local form: 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.5916 -> 0.5264 (deboost -0.0652, 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_AB: 3.5963 -> 4.0000 (boost 0.4037, better) | predicted_HR: 0.2389 -> 0.0000 (deboost -0.2389, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.226 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4683 -> 0.0000 (deboost -0.4683, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2358 -> 0.2500 (boost 0.0142, better) | predicted_SLG: 0.5264 -> 0.2500 (deboost -0.2764, 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_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.5264 (boost 0.2764, better) | predicted_AVG: 0.2500 -> 0.2358 (deboost -0.0142, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666160",
"player_name": "Mickey Moniak",
"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.196,
"predicted_3B": 0.059,
"predicted_AB": 3.75,
"predicted_AVG": 0.238,
"predicted_BB": 0.196,
"predicted_H": 0.89,
"predicted_HR": 0.23,
"predicted_OBP": 0.294,
"predicted_R": 0.49,
"predicted_RBI": 0.69,
"predicted_SLG": 0.593,
"predicted_SO": 0.902
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1882,
"predicted_3B": 0.0701,
"predicted_AB": 3.5963,
"predicted_AVG": 0.243,
"predicted_BB": 0.1923,
"predicted_H": 0.8712,
"predicted_HBP": 0.034,
"predicted_HR": 0.2443,
"predicted_OBP": 0.2946,
"predicted_R": 0.492,
"predicted_RBI": 0.7175,
"predicted_SLG": 0.5916,
"predicted_SO": 0.886
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.1882,
"delta": -0.0078,
"percent_delta": -0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0701,
"delta": 0.0111,
"percent_delta": 0.1881,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.5963,
"delta": -0.1537,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.243,
"delta": 0.005,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.1923,
"delta": -0.0037,
"percent_delta": -0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8712,
"delta": -0.0188,
"percent_delta": -0.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2443,
"delta": 0.0143,
"percent_delta": 0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2946,
"delta": 0.0006,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 0.492,
"delta": 0.002,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.7175,
"delta": 0.0275,
"percent_delta": 0.0399,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.593,
"after": 0.5916,
"delta": -0.0014,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.902,
"after": 0.886,
"delta": -0.016,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.243,
"delta": 0.005,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 3.5963,
"delta": -0.1537,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1882,
"predicted_3B": 0.0701,
"predicted_AB": 3.5963,
"predicted_AVG": 0.2358,
"predicted_BB": 0.1905,
"predicted_H": 0.8481,
"predicted_HBP": 0.034,
"predicted_HR": 0.2389,
"predicted_OBP": 0.2743,
"predicted_R": 0.4683,
"predicted_RBI": 0.6829,
"predicted_SLG": 0.5264,
"predicted_SO": 0.8942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1882,
"after": 0.1882,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0701,
"after": 0.0701,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5963,
"after": 3.5963,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2358,
"delta": -0.0072,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1923,
"after": 0.1905,
"delta": -0.0018,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8712,
"after": 0.8481,
"delta": -0.0231,
"percent_delta": -0.0265,
"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.2443,
"after": 0.2389,
"delta": -0.0054,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2946,
"after": 0.2743,
"delta": -0.0203,
"percent_delta": -0.0689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.4683,
"delta": -0.0237,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7175,
"after": 0.6829,
"delta": -0.0346,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5916,
"after": 0.5264,
"delta": -0.0652,
"percent_delta": -0.1102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.886,
"after": 0.8942,
"delta": 0.0082,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5916,
"after": 0.5264,
"delta": -0.0652,
"percent_delta": -0.1102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.75), rates preserved: AVG=0.226 HR/AB=0.064",
"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.1882,
"after": 0.0,
"delta": -0.1882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0701,
"after": 0.0,
"delta": -0.0701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5963,
"after": 4.0,
"delta": 0.4037,
"percent_delta": 0.1123,
"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.8481,
"after": 1.0,
"delta": 0.1519,
"percent_delta": 0.1791,
"direction": "boost",
"projection_effect": "better",
"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.2389,
"after": 0.0,
"delta": -0.2389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6829,
"after": 1.0,
"delta": 0.3171,
"percent_delta": 0.4643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8942,
"after": 1.0,
"delta": 0.1058,
"percent_delta": 0.1183,
"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_AB",
"before": 3.5963,
"after": 4.0,
"delta": 0.4037,
"percent_delta": 0.1123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2389,
"after": 0.0,
"delta": -0.2389,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4683,
"after": 0.0,
"delta": -0.4683,
"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.4683,
"after": 0.0,
"delta": -0.4683,
"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.2358,
"after": 0.25,
"delta": 0.0142,
"percent_delta": 0.0602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2743,
"after": 0.25,
"delta": -0.0243,
"percent_delta": -0.0886,
"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.5264,
"after": 0.25,
"delta": -0.2764,
"percent_delta": -0.5251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2358,
"after": 0.25,
"delta": 0.0142,
"percent_delta": 0.0602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5264,
"after": 0.25,
"delta": -0.2764,
"percent_delta": -0.5251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2358,
"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.2743,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5264,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2358,
"delta": -0.0142,
"percent_delta": -0.0567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2743,
"delta": 0.0243,
"percent_delta": 0.0971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5264,
"delta": 0.2764,
"percent_delta": 1.1057,
"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.5264,
"delta": 0.2764,
"percent_delta": 1.1057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2358,
"delta": -0.0142,
"percent_delta": -0.0567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2358,
"delta": -0.0022,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2743,
"delta": -0.0197,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.0,
"delta": -0.69,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.593,
"after": 0.5264,
"delta": -0.0666,
"percent_delta": -0.1123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.902,
"after": 0.0,
"delta": -0.902,
"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.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.902,
"after": 0.0,
"delta": -0.902,
"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.196 | - |
| predicted_3B | 0.059 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.196 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.490 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.593 | - |
| predicted_SO | 0.902 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | -0.008 |
| predicted_3B | 0.070 | 0.011 |
| predicted_AB | 3.596 | -0.154 |
| predicted_AVG | 0.243 | 0.005 |
| predicted_BB | 0.192 | -0.004 |
| predicted_H | 0.871 | -0.019 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.244 | 0.014 |
| predicted_OBP | 0.295 | 0.001 |
| predicted_R | 0.492 | 0.002 |
| predicted_RBI | 0.718 | 0.028 |
| predicted_SLG | 0.592 | -0.001 |
| predicted_SO | 0.886 | -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.188 | 0.000 |
| predicted_3B | 0.070 | 0.000 |
| predicted_AB | 3.596 | 0.000 |
| predicted_AVG | 0.236 | -0.007 |
| predicted_BB | 0.191 | -0.002 |
| predicted_H | 0.848 | -0.023 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.239 | -0.005 |
| predicted_OBP | 0.274 | -0.020 |
| predicted_R | 0.468 | -0.024 |
| predicted_RBI | 0.683 | -0.035 |
| predicted_SLG | 0.526 | -0.065 |
| predicted_SO | 0.894 | 0.008 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.226 HR/AB=0.064
| 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.070 |
| predicted_AB | 4.000 | 0.404 |
| predicted_AVG | 0.250 | 0.014 |
| predicted_BB | 0.000 | -0.191 |
| predicted_H | 1.000 | 0.152 |
| predicted_HR | 0.000 | -0.239 |
| predicted_OBP | 0.250 | -0.024 |
| predicted_R | 0.000 | -0.468 |
| predicted_RBI | 1.000 | 0.317 |
| predicted_SLG | 0.250 | -0.276 |
| predicted_SO | 1.000 | 0.106 |
Attached 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 | 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 | 1.000 | 2.000 | 6.000 | 3.000 | 1.000 | 4.000 | 0.2353 | 0.2778 | 0.7647 | 0.2353 | 0.1177 | 0.3529 | 0.0588 | 0.2353 |
| last_10 | 0.20 | 10 | - | 29.000 | 6.000 | 1.000 | 1.000 | 2.000 | 7.000 | 4.000 | 1.000 | 8.000 | 0.2069 | 0.2333 | 0.5172 | 0.2069 | 0.0690 | 0.2414 | 0.0345 | 0.2759 |
| season | 0.60 | 51 | - | 174.000 | 47.000 | 10.000 | 3.000 | 14.000 | 35.000 | 25.000 | 10.000 | 46.000 | 0.2701 | 0.3191 | 0.6034 | 0.2701 | 0.0805 | 0.2011 | 0.0575 | 0.2644 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1770 |
| predicted_3B | 0.0860 |
| predicted_AB | 3.3750 |
| predicted_AVG | 0.2501 |
| predicted_BB | 0.1870 |
| predicted_H | 0.8440 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.2650 |
| predicted_OBP | 0.2954 |
| predicted_R | 0.4950 |
| predicted_RBI | 0.7570 |
| predicted_SLG | 0.5895 |
| predicted_SO | 0.8630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1960 | 0.1770 | 0.1882 | model_form_blend |
| predicted_3B | 0.0590 | 0.0860 | 0.0701 | model_form_blend |
| predicted_AB | 3.7500 | 3.3750 | 3.5963 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2501 | 0.2430 | model_form_blend |
| predicted_BB | 0.1960 | 0.1870 | 0.1923 | model_form_blend |
| predicted_H | 0.8900 | 0.8440 | 0.8712 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.2300 | 0.2650 | 0.2443 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2954 | 0.2946 | model_form_blend |
| predicted_R | 0.4900 | 0.4950 | 0.4920 | model_form_blend |
| predicted_RBI | 0.6900 | 0.7570 | 0.7175 | model_form_blend |
| predicted_SLG | 0.5930 | 0.5895 | 0.5916 | model_form_blend |
| predicted_SO | 0.9020 | 0.8630 | 0.8860 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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.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 | 1 |
| 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 | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 9 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 666160 |
| playerID | 666160 |
| playerName | Mickey Moniak |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.389 |
| sl_xwoba | 0.32 |
| sl_xba | 0.229 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 13.7 |
| sl_hard_hit_percent | 41.2 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 24.0 |
| sl_whiff_percent | 28.5 |
| 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_2B | 0.242 | 1.000 | 0.000 | Hitting_2B | 0.172 | 0.000 | 0.828 | 1.000 |
| predicted_3B | 0.076 | 0.000 | 0.000 | Hitting_3B | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_AB | 3.750 | 4.000 | 4.000 | Hitting_AB | 3.337 | 4.000 | 0.663 | 0.000 |
| predicted_AVG | 0.252 | 0.250 | 0.250 | Hitting_AVG | 0.266 | 0.000 | -0.016 | 0.250 |
| predicted_BB | 0.182 | 0.000 | 0.000 | Hitting_BB | 0.178 | 0.000 | -0.178 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 0.888 | 0.000 | 0.112 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_OBP | 0.298 | 0.250 | 0.250 | Hitting_OBP | 0.305 | 0.000 | -0.055 | 0.250 |
| predicted_R | 0.455 | 0.000 | 0.000 | Hitting_R | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.485 | 0.000 | -0.485 | 0.000 |
| predicted_SLG | 0.513 | 0.500 | 0.250 | Hitting_SLG | 0.417 | 0.000 | 0.083 | 0.500 |
| predicted_SO | 0.697 | 1.000 | 1.000 | Hitting_SO | 0.675 | 1.000 | 0.325 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_2B: 0.2420 -> 1.0000 (boost 0.7580, better) |
| Biggest Deboost | predicted_RBI: 0.5300 -> 0.0000 (deboost -0.5300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2520 -> 0.2611 (boost 0.0091, better) | predicted_SLG: 0.5130 -> 0.4939 (deboost -0.0191, worse) | Final model input calibrated with local form: 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.4939 -> 0.4408 (deboost -0.0531, 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.5352 -> 1.0000 (boost 0.4648, better) | predicted_2B: 0.2550 -> 0.0000 (deboost -0.2550, worse) | AB rounded to 4 (raw=3.78), rates preserved: AVG=0.254 HR/AB=0.024 |
| 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4408 -> 0.2500 (deboost -0.1908, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 1.0000 -> 0.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.4408 (boost 0.1908, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664983",
"player_name": "Jake McCarthy",
"position": "RF",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.242,
"predicted_3B": 0.076,
"predicted_AB": 3.75,
"predicted_AVG": 0.252,
"predicted_BB": 0.182,
"predicted_H": 0.94,
"predicted_HR": 0.1,
"predicted_OBP": 0.298,
"predicted_R": 0.455,
"predicted_RBI": 0.53,
"predicted_SLG": 0.513,
"predicted_SO": 0.697
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.255,
"predicted_3B": 0.0907,
"predicted_AB": 3.7797,
"predicted_AVG": 0.2611,
"predicted_BB": 0.1678,
"predicted_H": 0.9844,
"predicted_HBP": 0.012,
"predicted_HR": 0.0925,
"predicted_OBP": 0.2993,
"predicted_R": 0.4571,
"predicted_RBI": 0.5623,
"predicted_SLG": 0.4939,
"predicted_SO": 0.6773
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.255,
"delta": 0.013,
"percent_delta": 0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.076,
"after": 0.0907,
"delta": 0.0147,
"percent_delta": 0.1934,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.7797,
"delta": 0.0297,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2611,
"delta": 0.0091,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.1678,
"delta": -0.0142,
"percent_delta": -0.078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9844,
"delta": 0.0444,
"percent_delta": 0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0925,
"delta": -0.0075,
"percent_delta": -0.075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2993,
"delta": 0.0013,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.4571,
"delta": 0.0021,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5623,
"delta": 0.0323,
"percent_delta": 0.0609,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.513,
"after": 0.4939,
"delta": -0.0191,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.697,
"after": 0.6773,
"delta": -0.0197,
"percent_delta": -0.0283,
"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.252,
"after": 0.2611,
"delta": 0.0091,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.513,
"after": 0.4939,
"delta": -0.0191,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.255,
"predicted_3B": 0.0907,
"predicted_AB": 3.7797,
"predicted_AVG": 0.2535,
"predicted_BB": 0.1662,
"predicted_H": 0.9583,
"predicted_HBP": 0.012,
"predicted_HR": 0.0905,
"predicted_OBP": 0.285,
"predicted_R": 0.4351,
"predicted_RBI": 0.5352,
"predicted_SLG": 0.4408,
"predicted_SO": 0.6836
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.255,
"after": 0.255,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0907,
"after": 0.0907,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7797,
"after": 3.7797,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2611,
"after": 0.2535,
"delta": -0.0076,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1678,
"after": 0.1662,
"delta": -0.0016,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9844,
"after": 0.9583,
"delta": -0.0261,
"percent_delta": -0.0265,
"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.0925,
"after": 0.0905,
"delta": -0.002,
"percent_delta": -0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2993,
"after": 0.285,
"delta": -0.0143,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4571,
"after": 0.4351,
"delta": -0.022,
"percent_delta": -0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5623,
"after": 0.5352,
"delta": -0.0271,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4939,
"after": 0.4408,
"delta": -0.0531,
"percent_delta": -0.1075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6773,
"after": 0.6836,
"delta": 0.0063,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4939,
"after": 0.4408,
"delta": -0.0531,
"percent_delta": -0.1075,
"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.254 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0907,
"after": 0.0,
"delta": -0.0907,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7797,
"after": 4.0,
"delta": 0.2203,
"percent_delta": 0.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1662,
"after": 0.0,
"delta": -0.1662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9583,
"after": 1.0,
"delta": 0.0417,
"percent_delta": 0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0905,
"after": 0.0,
"delta": -0.0905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5352,
"after": 1.0,
"delta": 0.4648,
"percent_delta": 0.8685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6836,
"after": 1.0,
"delta": 0.3164,
"percent_delta": 0.4628,
"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.5352,
"after": 1.0,
"delta": 0.4648,
"percent_delta": 0.8685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.255,
"after": 0.0,
"delta": -0.255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2535,
"after": 0.25,
"delta": -0.0035,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.25,
"delta": -0.035,
"percent_delta": -0.1228,
"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.4408,
"after": 0.25,
"delta": -0.1908,
"percent_delta": -0.4328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4408,
"after": 0.25,
"delta": -0.1908,
"percent_delta": -0.4328,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2535,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.285,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4408,
"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.2535,
"delta": 0.0035,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.285,
"delta": 0.035,
"percent_delta": 0.14,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4408,
"delta": 0.1908,
"percent_delta": 0.7632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.4408,
"delta": 0.1908,
"percent_delta": 0.7632,
"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": 1.0,
"delta": 0.758,
"percent_delta": 3.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2535,
"delta": 0.0015,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.285,
"delta": -0.013,
"percent_delta": -0.0436,
"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.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.513,
"after": 0.4408,
"delta": -0.0722,
"percent_delta": -0.1407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.697,
"after": 1.0,
"delta": 0.303,
"percent_delta": 0.4347,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.242,
"after": 1.0,
"delta": 0.758,
"percent_delta": 3.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.242 | - |
| predicted_3B | 0.076 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.182 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.513 | - |
| predicted_SO | 0.697 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.255 | 0.013 |
| predicted_3B | 0.091 | 0.015 |
| predicted_AB | 3.780 | 0.030 |
| predicted_AVG | 0.261 | 0.009 |
| predicted_BB | 0.168 | -0.014 |
| predicted_H | 0.984 | 0.044 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.092 | -0.008 |
| predicted_OBP | 0.299 | 0.001 |
| predicted_R | 0.457 | 0.002 |
| predicted_RBI | 0.562 | 0.032 |
| predicted_SLG | 0.494 | -0.019 |
| predicted_SO | 0.677 | -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.255 | 0.000 |
| predicted_3B | 0.091 | 0.000 |
| predicted_AB | 3.780 | 0.000 |
| predicted_AVG | 0.254 | -0.008 |
| predicted_BB | 0.166 | -0.002 |
| predicted_H | 0.958 | -0.026 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.090 | -0.002 |
| predicted_OBP | 0.285 | -0.014 |
| predicted_R | 0.435 | -0.022 |
| predicted_RBI | 0.535 | -0.027 |
| predicted_SLG | 0.441 | -0.053 |
| predicted_SO | 0.684 | 0.006 |
AB rounded to 4 (raw=3.78), rates preserved: AVG=0.254 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 | 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.255 |
| predicted_3B | 0.000 | -0.091 |
| predicted_AB | 4.000 | 0.220 |
| predicted_AVG | 0.250 | -0.004 |
| predicted_BB | 0.000 | -0.166 |
| predicted_H | 1.000 | 0.042 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.250 | -0.035 |
| predicted_R | 0.000 | -0.435 |
| predicted_RBI | 1.000 | 0.465 |
| predicted_SLG | 0.250 | -0.191 |
| predicted_SO | 1.000 | 0.316 |
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 | 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 | 4.000 | 2.000 | 1.000 | 0.000 | 3.000 | 2.000 | 0.000 | 2.000 | 0.2000 | 0.2000 | 0.4000 | 0.2000 | 0.0000 | 0.1500 | 0.0000 | 0.1000 |
| last_10 | 0.20 | 10 | - | 43.000 | 13.000 | 3.000 | 2.000 | 1.000 | 9.000 | 5.000 | 1.000 | 6.000 | 0.3023 | 0.3182 | 0.5349 | 0.3023 | 0.0233 | 0.2093 | 0.0233 | 0.1395 |
| season | 0.60 | 66 | - | 238.000 | 70.000 | 16.000 | 5.000 | 6.000 | 36.000 | 30.000 | 12.000 | 46.000 | 0.2941 | 0.3281 | 0.4790 | 0.2941 | 0.0252 | 0.1513 | 0.0504 | 0.1933 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2730 |
| predicted_3B | 0.1110 |
| predicted_AB | 3.8210 |
| predicted_AVG | 0.2738 |
| predicted_BB | 0.1480 |
| predicted_H | 1.0460 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.3011 |
| predicted_R | 0.4600 |
| predicted_RBI | 0.6070 |
| predicted_SLG | 0.4674 |
| predicted_SO | 0.6500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2420 | 0.2730 | 0.2550 | model_form_blend |
| predicted_3B | 0.0760 | 0.1110 | 0.0907 | model_form_blend |
| predicted_AB | 3.7500 | 3.8210 | 3.7797 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2738 | 0.2611 | model_form_blend |
| predicted_BB | 0.1820 | 0.1480 | 0.1678 | model_form_blend |
| predicted_H | 0.9400 | 1.0460 | 0.9844 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1000 | 0.0820 | 0.0925 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3011 | 0.2993 | model_form_blend |
| predicted_R | 0.4550 | 0.4600 | 0.4571 | model_form_blend |
| predicted_RBI | 0.5300 | 0.6070 | 0.5623 | model_form_blend |
| predicted_SLG | 0.5130 | 0.4674 | 0.4939 | model_form_blend |
| predicted_SO | 0.6970 | 0.6500 | 0.6773 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 169 |
| Season rows before report date | 169 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.294 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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-LF |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 664983 |
| playerID | 664983 |
| playerName | Jake McCarthy |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.349 |
| sl_xwoba | 0.303 |
| sl_xba | 0.261 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 25.3 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 55.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.181 | 0.000 | 0.000 | Hitting_2B | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.750 | 4.000 | 4.000 | Hitting_AB | 3.677 | 4.000 | 0.323 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.262 | 0.000 | -0.262 | 0.000 |
| predicted_BB | 0.347 | 0.000 | 0.000 | Hitting_BB | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.965 | 0.000 | -0.965 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_OBP | 0.294 | 0.000 | 0.250 | Hitting_OBP | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_R | 0.514 | 0.000 | 0.000 | Hitting_R | 0.551 | 0.000 | -0.551 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_SLG | 0.436 | 0.000 | 0.250 | Hitting_SLG | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_SO | 1.056 | 0.000 | 1.000 | Hitting_SO | 1.192 | 2.000 | -1.192 | -2.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.7500 -> 4.0000 (boost 0.2500, 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 | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.7500 -> 3.8425 (boost 0.0925, better) | predicted_SLG: 0.4360 -> 0.3963 (deboost -0.0397, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3963 -> 0.3474 (deboost -0.0489, 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.8425 -> 4.0000 (boost 0.1575, better) | predicted_RBI: 0.3462 -> 0.0000 (deboost -0.3462, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.234 HR/AB=0.023 |
| 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 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2345 -> 0.2500 (boost 0.0155, better) | predicted_SLG: 0.3474 -> 0.2500 (deboost -0.0974, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3474 (boost 0.0974, better) | predicted_AVG: 0.2500 -> 0.2345 (deboost -0.0155, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650489",
"player_name": "Willi Castro",
"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.181,
"predicted_3B": 0.0,
"predicted_AB": 3.75,
"predicted_AVG": 0.237,
"predicted_BB": 0.347,
"predicted_H": 0.89,
"predicted_HR": 0.1,
"predicted_OBP": 0.294,
"predicted_R": 0.514,
"predicted_RBI": 0.37,
"predicted_SLG": 0.436,
"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.1645,
"predicted_3B": 0.0004,
"predicted_AB": 3.8425,
"predicted_AVG": 0.2405,
"predicted_BB": 0.3132,
"predicted_H": 0.9255,
"predicted_HBP": 0.028,
"predicted_HR": 0.0915,
"predicted_OBP": 0.2945,
"predicted_R": 0.5208,
"predicted_RBI": 0.3637,
"predicted_SLG": 0.3963,
"predicted_SO": 1.1316
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.1645,
"delta": -0.0165,
"percent_delta": -0.0912,
"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.75,
"after": 3.8425,
"delta": 0.0925,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2405,
"delta": 0.0035,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.347,
"after": 0.3132,
"delta": -0.0338,
"percent_delta": -0.0974,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9255,
"delta": 0.0355,
"percent_delta": 0.0399,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0915,
"delta": -0.0085,
"percent_delta": -0.085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2945,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.5208,
"delta": 0.0068,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3637,
"delta": -0.0063,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.3963,
"delta": -0.0397,
"percent_delta": -0.0911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.056,
"after": 1.1316,
"delta": 0.0756,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 3.8425,
"delta": 0.0925,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.3963,
"delta": -0.0397,
"percent_delta": -0.0911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1645,
"predicted_3B": 0.0004,
"predicted_AB": 3.8425,
"predicted_AVG": 0.2345,
"predicted_BB": 0.3103,
"predicted_H": 0.901,
"predicted_HBP": 0.028,
"predicted_HR": 0.0895,
"predicted_OBP": 0.2917,
"predicted_R": 0.4957,
"predicted_RBI": 0.3462,
"predicted_SLG": 0.3474,
"predicted_SO": 1.1421
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1645,
"after": 0.1645,
"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.8425,
"after": 3.8425,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2405,
"after": 0.2345,
"delta": -0.006,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3132,
"after": 0.3103,
"delta": -0.0029,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9255,
"after": 0.901,
"delta": -0.0245,
"percent_delta": -0.0265,
"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.0915,
"after": 0.0895,
"delta": -0.002,
"percent_delta": -0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2945,
"after": 0.2917,
"delta": -0.0028,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5208,
"after": 0.4957,
"delta": -0.0251,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3637,
"after": 0.3462,
"delta": -0.0175,
"percent_delta": -0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3963,
"after": 0.3474,
"delta": -0.0489,
"percent_delta": -0.1234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1316,
"after": 1.1421,
"delta": 0.0105,
"percent_delta": 0.0093,
"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.3963,
"after": 0.3474,
"delta": -0.0489,
"percent_delta": -0.1234,
"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.234 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1645,
"after": 0.0,
"delta": -0.1645,
"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.8425,
"after": 4.0,
"delta": 0.1575,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3103,
"after": 0.0,
"delta": -0.3103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.901,
"after": 1.0,
"delta": 0.099,
"percent_delta": 0.1099,
"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.0895,
"after": 0.0,
"delta": -0.0895,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3462,
"after": 0.0,
"delta": -0.3462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1421,
"after": 1.0,
"delta": -0.1421,
"percent_delta": -0.1244,
"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.8425,
"after": 4.0,
"delta": 0.1575,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3462,
"after": 0.0,
"delta": -0.3462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2345,
"after": 0.25,
"delta": 0.0155,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2917,
"after": 0.25,
"delta": -0.0417,
"percent_delta": -0.143,
"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.3474,
"after": 0.25,
"delta": -0.0974,
"percent_delta": -0.2804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2345,
"after": 0.25,
"delta": 0.0155,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3474,
"after": 0.25,
"delta": -0.0974,
"percent_delta": -0.2804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2345,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2917,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3474,
"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.2345,
"delta": -0.0155,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2917,
"delta": 0.0417,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3474,
"delta": 0.0974,
"percent_delta": 0.3894,
"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.3474,
"delta": 0.0974,
"percent_delta": 0.3894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2345,
"delta": -0.0155,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2345,
"delta": -0.0025,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.347,
"after": 0.0,
"delta": -0.347,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2917,
"delta": -0.0023,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.3474,
"delta": -0.0886,
"percent_delta": -0.2032,
"direction": "deboost",
"projection_effect": "worse",
"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": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.347 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.436 | - |
| 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.165 | -0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.842 | 0.092 |
| predicted_AVG | 0.240 | 0.004 |
| predicted_BB | 0.313 | -0.034 |
| predicted_H | 0.925 | 0.035 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.091 | -0.009 |
| predicted_OBP | 0.294 | 0.001 |
| predicted_R | 0.521 | 0.007 |
| predicted_RBI | 0.364 | -0.006 |
| predicted_SLG | 0.396 | -0.040 |
| predicted_SO | 1.132 | 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.165 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.842 | 0.000 |
| predicted_AVG | 0.234 | -0.006 |
| predicted_BB | 0.310 | -0.003 |
| predicted_H | 0.901 | -0.024 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.089 | -0.002 |
| predicted_OBP | 0.292 | -0.003 |
| predicted_R | 0.496 | -0.025 |
| predicted_RBI | 0.346 | -0.018 |
| predicted_SLG | 0.347 | -0.049 |
| predicted_SO | 1.142 | 0.010 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.234 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.165 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.158 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 0.000 | -0.310 |
| predicted_H | 1.000 | 0.099 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.250 | -0.042 |
| predicted_R | 0.000 | -0.496 |
| predicted_RBI | 0.000 | -0.346 |
| predicted_SLG | 0.250 | -0.097 |
| predicted_SO | 1.000 | -0.142 |
Attached 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 | - | 24.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 9.000 | 0.2083 | 0.2083 | 0.2083 | 0.2083 | 0.0000 | 0.0000 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 10 | - | 43.000 | 9.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 2.000 | 15.000 | 0.2093 | 0.2444 | 0.3023 | 0.2093 | 0.0233 | 0.0465 | 0.0465 | 0.3488 |
| season | 0.60 | 72 | - | 260.000 | 70.000 | 13.000 | 0.000 | 6.000 | 33.000 | 37.000 | 25.000 | 76.000 | 0.2692 | 0.3391 | 0.3885 | 0.2692 | 0.0231 | 0.1269 | 0.0961 | 0.2923 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1420 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9690 |
| predicted_AVG | 0.2453 |
| predicted_BB | 0.2670 |
| predicted_H | 0.9740 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.2951 |
| predicted_R | 0.5300 |
| predicted_RBI | 0.3550 |
| predicted_SLG | 0.3421 |
| predicted_SO | 1.2350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.1420 | 0.1645 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7500 | 3.9690 | 3.8425 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2453 | 0.2405 | model_form_blend |
| predicted_BB | 0.3470 | 0.2670 | 0.3132 | model_form_blend |
| predicted_H | 0.8900 | 0.9740 | 0.9255 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.1000 | 0.0800 | 0.0915 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2951 | 0.2945 | model_form_blend |
| predicted_R | 0.5140 | 0.5300 | 0.5208 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3550 | 0.3637 | model_form_blend |
| predicted_SLG | 0.4360 | 0.3421 | 0.3963 | model_form_blend |
| predicted_SO | 1.0560 | 1.2350 | 1.1316 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 198 |
| Season rows before report date | 198 |
| Report year | 2026 |
| Profile rows used | 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.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 2B |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 650489 |
| playerID | 650489 |
| playerName | Willi Castro |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.325 |
| sl_xwoba | 0.303 |
| sl_xba | 0.238 |
| sl_xslg | 0.369 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 41.6 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 30.4 |
| 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.222 | 0.000 | 0.000 | Hitting_2B | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.840 | 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.283 | 0.000 | -0.033 | 0.250 |
| predicted_BB | 0.395 | 0.000 | 0.000 | Hitting_BB | 0.406 | 0.000 | -0.406 | 0.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.057 | 0.000 | -0.057 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.356 | 0.250 | 0.250 | Hitting_OBP | 0.362 | 0.000 | -0.112 | 0.250 |
| predicted_R | 0.457 | 0.000 | 0.000 | Hitting_R | 0.475 | 0.000 | -0.475 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.549 | 0.000 | -0.549 | 0.000 |
| predicted_SLG | 0.516 | 0.250 | 0.250 | Hitting_SLG | 0.467 | 0.000 | -0.217 | 0.250 |
| predicted_SO | 0.593 | 0.000 | 1.000 | Hitting_SO | 0.611 | 1.000 | -0.611 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.8400 -> 4.0000 (boost 0.1600, better) |
| Biggest Deboost | predicted_SO: 0.5930 -> 0.0000 (deboost -0.5930, 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_H: 0.9900 -> 1.0556 (boost 0.0656, better) | predicted_SLG: 0.5160 -> 0.5001 (deboost -0.0159, worse) | Final model input calibrated with local form: 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.5001 -> 0.4367 (deboost -0.0634, 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.6006 -> 1.0000 (boost 0.3994, worse) | predicted_RBI: 0.4542 -> 0.0000 (deboost -0.4542, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.268 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4285 -> 0.0000 (deboost -0.4285, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4367 -> 0.2500 (deboost -0.1867, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4367 (boost 0.1867, 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.222,
"predicted_3B": 0.025,
"predicted_AB": 3.84,
"predicted_AVG": 0.259,
"predicted_BB": 0.395,
"predicted_H": 0.99,
"predicted_HR": 0.12,
"predicted_OBP": 0.356,
"predicted_R": 0.457,
"predicted_RBI": 0.47,
"predicted_SLG": 0.516,
"predicted_SO": 0.593
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.248,
"predicted_3B": 0.0207,
"predicted_AB": 3.7995,
"predicted_AVG": 0.2788,
"predicted_BB": 0.4146,
"predicted_H": 1.0556,
"predicted_HBP": 0.037,
"predicted_HR": 0.1166,
"predicted_OBP": 0.3676,
"predicted_R": 0.4502,
"predicted_RBI": 0.4772,
"predicted_SLG": 0.5001,
"predicted_SO": 0.5951
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.248,
"delta": 0.026,
"percent_delta": 0.1171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0207,
"delta": -0.0043,
"percent_delta": -0.172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7995,
"delta": -0.0405,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2788,
"delta": 0.0198,
"percent_delta": 0.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.4146,
"delta": 0.0196,
"percent_delta": 0.0496,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0556,
"delta": 0.0656,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1166,
"delta": -0.0034,
"percent_delta": -0.0283,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3676,
"delta": 0.0116,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.457,
"after": 0.4502,
"delta": -0.0068,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4772,
"delta": 0.0072,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.516,
"after": 0.5001,
"delta": -0.0159,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.593,
"after": 0.5951,
"delta": 0.0021,
"percent_delta": 0.0035,
"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": 0.99,
"after": 1.0556,
"delta": 0.0656,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.516,
"after": 0.5001,
"delta": -0.0159,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.248,
"predicted_3B": 0.0207,
"predicted_AB": 3.7995,
"predicted_AVG": 0.2705,
"predicted_BB": 0.4107,
"predicted_H": 1.0276,
"predicted_HBP": 0.037,
"predicted_HR": 0.114,
"predicted_OBP": 0.3416,
"predicted_R": 0.4285,
"predicted_RBI": 0.4542,
"predicted_SLG": 0.4367,
"predicted_SO": 0.6006
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.248,
"after": 0.248,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7995,
"after": 3.7995,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2788,
"after": 0.2705,
"delta": -0.0083,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4146,
"after": 0.4107,
"delta": -0.0039,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0556,
"after": 1.0276,
"delta": -0.028,
"percent_delta": -0.0265,
"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.1166,
"after": 0.114,
"delta": -0.0026,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3676,
"after": 0.3416,
"delta": -0.026,
"percent_delta": -0.0707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4502,
"after": 0.4285,
"delta": -0.0217,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4772,
"after": 0.4542,
"delta": -0.023,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5001,
"after": 0.4367,
"delta": -0.0634,
"percent_delta": -0.1268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5951,
"after": 0.6006,
"delta": 0.0055,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5001,
"after": 0.4367,
"delta": -0.0634,
"percent_delta": -0.1268,
"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.268 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.248,
"after": 0.0,
"delta": -0.248,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0,
"delta": -0.0207,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7995,
"after": 4.0,
"delta": 0.2005,
"percent_delta": 0.0528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4107,
"after": 0.0,
"delta": -0.4107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0276,
"after": 1.0,
"delta": -0.0276,
"percent_delta": -0.0269,
"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.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4542,
"after": 0.0,
"delta": -0.4542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6006,
"after": 1.0,
"delta": 0.3994,
"percent_delta": 0.665,
"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.6006,
"after": 1.0,
"delta": 0.3994,
"percent_delta": 0.665,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4542,
"after": 0.0,
"delta": -0.4542,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4285,
"after": 0.0,
"delta": -0.4285,
"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.4285,
"after": 0.0,
"delta": -0.4285,
"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.2705,
"after": 0.25,
"delta": -0.0205,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3416,
"after": 0.25,
"delta": -0.0916,
"percent_delta": -0.2681,
"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.4367,
"after": 0.25,
"delta": -0.1867,
"percent_delta": -0.4275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4367,
"after": 0.25,
"delta": -0.1867,
"percent_delta": -0.4275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 4.0,
"predicted_AVG": 0.2705,
"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.3416,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4367,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2705,
"delta": 0.0205,
"percent_delta": 0.0819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3416,
"delta": 0.0916,
"percent_delta": 0.3665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4367,
"delta": 0.1867,
"percent_delta": 0.7466,
"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.4367,
"delta": 0.1867,
"percent_delta": 0.7466,
"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.025,
"after": 0.0,
"delta": -0.025,
"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.259,
"after": 0.2705,
"delta": 0.0115,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3416,
"delta": -0.0144,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.457,
"after": 0.0,
"delta": -0.457,
"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.516,
"after": 0.4367,
"delta": -0.0793,
"percent_delta": -0.1537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.593,
"after": 0.0,
"delta": -0.593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.593,
"after": 0.0,
"delta": -0.593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.395 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.457 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.516 | - |
| predicted_SO | 0.593 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.248 | 0.026 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.800 | -0.040 |
| predicted_AVG | 0.279 | 0.020 |
| predicted_BB | 0.415 | 0.020 |
| predicted_H | 1.056 | 0.066 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.117 | -0.003 |
| predicted_OBP | 0.368 | 0.012 |
| predicted_R | 0.450 | -0.007 |
| predicted_RBI | 0.477 | 0.007 |
| predicted_SLG | 0.500 | -0.016 |
| predicted_SO | 0.595 | 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.248 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.800 | 0.000 |
| predicted_AVG | 0.271 | -0.008 |
| predicted_BB | 0.411 | -0.004 |
| predicted_H | 1.028 | -0.028 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.114 | -0.003 |
| predicted_OBP | 0.342 | -0.026 |
| predicted_R | 0.428 | -0.022 |
| predicted_RBI | 0.454 | -0.023 |
| predicted_SLG | 0.437 | -0.063 |
| predicted_SO | 0.601 | 0.006 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.268 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.248 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.200 |
| predicted_AVG | 0.250 | -0.021 |
| predicted_BB | 0.000 | -0.411 |
| predicted_H | 1.000 | -0.028 |
| predicted_HR | 0.000 | -0.114 |
| predicted_OBP | 0.250 | -0.092 |
| predicted_R | 0.000 | -0.428 |
| predicted_RBI | 0.000 | -0.454 |
| predicted_SLG | 0.250 | -0.187 |
| predicted_SO | 1.000 | 0.399 |
Attached 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 | 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 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 0.3158 | 0.4091 | 0.4211 | 0.3158 | 0.0000 | 0.0526 | 0.1579 | 0.1053 |
| last_10 | 0.20 | 10 | - | 39.000 | 14.000 | 4.000 | 0.000 | 1.000 | 6.000 | 4.000 | 5.000 | 7.000 | 0.3590 | 0.4318 | 0.5385 | 0.3590 | 0.0256 | 0.1538 | 0.1282 | 0.1795 |
| season | 0.60 | 81 | - | 297.000 | 87.000 | 18.000 | 2.000 | 12.000 | 44.000 | 37.000 | 32.000 | 48.000 | 0.2929 | 0.3701 | 0.4882 | 0.2929 | 0.0404 | 0.1482 | 0.1077 | 0.1616 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2830 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.7450 |
| predicted_AVG | 0.3055 |
| predicted_BB | 0.4410 |
| predicted_H | 1.1440 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.1120 |
| predicted_OBP | 0.3833 |
| predicted_R | 0.4410 |
| predicted_RBI | 0.4870 |
| predicted_SLG | 0.4786 |
| predicted_SO | 0.5980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.2830 | 0.2480 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0207 | model_form_blend |
| predicted_AB | 3.8400 | 3.7450 | 3.7995 | model_form_blend |
| predicted_AVG | 0.2590 | 0.3055 | 0.2788 | model_form_blend |
| predicted_BB | 0.3950 | 0.4410 | 0.4146 | model_form_blend |
| predicted_H | 0.9900 | 1.1440 | 1.0556 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.1200 | 0.1120 | 0.1166 | model_form_blend |
| predicted_OBP | 0.3560 | 0.3833 | 0.3676 | model_form_blend |
| predicted_R | 0.4570 | 0.4410 | 0.4502 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4870 | 0.4772 | model_form_blend |
| predicted_SLG | 0.5160 | 0.4786 | 0.5001 | model_form_blend |
| predicted_SO | 0.5930 | 0.5980 | 0.5951 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 244 |
| Season rows before report date | 244 |
| Report year | 2026 |
| Profile rows used | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.293 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 681198 |
| playerID | 681198 |
| playerName | TJ Rumfield |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.372 |
| sl_xwoba | 0.32 |
| sl_xba | 0.247 |
| sl_xslg | 0.387 |
| sl_sweet_spot_percent | 37.2 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 30.4 |
| sl_exit_velocity_avg | 84.4 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 20.5 |
| 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.158 | 1.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | 0.850 | 1.000 |
| predicted_3B | 0.053 | 0.000 | 0.000 | Hitting_3B | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_AB | 3.368 | 3.000 | 3.000 | Hitting_AB | 3.200 | 0.000 | -0.200 | 3.000 |
| predicted_AVG | 0.255 | 0.333 | 0.333 | Hitting_AVG | 0.266 | - | 0.068 | - |
| predicted_BB | 0.526 | 1.000 | 0.000 | Hitting_BB | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 0.850 | 0.000 | 0.150 | 1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_OBP | 0.335 | 0.500 | 0.333 | Hitting_OBP | 0.368 | - | 0.132 | - |
| predicted_R | 0.684 | 0.000 | 1.000 | Hitting_R | 0.650 | 0.000 | -0.650 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.550 | 0.000 | -0.550 | 0.000 |
| predicted_SLG | 0.493 | 0.667 | 0.333 | Hitting_SLG | 0.484 | - | 0.182 | - |
| predicted_SO | 0.842 | 1.000 | 1.000 | Hitting_SO | 0.800 | 0.000 | 0.200 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_2B: 0.1580 -> 1.0000 (boost 0.8420, better) |
| Biggest Deboost | predicted_R: 0.6840 -> 0.0000 (deboost -0.6840, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3350 -> 0.3417 (boost 0.0067, better) | predicted_SLG: 0.4930 -> 0.4695 (deboost -0.0235, worse) | Final model input calibrated with local 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.4695 -> 0.4163 (deboost -0.0532, 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.8380 -> 1.0000 (boost 0.1620, better) | predicted_BB: 0.4898 -> 0.0000 (deboost -0.4898, worse) | AB rounded to 3 (raw=3.39), rates preserved: AVG=0.247 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6433 -> 1.0000 (boost 0.3567, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2472 -> 0.3330 (boost 0.0858, better) | predicted_SLG: 0.4163 -> 0.3330 (deboost -0.0833, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4163 (boost 0.0833, better) | predicted_AVG: 0.3330 -> 0.2472 (deboost -0.0858, 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.158,
"predicted_3B": 0.053,
"predicted_AB": 3.368,
"predicted_AVG": 0.255,
"predicted_BB": 0.526,
"predicted_H": 0.83,
"predicted_HR": 0.11,
"predicted_OBP": 0.335,
"predicted_R": 0.684,
"predicted_RBI": 0.41,
"predicted_SLG": 0.493,
"predicted_SO": 0.842
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1712,
"predicted_3B": 0.0435,
"predicted_AB": 3.39,
"predicted_AVG": 0.2592,
"predicted_BB": 0.4944,
"predicted_H": 0.8608,
"predicted_HBP": 0.047,
"predicted_HR": 0.1074,
"predicted_OBP": 0.3417,
"predicted_R": 0.6759,
"predicted_RBI": 0.4155,
"predicted_SLG": 0.4695,
"predicted_SO": 0.8339
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.1712,
"delta": 0.0132,
"percent_delta": 0.0835,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.053,
"after": 0.0435,
"delta": -0.0095,
"percent_delta": -0.1792,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.368,
"after": 3.39,
"delta": 0.022,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2592,
"delta": 0.0042,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.526,
"after": 0.4944,
"delta": -0.0316,
"percent_delta": -0.0601,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.8608,
"delta": 0.0308,
"percent_delta": 0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1074,
"delta": -0.0026,
"percent_delta": -0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3417,
"delta": 0.0067,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.684,
"after": 0.6759,
"delta": -0.0081,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4155,
"delta": 0.0055,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.493,
"after": 0.4695,
"delta": -0.0235,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.842,
"after": 0.8339,
"delta": -0.0081,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3417,
"delta": 0.0067,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.493,
"after": 0.4695,
"delta": -0.0235,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1712,
"predicted_3B": 0.0435,
"predicted_AB": 3.39,
"predicted_AVG": 0.2472,
"predicted_BB": 0.4898,
"predicted_H": 0.838,
"predicted_HBP": 0.047,
"predicted_HR": 0.105,
"predicted_OBP": 0.3422,
"predicted_R": 0.6433,
"predicted_RBI": 0.3955,
"predicted_SLG": 0.4163,
"predicted_SO": 0.8417
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1712,
"after": 0.1712,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0435,
"after": 0.0435,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.39,
"after": 3.39,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2592,
"after": 0.2472,
"delta": -0.012,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4944,
"after": 0.4898,
"delta": -0.0046,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8608,
"after": 0.838,
"delta": -0.0228,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1074,
"after": 0.105,
"delta": -0.0024,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3417,
"after": 0.3422,
"delta": 0.0005,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6759,
"after": 0.6433,
"delta": -0.0326,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4155,
"after": 0.3955,
"delta": -0.02,
"percent_delta": -0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4695,
"after": 0.4163,
"delta": -0.0532,
"percent_delta": -0.1133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8339,
"after": 0.8417,
"delta": 0.0078,
"percent_delta": 0.0094,
"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.4695,
"after": 0.4163,
"delta": -0.0532,
"percent_delta": -0.1133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.39), rates preserved: AVG=0.247 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.1712,
"after": 0.0,
"delta": -0.1712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0435,
"after": 0.0,
"delta": -0.0435,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.39,
"after": 3.0,
"delta": -0.39,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4898,
"after": 0.0,
"delta": -0.4898,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.838,
"after": 1.0,
"delta": 0.162,
"percent_delta": 0.1933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3955,
"after": 0.0,
"delta": -0.3955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8417,
"after": 1.0,
"delta": 0.1583,
"percent_delta": 0.1881,
"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.838,
"after": 1.0,
"delta": 0.162,
"percent_delta": 0.1933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4898,
"after": 0.0,
"delta": -0.4898,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6433,
"after": 1.0,
"delta": 0.3567,
"percent_delta": 0.5545,
"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.6433,
"after": 1.0,
"delta": 0.3567,
"percent_delta": 0.5545,
"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.2472,
"after": 0.333,
"delta": 0.0858,
"percent_delta": 0.3471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": -0.0092,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4163,
"after": 0.333,
"delta": -0.0833,
"percent_delta": -0.2001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2472,
"after": 0.333,
"delta": 0.0858,
"percent_delta": 0.3471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4163,
"after": 0.333,
"delta": -0.0833,
"percent_delta": -0.2001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 3.0,
"predicted_AVG": 0.2472,
"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.3422,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4163,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2472,
"delta": -0.0858,
"percent_delta": -0.2577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3422,
"delta": 0.0092,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4163,
"delta": 0.0833,
"percent_delta": 0.2502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4163,
"delta": 0.0833,
"percent_delta": 0.2502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2472,
"delta": -0.0858,
"percent_delta": -0.2577,
"direction": "deboost",
"projection_effect": "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.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.368,
"after": 3.0,
"delta": -0.368,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2472,
"delta": -0.0078,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.526,
"after": 1.0,
"delta": 0.474,
"percent_delta": 0.9011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3422,
"delta": 0.0072,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.684,
"after": 0.0,
"delta": -0.684,
"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.493,
"after": 0.4163,
"delta": -0.0767,
"percent_delta": -0.1556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.842,
"after": 1.0,
"delta": 0.158,
"percent_delta": 0.1876,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 5,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.158,
"after": 1.0,
"delta": 0.842,
"percent_delta": 5.3291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.684,
"after": 0.0,
"delta": -0.684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.053 | - |
| predicted_AB | 3.368 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.526 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.684 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.493 | - |
| predicted_SO | 0.842 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | 0.013 |
| predicted_3B | 0.043 | -0.010 |
| predicted_AB | 3.390 | 0.022 |
| predicted_AVG | 0.259 | 0.004 |
| predicted_BB | 0.494 | -0.032 |
| predicted_H | 0.861 | 0.031 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.107 | -0.003 |
| predicted_OBP | 0.342 | 0.007 |
| predicted_R | 0.676 | -0.008 |
| predicted_RBI | 0.415 | 0.006 |
| predicted_SLG | 0.469 | -0.024 |
| predicted_SO | 0.834 | -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.171 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.390 | 0.000 |
| predicted_AVG | 0.247 | -0.012 |
| predicted_BB | 0.490 | -0.005 |
| predicted_H | 0.838 | -0.023 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.105 | -0.002 |
| predicted_OBP | 0.342 | 0.001 |
| predicted_R | 0.643 | -0.033 |
| predicted_RBI | 0.396 | -0.020 |
| predicted_SLG | 0.416 | -0.053 |
| predicted_SO | 0.842 | 0.008 |
AB rounded to 3 (raw=3.39), rates preserved: AVG=0.247 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 | 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.171 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 3.000 | -0.390 |
| predicted_AVG | 0.333 | 0.086 |
| predicted_BB | 0.000 | -0.490 |
| predicted_H | 1.000 | 0.162 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.333 | -0.009 |
| predicted_R | 1.000 | 0.357 |
| predicted_RBI | 0.000 | -0.396 |
| predicted_SLG | 0.333 | -0.083 |
| predicted_SO | 1.000 | 0.158 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 2.000 | 4.000 | 0.2500 | 0.3333 | 0.3125 | 0.2500 | 0.0000 | 0.0000 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 10 | - | 31.000 | 10.000 | 3.000 | 0.000 | 0.000 | 3.000 | 7.000 | 5.000 | 7.000 | 0.3226 | 0.4211 | 0.4194 | 0.3226 | 0.0000 | 0.0968 | 0.1613 | 0.2258 |
| season | 0.60 | 19 | - | 64.000 | 17.000 | 3.000 | 1.000 | 3.000 | 11.000 | 13.000 | 10.000 | 16.000 | 0.2656 | 0.3684 | 0.4844 | 0.2656 | 0.0469 | 0.1719 | 0.1562 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.4280 |
| predicted_AVG | 0.2665 |
| predicted_BB | 0.4400 |
| predicted_H | 0.9140 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.3532 |
| predicted_R | 0.6620 |
| predicted_RBI | 0.4250 |
| predicted_SLG | 0.4289 |
| predicted_SO | 0.8200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1580 | 0.1940 | 0.1712 | model_form_blend |
| predicted_3B | 0.0530 | 0.0270 | 0.0435 | model_form_blend |
| predicted_AB | 3.3680 | 3.4280 | 3.3900 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2665 | 0.2592 | model_form_blend |
| predicted_BB | 0.5260 | 0.4400 | 0.4944 | model_form_blend |
| predicted_H | 0.8300 | 0.9140 | 0.8608 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.1100 | 0.1030 | 0.1074 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3532 | 0.3417 | model_form_blend |
| predicted_R | 0.6840 | 0.6620 | 0.6759 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4250 | 0.4155 | model_form_blend |
| predicted_SLG | 0.4930 | 0.4289 | 0.4695 | model_form_blend |
| predicted_SO | 0.8420 | 0.8200 | 0.8339 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 19 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.266 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260701_MIA@COL |
| game_type | short |
| mlbID | 694249 |
| playerID | 694249 |
| playerName | Cole Carrigg |
| pos | OF |
| started | False |
| startingPosition | CF |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.371 |
| sl_xwoba | 0.351 |
| sl_xba | 0.249 |
| sl_xslg | 0.415 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 34.0 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 54.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.289 | 0.000 | 0.000 | Hitting_2B | 0.300 | 0.000 | -0.300 | 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.529 | 3.000 | 0.471 | 1.000 |
| predicted_AVG | 0.266 | 0.000 | 0.333 | Hitting_AVG | 0.327 | 0.333 | -0.327 | -0.333 |
| predicted_BB | 0.303 | 0.000 | 0.000 | Hitting_BB | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 0.910 | 0.000 | 1.000 | Hitting_H | 1.152 | 1.000 | -1.152 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.349 | 0.000 | 0.333 | Hitting_OBP | 0.393 | 0.333 | -0.393 | -0.333 |
| predicted_R | 0.408 | 0.000 | 0.000 | Hitting_R | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.464 | 0.000 | 0.333 | Hitting_SLG | 0.456 | 0.333 | -0.456 | -0.333 |
| predicted_SO | 0.645 | 1.000 | 1.000 | Hitting_SO | 0.757 | 0.000 | 0.243 | 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.4100 -> 4.0000 (boost 0.5900, better) |
| Biggest Deboost | predicted_H: 0.9100 -> 0.0000 (deboost -0.9100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2660 -> 0.2787 (boost 0.0127, better) | predicted_AB: 3.4100 -> 3.2886 (deboost -0.1214, worse) | Final model input calibrated with local form: 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.4309 -> 0.3885 (deboost -0.0424, 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.6178 -> 1.0000 (boost 0.3822, worse) | predicted_RBI: 0.3698 -> 0.0000 (deboost -0.3698, worse) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.261 HR/AB=0.014 |
| 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 | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2711 -> 0.3330 (boost 0.0619, better) | predicted_SLG: 0.3885 -> 0.3330 (deboost -0.0555, 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.3885 (boost 0.0555, better) | predicted_AVG: 0.3330 -> 0.2711 (deboost -0.0619, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687859",
"player_name": "Troy Johnston",
"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.289,
"predicted_3B": 0.0,
"predicted_AB": 3.41,
"predicted_AVG": 0.266,
"predicted_BB": 0.303,
"predicted_H": 0.91,
"predicted_HR": 0.06,
"predicted_OBP": 0.349,
"predicted_R": 0.408,
"predicted_RBI": 0.41,
"predicted_SLG": 0.464,
"predicted_SO": 0.645
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2451,
"predicted_3B": 0.0004,
"predicted_AB": 3.2886,
"predicted_AVG": 0.2787,
"predicted_BB": 0.3308,
"predicted_H": 0.9159,
"predicted_HBP": 0.023,
"predicted_HR": 0.0478,
"predicted_OBP": 0.359,
"predicted_R": 0.3671,
"predicted_RBI": 0.3885,
"predicted_SLG": 0.4309,
"predicted_SO": 0.6121
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.289,
"after": 0.2451,
"delta": -0.0439,
"percent_delta": -0.1519,
"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.2886,
"delta": -0.1214,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2787,
"delta": 0.0127,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.3308,
"delta": 0.0278,
"percent_delta": 0.0917,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9159,
"delta": 0.0059,
"percent_delta": 0.0065,
"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.349,
"after": 0.359,
"delta": 0.01,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.408,
"after": 0.3671,
"delta": -0.0409,
"percent_delta": -0.1002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3885,
"delta": -0.0215,
"percent_delta": -0.0524,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.4309,
"delta": -0.0331,
"percent_delta": -0.0713,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.645,
"after": 0.6121,
"delta": -0.0329,
"percent_delta": -0.051,
"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_AVG",
"before": 0.266,
"after": 0.2787,
"delta": 0.0127,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.41,
"after": 3.2886,
"delta": -0.1214,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2451,
"predicted_3B": 0.0004,
"predicted_AB": 3.2886,
"predicted_AVG": 0.2711,
"predicted_BB": 0.3277,
"predicted_H": 0.8916,
"predicted_HBP": 0.023,
"predicted_HR": 0.0467,
"predicted_OBP": 0.3372,
"predicted_R": 0.3494,
"predicted_RBI": 0.3698,
"predicted_SLG": 0.3885,
"predicted_SO": 0.6178
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2451,
"after": 0.2451,
"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.2886,
"after": 3.2886,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2787,
"after": 0.2711,
"delta": -0.0076,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3308,
"after": 0.3277,
"delta": -0.0031,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9159,
"after": 0.8916,
"delta": -0.0243,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0478,
"after": 0.0467,
"delta": -0.0011,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3372,
"delta": -0.0218,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3671,
"after": 0.3494,
"delta": -0.0177,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3885,
"after": 0.3698,
"delta": -0.0187,
"percent_delta": -0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4309,
"after": 0.3885,
"delta": -0.0424,
"percent_delta": -0.0984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6121,
"after": 0.6178,
"delta": 0.0057,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4309,
"after": 0.3885,
"delta": -0.0424,
"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.41), rates preserved: AVG=0.261 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.2451,
"after": 0.0,
"delta": -0.2451,
"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.2886,
"after": 3.0,
"delta": -0.2886,
"percent_delta": -0.0878,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3277,
"after": 0.0,
"delta": -0.3277,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8916,
"after": 1.0,
"delta": 0.1084,
"percent_delta": 0.1216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0467,
"after": 0.0,
"delta": -0.0467,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3698,
"after": 0.0,
"delta": -0.3698,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6178,
"after": 1.0,
"delta": 0.3822,
"percent_delta": 0.6186,
"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.6178,
"after": 1.0,
"delta": 0.3822,
"percent_delta": 0.6186,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3698,
"after": 0.0,
"delta": -0.3698,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.2711,
"after": 0.333,
"delta": 0.0619,
"percent_delta": 0.2283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": -0.0042,
"percent_delta": -0.0125,
"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.3885,
"after": 0.333,
"delta": -0.0555,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.2711,
"after": 0.333,
"delta": 0.0619,
"percent_delta": 0.2283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3885,
"after": 0.333,
"delta": -0.0555,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2711,
"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.3372,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3885,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2711,
"delta": -0.0619,
"percent_delta": -0.1858,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3372,
"delta": 0.0042,
"percent_delta": 0.0126,
"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.3885,
"delta": 0.0555,
"percent_delta": 0.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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3885,
"delta": 0.0555,
"percent_delta": 0.1668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2711,
"delta": -0.0619,
"percent_delta": -0.1858,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 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.266,
"after": 0.2711,
"delta": 0.0051,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.0,
"delta": -0.91,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.349,
"after": 0.3372,
"delta": -0.0118,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.408,
"after": 0.0,
"delta": -0.408,
"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.464,
"after": 0.3885,
"delta": -0.0755,
"percent_delta": -0.1627,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.645,
"after": 1.0,
"delta": 0.355,
"percent_delta": 0.5504,
"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.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.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.289 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.410 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.303 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.349 | - |
| predicted_R | 0.408 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.464 | - |
| predicted_SO | 0.645 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.245 | -0.044 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.289 | -0.121 |
| predicted_AVG | 0.279 | 0.013 |
| predicted_BB | 0.331 | 0.028 |
| predicted_H | 0.916 | 0.006 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.048 | -0.012 |
| predicted_OBP | 0.359 | 0.010 |
| predicted_R | 0.367 | -0.041 |
| predicted_RBI | 0.389 | -0.021 |
| predicted_SLG | 0.431 | -0.033 |
| predicted_SO | 0.612 | -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.245 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.289 | 0.000 |
| predicted_AVG | 0.271 | -0.008 |
| predicted_BB | 0.328 | -0.003 |
| predicted_H | 0.892 | -0.024 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.047 | -0.001 |
| predicted_OBP | 0.337 | -0.022 |
| predicted_R | 0.349 | -0.018 |
| predicted_RBI | 0.370 | -0.019 |
| predicted_SLG | 0.389 | -0.042 |
| predicted_SO | 0.618 | 0.006 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.261 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.245 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.289 |
| predicted_AVG | 0.333 | 0.062 |
| predicted_BB | 0.000 | -0.328 |
| predicted_H | 1.000 | 0.108 |
| predicted_HR | 0.000 | -0.047 |
| predicted_OBP | 0.333 | -0.004 |
| predicted_R | 0.000 | -0.349 |
| predicted_RBI | 0.000 | -0.370 |
| predicted_SLG | 0.333 | -0.055 |
| predicted_SO | 1.000 | 0.382 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 0.2857 | 0.3750 | 0.2857 | 0.2857 | 0.0000 | 0.0714 | 0.1429 | 0.1429 |
| last_10 | 0.20 | 10 | - | 25.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 5.000 | 4.000 | 0.2800 | 0.4000 | 0.3200 | 0.2800 | 0.0000 | 0.0800 | 0.2000 | 0.1600 |
| season | 0.60 | 76 | - | 252.000 | 79.000 | 22.000 | 0.000 | 3.000 | 35.000 | 31.000 | 23.000 | 49.000 | 0.3135 | 0.3750 | 0.4365 | 0.3135 | 0.0119 | 0.1389 | 0.0913 | 0.1944 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1850 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1220 |
| predicted_AVG | 0.2961 |
| predicted_BB | 0.3690 |
| predicted_H | 0.9240 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.3728 |
| predicted_R | 0.3110 |
| predicted_RBI | 0.3590 |
| predicted_SLG | 0.3855 |
| predicted_SO | 0.5670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2890 | 0.1850 | 0.2451 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4100 | 3.1220 | 3.2886 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2961 | 0.2787 | model_form_blend |
| predicted_BB | 0.3030 | 0.3690 | 0.3308 | model_form_blend |
| predicted_H | 0.9100 | 0.9240 | 0.9159 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.0600 | 0.0310 | 0.0478 | model_form_blend |
| predicted_OBP | 0.3490 | 0.3728 | 0.3590 | model_form_blend |
| predicted_R | 0.4080 | 0.3110 | 0.3671 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3590 | 0.3885 | model_form_blend |
| predicted_SLG | 0.4640 | 0.3855 | 0.4309 | model_form_blend |
| predicted_SO | 0.6450 | 0.5670 | 0.6121 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 210 |
| Season rows before report date | 210 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.313 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | LF |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 687859 |
| playerID | 687859 |
| playerName | Troy Johnston |
| pos | RF |
| started | True |
| startingPosition | LF |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.359 |
| sl_xwoba | 0.333 |
| sl_xba | 0.289 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 41.9 |
| sl_barrel_batted_rate | 2.4 |
| sl_hard_hit_percent | 37.1 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 22.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.203 | 1.000 | 0.000 | Hitting_2B | 0.178 | 0.000 | 0.822 | 1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 2.937 | 3.000 | 3.000 | Hitting_AB | 3.048 | 3.000 | -0.048 | 0.000 |
| predicted_AVG | 0.275 | 0.333 | 0.333 | Hitting_AVG | 0.240 | 0.333 | 0.094 | 0.000 |
| predicted_BB | 0.430 | 1.000 | 0.000 | Hitting_BB | 0.505 | 0.000 | 0.495 | 1.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.731 | 1.000 | 0.269 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.058 | 1.000 | -0.058 | -1.000 |
| predicted_OBP | 0.367 | 0.500 | 0.333 | Hitting_OBP | 0.346 | 0.333 | 0.154 | 0.167 |
| predicted_R | 0.506 | 0.000 | 1.000 | Hitting_R | 0.466 | 2.000 | -0.466 | -2.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.308 | 1.000 | -0.308 | -1.000 |
| predicted_SLG | 0.567 | 0.667 | 0.333 | Hitting_SLG | 0.358 | 1.333 | 0.309 | -0.667 |
| predicted_SO | 0.722 | 1.000 | 1.000 | Hitting_SO | 0.803 | 1.000 | 0.197 | 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_2B: 0.2030 -> 1.0000 (boost 0.7970, better) |
| Biggest Deboost | predicted_R: 0.5060 -> 0.0000 (deboost -0.5060, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_R: 0.5060 -> 0.5632 (boost 0.0572, better) | - | Final model input calibrated with local form: 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.5642 -> 0.5070 (deboost -0.0572, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.7729 -> 1.0000 (boost 0.2271, worse) | predicted_RBI: 0.4749 -> 0.0000 (deboost -0.4749, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.269 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5361 -> 1.0000 (boost 0.4639, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2690 -> 0.3330 (boost 0.0640, better) | predicted_SLG: 0.5070 -> 0.3330 (deboost -0.1740, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_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.3330 -> 0.5070 (boost 0.1740, better) | predicted_AVG: 0.3330 -> 0.2690 (deboost -0.0640, 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.203,
"predicted_3B": 0.013,
"predicted_AB": 2.937,
"predicted_AVG": 0.275,
"predicted_BB": 0.43,
"predicted_H": 0.78,
"predicted_HR": 0.14,
"predicted_OBP": 0.367,
"predicted_R": 0.506,
"predicted_RBI": 0.48,
"predicted_SLG": 0.567,
"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.235,
"predicted_3B": 0.0109,
"predicted_AB": 2.945,
"predicted_AVG": 0.2817,
"predicted_BB": 0.4536,
"predicted_H": 0.8137,
"predicted_HBP": 0.074,
"predicted_HR": 0.1514,
"predicted_OBP": 0.3801,
"predicted_R": 0.5632,
"predicted_RBI": 0.4989,
"predicted_SLG": 0.5642,
"predicted_SO": 0.7658
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.235,
"delta": 0.032,
"percent_delta": 0.1576,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.937,
"after": 2.945,
"delta": 0.008,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2817,
"delta": 0.0067,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.43,
"after": 0.4536,
"delta": 0.0236,
"percent_delta": 0.0549,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.8137,
"delta": 0.0337,
"percent_delta": 0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1514,
"delta": 0.0114,
"percent_delta": 0.0814,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3801,
"delta": 0.0131,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.506,
"after": 0.5632,
"delta": 0.0572,
"percent_delta": 0.113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4989,
"delta": 0.0189,
"percent_delta": 0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.567,
"after": 0.5642,
"delta": -0.0028,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 0.7658,
"delta": 0.0438,
"percent_delta": 0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.506,
"after": 0.5632,
"delta": 0.0572,
"percent_delta": 0.113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"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": 79
}
},
{
"index": 3,
"step": "team_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.0109,
"predicted_AB": 2.945,
"predicted_AVG": 0.269,
"predicted_BB": 0.4494,
"predicted_H": 0.7921,
"predicted_HBP": 0.074,
"predicted_HR": 0.1481,
"predicted_OBP": 0.3658,
"predicted_R": 0.5361,
"predicted_RBI": 0.4749,
"predicted_SLG": 0.507,
"predicted_SO": 0.7729
},
"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.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.945,
"after": 2.945,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2817,
"after": 0.269,
"delta": -0.0127,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4536,
"after": 0.4494,
"delta": -0.0042,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8137,
"after": 0.7921,
"delta": -0.0216,
"percent_delta": -0.0265,
"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.1514,
"after": 0.1481,
"delta": -0.0033,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3801,
"after": 0.3658,
"delta": -0.0143,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5632,
"after": 0.5361,
"delta": -0.0271,
"percent_delta": -0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4989,
"after": 0.4749,
"delta": -0.024,
"percent_delta": -0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5642,
"after": 0.507,
"delta": -0.0572,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7658,
"after": 0.7729,
"delta": 0.0071,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5642,
"after": 0.507,
"delta": -0.0572,
"percent_delta": -0.1014,
"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.269 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.945,
"after": 3.0,
"delta": 0.055,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4494,
"after": 0.0,
"delta": -0.4494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7921,
"after": 1.0,
"delta": 0.2079,
"percent_delta": 0.2625,
"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.1481,
"after": 0.0,
"delta": -0.1481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4749,
"after": 0.0,
"delta": -0.4749,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7729,
"after": 1.0,
"delta": 0.2271,
"percent_delta": 0.2938,
"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.7729,
"after": 1.0,
"delta": 0.2271,
"percent_delta": 0.2938,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4749,
"after": 0.0,
"delta": -0.4749,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5361,
"after": 1.0,
"delta": 0.4639,
"percent_delta": 0.8653,
"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.5361,
"after": 1.0,
"delta": 0.4639,
"percent_delta": 0.8653,
"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.269,
"after": 0.333,
"delta": 0.064,
"percent_delta": 0.2379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3658,
"after": 0.333,
"delta": -0.0328,
"percent_delta": -0.0897,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.507,
"after": 0.333,
"delta": -0.174,
"percent_delta": -0.3432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.269,
"after": 0.333,
"delta": 0.064,
"percent_delta": 0.2379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.333,
"delta": -0.174,
"percent_delta": -0.3432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 3.0,
"predicted_AVG": 0.269,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3658,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.507,
"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.333,
"after": 0.269,
"delta": -0.064,
"percent_delta": -0.1923,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3658,
"delta": 0.0328,
"percent_delta": 0.0984,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.507,
"delta": 0.174,
"percent_delta": 0.5225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.507,
"delta": 0.174,
"percent_delta": 0.5225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.269,
"delta": -0.064,
"percent_delta": -0.1923,
"direction": "deboost",
"projection_effect": "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.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.937,
"after": 3.0,
"delta": 0.063,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.269,
"delta": -0.006,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.43,
"after": 1.0,
"delta": 0.57,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3658,
"delta": -0.0012,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.506,
"after": 0.0,
"delta": -0.506,
"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.567,
"after": 0.507,
"delta": -0.06,
"percent_delta": -0.1058,
"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": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.506,
"after": 0.0,
"delta": -0.506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.013 | - |
| predicted_AB | 2.937 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.430 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.367 | - |
| predicted_R | 0.506 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.567 | - |
| 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.235 | 0.032 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 2.945 | 0.008 |
| predicted_AVG | 0.282 | 0.007 |
| predicted_BB | 0.454 | 0.024 |
| predicted_H | 0.814 | 0.034 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.151 | 0.011 |
| predicted_OBP | 0.380 | 0.013 |
| predicted_R | 0.563 | 0.057 |
| predicted_RBI | 0.499 | 0.019 |
| predicted_SLG | 0.564 | -0.003 |
| predicted_SO | 0.766 | 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.235 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 2.945 | 0.000 |
| predicted_AVG | 0.269 | -0.013 |
| predicted_BB | 0.449 | -0.004 |
| predicted_H | 0.792 | -0.022 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.148 | -0.003 |
| predicted_OBP | 0.366 | -0.014 |
| predicted_R | 0.536 | -0.027 |
| predicted_RBI | 0.475 | -0.024 |
| predicted_SLG | 0.507 | -0.057 |
| predicted_SO | 0.773 | 0.007 |
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.269 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.235 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 3.000 | 0.055 |
| predicted_AVG | 0.333 | 0.064 |
| predicted_BB | 0.000 | -0.449 |
| predicted_H | 1.000 | 0.208 |
| predicted_HR | 0.000 | -0.148 |
| predicted_OBP | 0.333 | -0.033 |
| predicted_R | 1.000 | 0.464 |
| predicted_RBI | 0.000 | -0.475 |
| predicted_SLG | 0.333 | -0.174 |
| predicted_SO | 1.000 | 0.227 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 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 | 5.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 4.000 | 5.000 | 0.3571 | 0.5263 | 0.9286 | 0.3571 | 0.1429 | 0.3571 | 0.2857 | 0.3571 |
| last_10 | 0.20 | 10 | - | 27.000 | 9.000 | 4.000 | 0.000 | 2.000 | 6.000 | 7.000 | 4.000 | 9.000 | 0.3333 | 0.4375 | 0.7037 | 0.3333 | 0.0741 | 0.2222 | 0.1482 | 0.3333 |
| season | 0.60 | 79 | - | 232.000 | 61.000 | 16.000 | 1.000 | 6.000 | 26.000 | 40.000 | 34.000 | 57.000 | 0.2629 | 0.3593 | 0.4181 | 0.2629 | 0.0259 | 0.1121 | 0.1466 | 0.2457 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2790 |
| predicted_3B | 0.0080 |
| predicted_AB | 2.9560 |
| predicted_AVG | 0.2910 |
| predicted_BB | 0.4860 |
| predicted_H | 0.8600 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.1670 |
| predicted_OBP | 0.3981 |
| predicted_R | 0.6420 |
| predicted_RBI | 0.5250 |
| predicted_SLG | 0.5604 |
| predicted_SO | 0.8260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.2790 | 0.2350 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 2.9370 | 2.9560 | 2.9450 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2910 | 0.2817 | model_form_blend |
| predicted_BB | 0.4300 | 0.4860 | 0.4536 | model_form_blend |
| predicted_H | 0.7800 | 0.8600 | 0.8137 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.1400 | 0.1670 | 0.1514 | model_form_blend |
| predicted_OBP | 0.3670 | 0.3981 | 0.3801 | model_form_blend |
| predicted_R | 0.5060 | 0.6420 | 0.5632 | model_form_blend |
| predicted_RBI | 0.4800 | 0.5250 | 0.4989 | model_form_blend |
| predicted_SLG | 0.5670 | 0.5604 | 0.5642 | model_form_blend |
| predicted_SO | 0.7220 | 0.8260 | 0.7658 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.263 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 691720 |
| playerID | 691720 |
| playerName | Kyle Karros |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.338 |
| sl_xwoba | 0.341 |
| sl_xba | 0.261 |
| sl_xslg | 0.408 |
| sl_sweet_spot_percent | 43.6 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 43.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.162 | 0.000 | 0.000 | Hitting_2B | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.946 | 3.000 | 3.000 | Hitting_AB | 3.060 | 1.000 | -0.060 | 2.000 |
| predicted_AVG | 0.222 | 0.000 | 0.333 | Hitting_AVG | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_BB | 0.108 | 0.000 | 0.000 | Hitting_BB | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.540 | 0.000 | 1.000 | Hitting_H | 0.630 | 0.000 | -0.630 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_OBP | 0.245 | 0.000 | 0.333 | Hitting_OBP | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_R | 0.216 | 0.000 | 0.000 | Hitting_R | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_SLG | 0.437 | 0.000 | 0.333 | Hitting_SLG | 0.330 | 0.000 | -0.330 | 0.000 |
| predicted_SO | 0.622 | 1.000 | 1.000 | Hitting_SO | 0.710 | 1.000 | 0.290 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.6220 -> 1.0000 (boost 0.3780, worse) |
| Biggest Deboost | predicted_H: 0.5400 -> 0.0000 (deboost -0.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4370 -> 0.4121 (deboost -0.0249, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4121 -> 0.3457 (deboost -0.0664, 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.5568 -> 1.0000 (boost 0.4432, better) | predicted_RBI: 0.2771 -> 0.0000 (deboost -0.2771, worse) | AB rounded to 3 (raw=2.97), rates preserved: AVG=0.187 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2360 -> 0.0000 (deboost -0.2360, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1874 -> 0.3330 (boost 0.1456, better) | predicted_SLG: 0.3457 -> 0.3330 (deboost -0.0127, 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.3330 -> 0.3457 (boost 0.0127, better) | predicted_AVG: 0.3330 -> 0.1874 (deboost -0.1456, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664954",
"player_name": "Brett Sullivan",
"position": "C",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0,
"predicted_AB": 2.946,
"predicted_AVG": 0.222,
"predicted_BB": 0.108,
"predicted_H": 0.54,
"predicted_HR": 0.1,
"predicted_OBP": 0.245,
"predicted_R": 0.216,
"predicted_RBI": 0.27,
"predicted_SLG": 0.437,
"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.1413,
"predicted_3B": 0.0008,
"predicted_AB": 2.9717,
"predicted_AVG": 0.216,
"predicted_BB": 0.1252,
"predicted_H": 0.572,
"predicted_HBP": 0.018,
"predicted_HR": 0.1117,
"predicted_OBP": 0.2454,
"predicted_R": 0.248,
"predicted_RBI": 0.2911,
"predicted_SLG": 0.4121,
"predicted_SO": 0.6091
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1413,
"delta": -0.0207,
"percent_delta": -0.1278,
"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.946,
"after": 2.9717,
"delta": 0.0257,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.216,
"delta": -0.006,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.108,
"after": 0.1252,
"delta": 0.0172,
"percent_delta": 0.1593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.572,
"delta": 0.032,
"percent_delta": 0.0593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1117,
"delta": 0.0117,
"percent_delta": 0.117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.245,
"after": 0.2454,
"delta": 0.0004,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.216,
"after": 0.248,
"delta": 0.032,
"percent_delta": 0.1481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2911,
"delta": 0.0211,
"percent_delta": 0.0781,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4121,
"delta": -0.0249,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.622,
"after": 0.6091,
"delta": -0.0129,
"percent_delta": -0.0207,
"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.437,
"after": 0.4121,
"delta": -0.0249,
"percent_delta": -0.057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1413,
"predicted_3B": 0.0008,
"predicted_AB": 2.9717,
"predicted_AVG": 0.1874,
"predicted_BB": 0.124,
"predicted_H": 0.5568,
"predicted_HBP": 0.018,
"predicted_HR": 0.1092,
"predicted_OBP": 0.2199,
"predicted_R": 0.236,
"predicted_RBI": 0.2771,
"predicted_SLG": 0.3457,
"predicted_SO": 0.6148
},
"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": 2.9717,
"after": 2.9717,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.1874,
"delta": -0.0286,
"percent_delta": -0.1324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1252,
"after": 0.124,
"delta": -0.0012,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.572,
"after": 0.5568,
"delta": -0.0152,
"percent_delta": -0.0266,
"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.1117,
"after": 0.1092,
"delta": -0.0025,
"percent_delta": -0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2454,
"after": 0.2199,
"delta": -0.0255,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.248,
"after": 0.236,
"delta": -0.012,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2911,
"after": 0.2771,
"delta": -0.014,
"percent_delta": -0.0481,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4121,
"after": 0.3457,
"delta": -0.0664,
"percent_delta": -0.1611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6091,
"after": 0.6148,
"delta": 0.0057,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_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.3457,
"delta": -0.0664,
"percent_delta": -0.1611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.97), rates preserved: AVG=0.187 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.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": 2.9717,
"after": 3.0,
"delta": 0.0283,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5568,
"after": 1.0,
"delta": 0.4432,
"percent_delta": 0.796,
"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.1092,
"after": 0.0,
"delta": -0.1092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2771,
"after": 0.0,
"delta": -0.2771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6148,
"after": 1.0,
"delta": 0.3852,
"percent_delta": 0.6265,
"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.5568,
"after": 1.0,
"delta": 0.4432,
"percent_delta": 0.796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2771,
"after": 0.0,
"delta": -0.2771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.236,
"after": 0.0,
"delta": -0.236,
"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.236,
"after": 0.0,
"delta": -0.236,
"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.1874,
"after": 0.333,
"delta": 0.1456,
"percent_delta": 0.7769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2199,
"after": 0.333,
"delta": 0.1131,
"percent_delta": 0.5143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3457,
"after": 0.333,
"delta": -0.0127,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1874,
"after": 0.333,
"delta": 0.1456,
"percent_delta": 0.7769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3457,
"after": 0.333,
"delta": -0.0127,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.1874,
"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.2199,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3457,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1874,
"delta": -0.1456,
"percent_delta": -0.4373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2199,
"delta": -0.1131,
"percent_delta": -0.3395,
"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.3457,
"delta": 0.0127,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3457,
"delta": 0.0127,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1874,
"delta": -0.1456,
"percent_delta": -0.4373,
"direction": "deboost",
"projection_effect": "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": 2.946,
"after": 3.0,
"delta": 0.054,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.1874,
"delta": -0.0346,
"percent_delta": -0.1559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.245,
"after": 0.2199,
"delta": -0.0251,
"percent_delta": -0.1024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.216,
"after": 0.0,
"delta": -0.216,
"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.437,
"after": 0.3457,
"delta": -0.0913,
"percent_delta": -0.2089,
"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": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.946 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.108 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.245 | - |
| predicted_R | 0.216 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.437 | - |
| 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.141 | -0.021 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.972 | 0.026 |
| predicted_AVG | 0.216 | -0.006 |
| predicted_BB | 0.125 | 0.017 |
| predicted_H | 0.572 | 0.032 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.112 | 0.012 |
| predicted_OBP | 0.245 | 0.000 |
| predicted_R | 0.248 | 0.032 |
| predicted_RBI | 0.291 | 0.021 |
| predicted_SLG | 0.412 | -0.025 |
| predicted_SO | 0.609 | -0.013 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.141 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.972 | 0.000 |
| predicted_AVG | 0.187 | -0.029 |
| predicted_BB | 0.124 | -0.001 |
| predicted_H | 0.557 | -0.015 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.109 | -0.002 |
| predicted_OBP | 0.220 | -0.025 |
| predicted_R | 0.236 | -0.012 |
| predicted_RBI | 0.277 | -0.014 |
| predicted_SLG | 0.346 | -0.066 |
| predicted_SO | 0.615 | 0.006 |
AB rounded to 3 (raw=2.97), rates preserved: AVG=0.187 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.141 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.028 |
| predicted_AVG | 0.333 | 0.146 |
| predicted_BB | 0.000 | -0.124 |
| predicted_H | 1.000 | 0.443 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.333 | 0.113 |
| predicted_R | 0.000 | -0.236 |
| predicted_RBI | 0.000 | -0.277 |
| predicted_SLG | 0.333 | -0.013 |
| 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 | 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 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.0769 | 0.1429 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.0769 | 0.1538 |
| last_10 | 0.20 | 10 | - | 26.000 | 7.000 | 0.000 | 0.000 | 3.000 | 4.000 | 4.000 | 1.000 | 4.000 | 0.2692 | 0.2857 | 0.6154 | 0.2692 | 0.1154 | 0.1538 | 0.0385 | 0.1538 |
| season | 0.60 | 37 | - | 109.000 | 23.000 | 6.000 | 0.000 | 4.000 | 13.000 | 8.000 | 4.000 | 23.000 | 0.2110 | 0.2414 | 0.3761 | 0.2110 | 0.0367 | 0.1193 | 0.0367 | 0.2110 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1090 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0120 |
| predicted_AVG | 0.2065 |
| predicted_BB | 0.1520 |
| predicted_H | 0.6220 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.2460 |
| predicted_R | 0.2980 |
| predicted_RBI | 0.3240 |
| predicted_SLG | 0.3732 |
| predicted_SO | 0.5890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.1090 | 0.1413 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9460 | 3.0120 | 2.9717 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2065 | 0.2160 | model_form_blend |
| predicted_BB | 0.1080 | 0.1520 | 0.1252 | model_form_blend |
| predicted_H | 0.5400 | 0.6220 | 0.5720 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1000 | 0.1300 | 0.1117 | model_form_blend |
| predicted_OBP | 0.2450 | 0.2460 | 0.2454 | model_form_blend |
| predicted_R | 0.2160 | 0.2980 | 0.2480 | model_form_blend |
| predicted_RBI | 0.2700 | 0.3240 | 0.2911 | model_form_blend |
| predicted_SLG | 0.4370 | 0.3732 | 0.4121 | model_form_blend |
| predicted_SO | 0.6220 | 0.5890 | 0.6091 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 100 |
| Season rows before report date | 100 |
| Report year | 2026 |
| Profile rows used | 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 | 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.211 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260630_MIA@COL |
| game_type | full |
| mlbID | 664954 |
| playerID | 664954 |
| playerName | Brett Sullivan |
| pos | C |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-30 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 4.2 |
| sl_woba | 0.27 |
| sl_xwoba | 0.262 |
| sl_xba | 0.22 |
| sl_xslg | 0.333 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 29.2 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 20.2 |
| sl_whiff_percent | 18.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.090 | 0.000 | 0.000 | Hitting_2B | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_AB | 2.806 | 3.000 | 3.000 | Hitting_AB | 3.303 | 2.000 | -0.303 | 1.000 |
| predicted_AVG | 0.266 | 0.333 | 0.333 | Hitting_AVG | 0.228 | 0.000 | 0.105 | 0.333 |
| predicted_BB | 0.448 | 0.000 | 1.000 | Hitting_BB | 0.503 | 2.000 | -0.503 | -2.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.754 | 0.000 | 0.246 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_OBP | 0.358 | 0.333 | 0.500 | Hitting_OBP | 0.332 | 0.500 | 0.001 | -0.167 |
| predicted_R | 0.373 | 1.000 | 0.000 | Hitting_R | 0.457 | 1.000 | 0.543 | 0.000 |
| predicted_RBI | 0.290 | 1.000 | 0.000 | Hitting_RBI | 0.371 | 0.000 | 0.629 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_SLG | 0.441 | 0.333 | 0.333 | Hitting_SLG | 0.318 | 0.000 | 0.015 | 0.333 |
| predicted_SO | 0.866 | 1.000 | 1.000 | Hitting_SO | 1.017 | 1.000 | -0.017 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.2900 -> 1.0000 (boost 0.7100, 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 | 4 | 2 | 2 | 2 | 2 | predicted_BB: 0.4480 -> 0.5376 (boost 0.0896, better) | predicted_SLG: 0.4410 -> 0.4035 (deboost -0.0375, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4035 -> 0.3382 (deboost -0.0653, 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.5326 -> 1.0000 (boost 0.4674, better) | predicted_RBI: 0.2582 -> 0.0000 (deboost -0.2582, worse) | AB rounded to 3 (raw=2.81), rates preserved: AVG=0.234 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3988 -> 0.0000 (deboost -0.3988, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3565 -> 0.5000 (boost 0.1435, better) | predicted_SLG: 0.3382 -> 0.3330 (deboost -0.0052, 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_R: 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.3382 (boost 0.0052, better) | predicted_OBP: 0.5000 -> 0.3565 (deboost -0.1435, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666397",
"player_name": "Edouard Julien",
"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.09,
"predicted_3B": 0.015,
"predicted_AB": 2.806,
"predicted_AVG": 0.266,
"predicted_BB": 0.448,
"predicted_H": 0.66,
"predicted_HR": 0.06,
"predicted_OBP": 0.358,
"predicted_R": 0.373,
"predicted_RBI": 0.29,
"predicted_SLG": 0.441,
"predicted_SO": 0.866
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1294,
"predicted_3B": 0.0125,
"predicted_AB": 2.8039,
"predicted_AVG": 0.2588,
"predicted_BB": 0.5376,
"predicted_H": 0.6749,
"predicted_HBP": 0.011,
"predicted_HR": 0.0467,
"predicted_OBP": 0.3692,
"predicted_R": 0.419,
"predicted_RBI": 0.2713,
"predicted_SLG": 0.4035,
"predicted_SO": 0.8697
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.1294,
"delta": 0.0394,
"percent_delta": 0.4378,
"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": 2.806,
"after": 2.8039,
"delta": -0.0021,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2588,
"delta": -0.0072,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.448,
"after": 0.5376,
"delta": 0.0896,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.6749,
"delta": 0.0149,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0467,
"delta": -0.0133,
"percent_delta": -0.2217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3692,
"delta": 0.0112,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 0.419,
"delta": 0.046,
"percent_delta": 0.1233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2713,
"delta": -0.0187,
"percent_delta": -0.0645,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4035,
"delta": -0.0375,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 0.8697,
"delta": 0.0037,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.448,
"after": 0.5376,
"delta": 0.0896,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4035,
"delta": -0.0375,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.1294,
"predicted_3B": 0.0125,
"predicted_AB": 2.8039,
"predicted_AVG": 0.2343,
"predicted_BB": 0.5326,
"predicted_H": 0.657,
"predicted_HBP": 0.011,
"predicted_HR": 0.0457,
"predicted_OBP": 0.3565,
"predicted_R": 0.3988,
"predicted_RBI": 0.2582,
"predicted_SLG": 0.3382,
"predicted_SO": 0.8778
},
"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.0125,
"after": 0.0125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8039,
"after": 2.8039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2588,
"after": 0.2343,
"delta": -0.0245,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5376,
"after": 0.5326,
"delta": -0.005,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6749,
"after": 0.657,
"delta": -0.0179,
"percent_delta": -0.0265,
"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.0467,
"after": 0.0457,
"delta": -0.001,
"percent_delta": -0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3692,
"after": 0.3565,
"delta": -0.0127,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.3988,
"delta": -0.0202,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2713,
"after": 0.2582,
"delta": -0.0131,
"percent_delta": -0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4035,
"after": 0.3382,
"delta": -0.0653,
"percent_delta": -0.1618,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8697,
"after": 0.8778,
"delta": 0.0081,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4035,
"after": 0.3382,
"delta": -0.0653,
"percent_delta": -0.1618,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.81), rates preserved: AVG=0.234 HR/AB=0.016",
"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.1294,
"after": 0.0,
"delta": -0.1294,
"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": 2.8039,
"after": 3.0,
"delta": 0.1961,
"percent_delta": 0.0699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5326,
"after": 1.0,
"delta": 0.4674,
"percent_delta": 0.8776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.657,
"after": 1.0,
"delta": 0.343,
"percent_delta": 0.5221,
"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.0457,
"after": 0.0,
"delta": -0.0457,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2582,
"after": 0.0,
"delta": -0.2582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8778,
"after": 1.0,
"delta": 0.1222,
"percent_delta": 0.1392,
"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.5326,
"after": 1.0,
"delta": 0.4674,
"percent_delta": 0.8776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2582,
"after": 0.0,
"delta": -0.2582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3988,
"after": 0.0,
"delta": -0.3988,
"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.3988,
"after": 0.0,
"delta": -0.3988,
"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.2343,
"after": 0.333,
"delta": 0.0987,
"percent_delta": 0.4213,
"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.3565,
"after": 0.5,
"delta": 0.1435,
"percent_delta": 0.4025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3382,
"after": 0.333,
"delta": -0.0052,
"percent_delta": -0.0154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3565,
"after": 0.5,
"delta": 0.1435,
"percent_delta": 0.4025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3382,
"after": 0.333,
"delta": -0.0052,
"percent_delta": -0.0154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_R",
"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.2343,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3565,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3382,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2343,
"delta": -0.0987,
"percent_delta": -0.2963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3565,
"delta": -0.1435,
"percent_delta": -0.2869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3382,
"delta": 0.0052,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3382,
"delta": 0.0052,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.3565,
"delta": -0.1435,
"percent_delta": -0.2869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.806,
"after": 3.0,
"delta": 0.194,
"percent_delta": 0.0691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2343,
"delta": -0.0317,
"percent_delta": -0.1192,
"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.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3565,
"delta": -0.0015,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 1.0,
"delta": 0.627,
"percent_delta": 1.681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.3382,
"delta": -0.1028,
"percent_delta": -0.2331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 1.0,
"delta": 0.134,
"percent_delta": 0.1547,
"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_RBI",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.090 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.806 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.448 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.373 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.441 | - |
| predicted_SO | 0.866 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | 0.039 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 2.804 | -0.002 |
| predicted_AVG | 0.259 | -0.007 |
| predicted_BB | 0.538 | 0.090 |
| predicted_H | 0.675 | 0.015 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.047 | -0.013 |
| predicted_OBP | 0.369 | 0.011 |
| predicted_R | 0.419 | 0.046 |
| predicted_RBI | 0.271 | -0.019 |
| predicted_SLG | 0.404 | -0.037 |
| predicted_SO | 0.870 | 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.129 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 2.804 | 0.000 |
| predicted_AVG | 0.234 | -0.024 |
| predicted_BB | 0.533 | -0.005 |
| predicted_H | 0.657 | -0.018 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.046 | -0.001 |
| predicted_OBP | 0.356 | -0.013 |
| predicted_R | 0.399 | -0.020 |
| predicted_RBI | 0.258 | -0.013 |
| predicted_SLG | 0.338 | -0.065 |
| predicted_SO | 0.878 | 0.008 |
AB rounded to 3 (raw=2.81), rates preserved: AVG=0.234 HR/AB=0.016
| 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.129 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | 0.196 |
| predicted_AVG | 0.333 | 0.099 |
| predicted_BB | 1.000 | 0.467 |
| predicted_H | 1.000 | 0.343 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.500 | 0.144 |
| predicted_R | 0.000 | -0.399 |
| predicted_RBI | 0.000 | -0.258 |
| predicted_SLG | 0.333 | -0.005 |
| predicted_SO | 1.000 | 0.122 |
Attached 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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 6.000 | 5.000 | 0.3333 | 0.5556 | 0.5000 | 0.3333 | 0.0000 | 0.0833 | 0.5000 | 0.4167 |
| last_10 | 0.20 | 10 | - | 25.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 8.000 | 7.000 | 0.2400 | 0.4242 | 0.3200 | 0.2400 | 0.0000 | 0.0400 | 0.3200 | 0.2800 |
| season | 0.60 | 67 | - | 188.000 | 42.000 | 6.000 | 1.000 | 2.000 | 18.000 | 25.000 | 30.000 | 58.000 | 0.2234 | 0.3333 | 0.2979 | 0.2234 | 0.0106 | 0.0957 | 0.1596 | 0.3085 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1850 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.8010 |
| predicted_AVG | 0.2486 |
| predicted_BB | 0.6640 |
| predicted_H | 0.6960 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0280 |
| predicted_OBP | 0.3851 |
| predicted_R | 0.4840 |
| predicted_RBI | 0.2450 |
| predicted_SLG | 0.3507 |
| predicted_SO | 0.8750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0900 | 0.1850 | 0.1294 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0125 | model_form_blend |
| predicted_AB | 2.8060 | 2.8010 | 2.8039 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2486 | 0.2588 | model_form_blend |
| predicted_BB | 0.4480 | 0.6640 | 0.5376 | model_form_blend |
| predicted_H | 0.6600 | 0.6960 | 0.6749 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0600 | 0.0280 | 0.0467 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3851 | 0.3692 | model_form_blend |
| predicted_R | 0.3730 | 0.4840 | 0.4190 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2450 | 0.2713 | model_form_blend |
| predicted_SLG | 0.4410 | 0.3507 | 0.4035 | model_form_blend |
| predicted_SO | 0.8660 | 0.8750 | 0.8697 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260630_MIA@COL |
| game_type | full |
| mlbID | 666397 |
| playerID | 666397 |
| playerName | Edouard Julien |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-30 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 13.8 |
| sl_woba | 0.3 |
| sl_xwoba | 0.346 |
| sl_xba | 0.259 |
| sl_xslg | 0.409 |
| sl_sweet_spot_percent | 45.9 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 51.1 |
| sl_exit_velocity_avg | 91.5 |
| sl_launch_angle_avg | 8.7 |
| sl_whiff_percent | 24.0 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.444 | 0.000 | 0.556 | 2.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 3.444 | 2.000 | 0.556 | 2.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 6.667 | 7.000 | 0.333 | 0.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.356 | 5.200 | -0.156 | -1.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 3.667 | 1.000 | 2.333 | 5.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_SO: 3.0000 -> 6.0000 (boost 3.0000, better) |
| 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 | starter_quality_floor | 2 | 1 | 1 | 0 | 2 | predicted_H: 6.0000 -> 7.0000 (boost 1.0000, worse) | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 3 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 3.0000 -> 6.0000 (boost 3.0000, better) | - | 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": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.6667,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"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": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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": {}
},
{
"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": 0.0,
"predicted_IP": 4.2,
"predicted_R": 4.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.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": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"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 | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 3.000 | - |
Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 7.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -0.467 |
| 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 | 24.100 | 16.000 | 31.000 | 6.000 | 23.000 | 3.000 | 5.9178 | 1.5205 | 0.6575 | 1.2740 | 0.2466 | 0.9452 | 0.1233 |
| last_10 | 0.35 | 10 | 47.200 | 39.000 | 69.000 | 17.000 | 42.000 | 7.000 | 7.3636 | 1.8042 | 0.8182 | 1.4475 | 0.3566 | 0.8811 | 0.1469 |
| season | 0.20 | 18 | 81.200 | 62.000 | 120.000 | 26.000 | 66.000 | 13.000 | 6.8327 | 1.7878 | 0.7592 | 1.4694 | 0.3184 | 0.8082 | 0.1592 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4930 |
| predicted_ER | 3.2660 |
| predicted_ERA | 6.1441 |
| predicted_H | 6.1470 |
| predicted_HR | 0.6720 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.3440 |
| predicted_WHIP | 1.5971 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.4930 | 1.7170 | model_form_blend |
| predicted_ER | 4.0000 | 3.2660 | 3.5903 | model_form_blend |
| predicted_ERA | - | 6.1441 | 6.1441 | form_only |
| predicted_H | 6.0000 | 6.1470 | 6.0820 | model_form_blend |
| predicted_HR | 0.0000 | 0.6720 | 0.3751 | model_form_blend |
| predicted_IP | 4.2000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 3.0000 | 4.3440 | 3.7502 | model_form_blend |
| predicted_WHIP | - | 1.5971 | 1.5971 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.2 |
| H | 7 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 6 |
| HR | 0 |
| BF | 23 |
| Pitches | 88 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 2 |
| Pitching_ERA | 6.83 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 7 |
| Pitching_H | 7 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 92 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 63 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260627_COL@MIN |
| game_type | full |
| mlbID | 547179 |
| playerID | 547179 |
| playerName | Michael Lorenzen |
| pos | P |
| started | True |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-27 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.4 |
| sl_xwoba | 0.359 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 47.6 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 44.9 |
| sl_avg_best_speed | 79.506438699 |
| sl_avg_hyper_speed | 95.171838904 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.560 | 1.000 | -0.560 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.600 | 4.000 | 0.400 | -3.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.480 | 4.000 | -0.480 | -3.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.564 | 0.200 | -0.464 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.440 | 0.000 | -0.440 | 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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 6.000 | 9.000 | 3.000 | 4.000 | 0.000 | 9.5294 | 2.1176 | 1.0588 | 1.5882 | 0.5294 | 0.7059 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 11.000 | 20.000 | 6.000 | 10.000 | 2.000 | 8.2500 | 2.1667 | 0.9167 | 1.6667 | 0.5000 | 0.8333 | 0.1667 |
| season | 0.20 | 25 | 44.000 | 15.000 | 37.000 | 14.000 | 36.000 | 3.000 | 3.0682 | 1.1591 | 0.3409 | 0.8409 | 0.3182 | 0.8182 | 0.0682 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5550 |
| predicted_ER | 0.9370 |
| predicted_ERA | 6.5829 |
| predicted_H | 1.6440 |
| predicted_HR | 0.1270 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.0740 |
| predicted_WHIP | 1.7171 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5550 | 0.2753 | model_form_blend |
| predicted_ER | 1.0000 | 0.9370 | 0.9687 | model_form_blend |
| predicted_ERA | - | 6.5829 | 6.5829 | form_only |
| predicted_H | 1.0000 | 1.6440 | 1.3195 | model_form_blend |
| predicted_HR | 1.0000 | 0.1270 | 0.5670 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0740 | 1.0367 | model_form_blend |
| predicted_WHIP | - | 1.7171 | 1.7171 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 5 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 4 |
| Pitching_ERA | 3.07 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 27 |
| Pitching_R | 4 |
| Pitching_SO | 0 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260629_MIA@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-29 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.282 |
| sl_xwoba | 0.289 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 40.2 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 49.2 |
| sl_avg_best_speed | 75.930450794 |
| sl_avg_hyper_speed | 94.063456984 |
| 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.739 | 0.000 | 0.261 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.783 | 1.000 | 0.217 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.217 | 2.000 | -0.217 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.957 | 1.100 | 0.143 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.739 | 0.000 | 1.261 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| 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 | 0 | 2 | 1 | 1 | - | 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": "680767",
"player_name": "Victor Vodnik",
"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": 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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}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.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 | 6.100 | 2.000 | 3.000 | 4.000 | 1.000 | 1.000 | 2.8421 | 1.1053 | 0.3158 | 0.4737 | 0.6316 | 0.1579 | 0.1579 |
| last_10 | 0.35 | 10 | 11.200 | 4.000 | 8.000 | 8.000 | 6.000 | 1.000 | 3.0857 | 1.3714 | 0.3429 | 0.6857 | 0.6857 | 0.5143 | 0.0857 |
| season | 0.20 | 22 | 24.100 | 15.000 | 27.000 | 15.000 | 17.000 | 3.000 | 5.5479 | 1.7260 | 0.6164 | 1.1096 | 0.6164 | 0.6986 | 0.1233 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6500 |
| predicted_ER | 0.5760 |
| predicted_ERA | 3.9827 |
| predicted_H | 1.0700 |
| predicted_HR | 0.1780 |
| predicted_IP | 1.1000 |
| predicted_SO | 0.8810 |
| predicted_WHIP | 1.3227 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.6500 | 0.8478 | model_form_blend |
| predicted_ER | 1.0000 | 0.5760 | 0.8156 | model_form_blend |
| predicted_ERA | - | 3.9827 | 3.9827 | form_only |
| predicted_H | 2.0000 | 1.0700 | 1.5955 | model_form_blend |
| predicted_HR | 0.0000 | 0.1780 | 0.0774 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8810 | 1.5133 | model_form_blend |
| predicted_WHIP | - | 1.3227 | 1.3227 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.66 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 3 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260629_MIA@COL |
| game_type | full |
| mlbID | 680767 |
| playerID | 680767 |
| playerName | Victor Vodnik |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-29 |
| sl_k_percent | 14.8 |
| sl_bb_percent | 14.8 |
| sl_woba | 0.374 |
| sl_xwoba | 0.334 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 37.5 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 45.8 |
| sl_avg_best_speed | 78.749408462 |
| sl_avg_hyper_speed | 93.956609359 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.900 | 1.000 | 0.100 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.095 | 0.000 | -0.095 | 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": "623474",
"player_name": "Jimmy Herget",
"position": "Middle Reliever",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 2.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.4000 | 0.2000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 7.000 | 12.000 | 3.000 | 15.000 | 2.000 | 6.3000 | 1.5000 | 0.7000 | 1.2000 | 0.3000 | 1.5000 | 0.2000 |
| season | 0.20 | 20 | 21.000 | 9.000 | 20.000 | 5.000 | 23.000 | 2.000 | 3.8571 | 1.1905 | 0.4286 | 0.9524 | 0.2381 | 1.0952 | 0.0952 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3050 |
| predicted_ER | 0.4220 |
| predicted_ERA | 3.7962 |
| predicted_H | 0.8860 |
| predicted_HR | 0.1210 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1040 |
| predicted_WHIP | 1.1912 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3050 | 0.1279 | model_form_blend |
| predicted_ER | 0.0000 | 0.4220 | 0.1770 | model_form_blend |
| predicted_ERA | - | 3.7962 | 3.7962 | form_only |
| predicted_H | 0.0000 | 0.8860 | 0.3716 | model_form_blend |
| predicted_HR | 0.0000 | 0.1210 | 0.0508 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1040 | 1.0436 | model_form_blend |
| predicted_WHIP | - | 1.1912 | 1.1912 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 20 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.86 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 623474 |
| playerID | 623474 |
| playerName | Jimmy Herget |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.316 |
| sl_xwoba | 0.297 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 44.1 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 50.1 |
| sl_avg_best_speed | 78.798679655 |
| sl_avg_hyper_speed | 95.015978772 |
| 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.250 | 0.000 | 0.750 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.850 | 0.000 | -0.850 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.655 | 1.000 | -0.455 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.650 | 1.000 | -0.650 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 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": 0.2,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 0.000 | 3.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.6923 | 0.0000 | 0.6923 | 0.0000 | 0.9231 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 0.000 | 7.000 | 3.000 | 7.000 | 0.000 | 0.0000 | 1.2000 | 0.0000 | 0.8400 | 0.3600 | 0.8400 | 0.0000 |
| season | 0.20 | 40 | 33.200 | 13.000 | 34.000 | 10.000 | 26.000 | 2.000 | 3.4752 | 1.3069 | 0.3861 | 1.0099 | 0.2970 | 0.7723 | 0.0594 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2050 |
| predicted_ER | 0.2030 |
| predicted_ERA | 2.3156 |
| predicted_H | 0.6920 |
| predicted_HR | 0.0550 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7130 |
| predicted_WHIP | 1.1342 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2050 | 0.6271 | model_form_blend |
| predicted_ER | 0.0000 | 0.2030 | 0.0952 | model_form_blend |
| predicted_ERA | - | 2.3156 | 2.3156 | form_only |
| predicted_H | 0.0000 | 0.6920 | 0.3246 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0258 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7130 | 0.3344 | model_form_blend |
| predicted_WHIP | - | 1.1342 | 1.1342 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 40 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.48 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 657514 |
| playerID | 657514 |
| playerName | Brennan Bernardino |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.311 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 29.2 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 73.961026346 |
| sl_avg_hyper_speed | 92.440563269 |
| 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.600 | 1.000 | 0.400 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.771 | 1.000 | 0.229 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.229 | 1.000 | -0.229 | 0.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.951 | 2.000 | -0.951 | -2.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.171 | 3.000 | -1.171 | -3.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": "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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 5.000 | 8.000 | 1.000 | 4.000 | 2.000 | 6.7500 | 1.3500 | 0.7500 | 1.2000 | 0.1500 | 0.6000 | 0.3000 |
| last_10 | 0.35 | 10 | 10.200 | 9.000 | 12.000 | 5.000 | 10.000 | 2.000 | 7.5938 | 1.5938 | 0.8438 | 1.1250 | 0.4688 | 0.9375 | 0.1875 |
| season | 0.20 | 35 | 38.200 | 27.000 | 43.000 | 21.000 | 41.000 | 4.000 | 6.2845 | 1.6552 | 0.6983 | 1.1121 | 0.5431 | 1.0603 | 0.1035 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2870 |
| predicted_ER | 0.5490 |
| predicted_ERA | 5.9757 |
| predicted_H | 0.8940 |
| predicted_HR | 0.1590 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7170 |
| predicted_WHIP | 1.4279 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2870 | 0.6555 | model_form_blend |
| predicted_ER | 1.0000 | 0.5490 | 0.7821 | model_form_blend |
| predicted_ERA | - | 5.9757 | 5.9757 | form_only |
| predicted_H | 1.0000 | 0.8940 | 0.9488 | model_form_blend |
| predicted_HR | 0.0000 | 0.1590 | 0.0768 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7170 | 0.8633 | model_form_blend |
| predicted_WHIP | - | 1.4279 | 1.4279 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| 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 | 8 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.28 |
| 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 | 2.0 |
| Pitching_Pitches | 25 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260701_MIA@COL |
| game_type | full |
| mlbID | 675848 |
| playerID | 675848 |
| playerName | Juan Mejia |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-07-01 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.34 |
| sl_xwoba | 0.322 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 40.4 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 78.797030714 |
| sl_avg_hyper_speed | 94.735574375 |
| 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.045 | 1.000 | -1.045 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.909 | 0.000 | -0.909 | 1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 2.864 | 1.000 | -2.864 | -1.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 2.227 | 2.100 | -2.227 | -2.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.591 | 1.000 | -1.591 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | predicted_IP: 0.1000 -> 0.0000 (deboost -0.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 0 | 2 | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) | predicted_IP: 0.1000 -> 0.0000 (deboost -0.1000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "688642",
"player_name": "Zach Agnos",
"position": "Reliever",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"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": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"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": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 11.100 | 8.000 | 15.000 | 7.000 | 7.000 | 0.000 | 6.3529 | 1.9412 | 0.7059 | 1.3235 | 0.6177 | 0.6177 | 0.0000 |
| last_10 | 0.35 | 10 | 26.200 | 26.000 | 36.000 | 13.000 | 16.000 | 5.000 | 8.7750 | 1.8375 | 0.9750 | 1.3500 | 0.4875 | 0.6000 | 0.1875 |
| season | 0.20 | 22 | 51.100 | 42.000 | 63.000 | 23.000 | 35.000 | 8.000 | 7.3636 | 1.6753 | 0.8182 | 1.2273 | 0.4481 | 0.6818 | 0.1558 |
| Metric | Value |
|---|---|
| predicted_BB | 0.8390 |
| predicted_ER | 1.2540 |
| predicted_ERA | 6.4393 |
| predicted_H | 2.1010 |
| predicted_HR | 0.1990 |
| predicted_IP | 1.2000 |
| predicted_SO | 1.2840 |
| predicted_WHIP | 1.6775 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.8390 | 0.4285 | model_form_blend |
| predicted_ER | 0.0000 | 1.2540 | 0.6405 | model_form_blend |
| predicted_ERA | - | 6.4393 | 6.4393 | form_only |
| predicted_H | 0.0000 | 2.1010 | 1.0732 | model_form_blend |
| predicted_HR | 0.0000 | 0.1990 | 0.1016 | model_form_blend |
| predicted_IP | 0.1000 | 1.2000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2840 | 0.6558 | model_form_blend |
| predicted_WHIP | - | 1.6775 | 1.6775 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0.0 |
| H | 0 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 0 |
| Pitches | 0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 0 |
| Pitching_ERA | 7.36 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.1 |
| Pitching_Pitches | 31 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260629_MIA@COL |
| game_type | full |
| mlbID | 688642 |
| playerID | 688642 |
| playerName | Zach Agnos |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-29 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.383 |
| sl_xwoba | 0.369 |
| sl_sweet_spot_percent | 41.8 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 42.4 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 51.2 |
| sl_avg_best_speed | 78.324260909 |
| sl_avg_hyper_speed | 94.323843657 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | PIT 3 - 4 PHI | PHI | 0.640 | scoring_simulation.final_score | True |
| Simulation draw | PIT 4 - 5 PHI | PHI | - | reconciled_final_score | 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.7000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6400 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | reconciled_final_score |
| 10. Score evolution rendered | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.117 | 4.260 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 4 | 0.6400 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 3 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 3 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.45259706532663324,
"base_low_score_probability": 0.4192390524048816,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.03335801292175167,
"confidence": 0.639784,
"factors": {
"environmental": 1.079568,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.079568
},
"prediction": "normal_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 9,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 72,
"near_bucket_sample_size": 72,
"medium_bucket_sample_size": 74,
"wide_bucket_sample_size": 76,
"global_sample_size": 88,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.4722,
"bayesian_hit_rate": 0.4778,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5026,
"calibrated_pick_probability": 0.505,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "PHI",
"games": 87,
"wins": 49,
"losses": 38,
"win_pct": 0.5632183908045977,
"runs_scored": 393,
"runs_allowed": 383,
"run_differential": 10,
"run_differential_per_game": 0.11494252873563218,
"available": true
},
"away": {
"team": "PIT",
"games": 87,
"wins": 43,
"losses": 44,
"win_pct": 0.4942528735632184,
"runs_scored": 446,
"runs_allowed": 426,
"run_differential": 20,
"run_differential_per_game": 0.22988505747126436,
"available": true
},
"run_differential_edge_per_game": -0.1149,
"win_pct_edge": 0.069,
"quality_edge": -0.0115,
"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": "PIT",
"final_score_winner": "PHI",
"pre_simulation_winner": "PHI",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "PIT 3 - 4 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "PIT 4 - 5 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.0115,
"winner": "PHI",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "PHI",
"games": 87,
"wins": 49,
"losses": 38,
"win_pct": 0.5632183908045977,
"runs_scored": 393,
"runs_allowed": 383,
"run_differential": 10,
"run_differential_per_game": 0.11494252873563218,
"available": true
},
"away": {
"team": "PIT",
"games": 87,
"wins": 43,
"losses": 44,
"win_pct": 0.4942528735632184,
"runs_scored": 446,
"runs_allowed": 426,
"run_differential": 20,
"run_differential_per_game": 0.22988505747126436,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.03,
"final_margin": 0.03,
"margin_cap": 1.5,
"season_quality_edge": 0.0115,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.503011,
"final_confidence": 0.505,
"confidence_cap": 0.66,
"score_gap": 0.03,
"calibration_sample_size": 72,
"calibration_empirical_hit_rate": 0.4722,
"calibration_bayesian_hit_rate": 0.4778,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.0115,
"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": 4,
"score_text": "PIT 3 - 4 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "PIT 4 - 5 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.0115,
"winner": "PHI",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 5,
"confidence": 0.64,
"home_win_probability": 0.64,
"away_win_probability": 0.36,
"predicted_score_text": "PIT 4 - 5 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": "PIT",
"original_runs": 3,
"run_delta": 0.1158,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.11034439320074263,
"contact": 0.25590073452790296,
"power": 0.26401012537631274,
"discipline": -0.06491131831108284,
"xwoba": 0.33409374999999997,
"recent_xwoba": 0.33409374999999997,
"barrel": 9.400000000000002,
"ab_hard_contact": -0.31456110823320527,
"ab_bat_speed": 69.52349319511293,
"ab_strikeout_rate": 0.2628257528348924,
"available_players": 9,
"top_players": [
{
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"weight": 4.0,
"quality": 0.7330875605461358,
"contact": 0.8799099454761654,
"power": 0.758339312554377,
"discipline": 0.6202738095238095,
"xwoba": 0.368,
"recent_xwoba": 0.368,
"barrel": 9.9,
"ab_hard_contact": 0.45935767965896146,
"ab_bat_speed": 71.04840029761905,
"ab_strikeout_rate": 0.21160714285714285,
"available": 1.0
},
{
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "CF",
"weight": 3.0,
"quality": -0.38820137904997865,
"contact": -0.6725817460972379,
"power": -1.2788877615463654,
"discipline": -0.1072342549923195,
"xwoba": 0.281,
"recent_xwoba": 0.281,
"barrel": 1.3,
"ab_hard_contact": -1.589945707117793,
"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.45552376268516276,
"contact": 0.3262463001700426,
"power": 0.9566738099948524,
"discipline": -0.34238095238095223,
"xwoba": 0.342,
"recent_xwoba": 0.342,
"barrel": 12.8,
"ab_hard_contact": 0.2233809618018189,
"ab_bat_speed": 70.76913666666667,
"ab_strikeout_rate": 0.25733333333333336,
"available": 1.0
},
{
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "RF",
"weight": 3.0,
"quality": 0.08274578884839748,
"contact": 1.0332128460686603,
"power": 2.0,
"discipline": -0.7482857142857142,
"xwoba": 0.403,
"recent_xwoba": 0.403,
"barrel": 30.3,
"ab_hard_contact": -0.570113488735817,
"ab_bat_speed": 69.49,
"ab_strikeout_rate": 0.5133333333333333,
"available": 1.0
},
{
"player_id": "669707",
"player_name": "Jared Triolo",
"position": "SS",
"weight": 3.0,
"quality": -0.20638550480089857,
"contact": -0.5285955535961907,
"power": -0.9502934366790284,
"discipline": -0.23561038961038963,
"xwoba": 0.28,
"recent_xwoba": 0.28,
"barrel": 1.7,
"ab_hard_contact": -0.5456782573901005,
"ab_bat_speed": 69.12920454545454,
"ab_strikeout_rate": 0.23484848484848483,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "660604",
"player_name": "Alan Rangel",
"quality": 0.025076270823973578,
"contact": 0.9640438209935713,
"command": 0.224142857142857,
"movement": -1.0611957882335228,
"xwoba": 0.27,
"whiff": 22.0,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "PHI",
"original_runs": 4,
"run_delta": 0.1103,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.20882797804523287,
"contact": -0.031597671332028184,
"power": 0.07062982933056251,
"discipline": -0.11664935975683381,
"xwoba": 0.30414705882352944,
"recent_xwoba": 0.30414705882352944,
"barrel": 7.826470588235293,
"ab_hard_contact": -0.06607008005541523,
"ab_bat_speed": 70.22667493983599,
"ab_strikeout_rate": 0.2144546818856854,
"available_players": 8,
"top_players": [
{
"player_id": "656941",
"player_name": "Kyle Schwarber",
"position": "DH",
"weight": 4.0,
"quality": 1.1178028859167903,
"contact": 0.8828917682347558,
"power": 1.9923733935467094,
"discipline": -0.06362271062271069,
"xwoba": 0.383,
"recent_xwoba": 0.383,
"barrel": 19.9,
"ab_hard_contact": 0.7268964423627615,
"ab_bat_speed": 74.57395451770452,
"ab_strikeout_rate": 0.33621794871794874,
"available": 1.0
},
{
"player_id": "547180",
"player_name": "Bryce Harper",
"position": "1B",
"weight": 4.0,
"quality": 1.2912292183667902,
"contact": 1.3856271617320322,
"power": 1.466610289362251,
"discipline": 0.6322786762503745,
"xwoba": 0.409,
"recent_xwoba": 0.409,
"barrel": 12.4,
"ab_hard_contact": 1.5360153110545398,
"ab_bat_speed": 72.87975995807128,
"ab_strikeout_rate": 0.18731656184486373,
"available": 1.0
},
{
"player_id": "665561",
"player_name": "Rafael Marchán",
"position": "C",
"weight": 3.0,
"quality": -0.39631490778394807,
"contact": -1.7828447980416156,
"power": -1.550154300167785,
"discipline": -0.48903007518796987,
"xwoba": 0.205,
"recent_xwoba": 0.205,
"barrel": 3.1,
"ab_hard_contact": -1.2884193366890315,
"ab_bat_speed": 64.96063596491229,
"ab_strikeout_rate": 0.19298245614035087,
"available": 1.0
},
{
"player_id": "702222",
"player_name": "Justin Crawford",
"position": "CF",
"weight": 3.0,
"quality": -0.5416090500891366,
"contact": -0.529309937905759,
"power": -1.0595680912863263,
"discipline": -0.09958503401360538,
"xwoba": 0.272,
"recent_xwoba": 0.272,
"barrel": 1.0,
"ab_hard_contact": -0.7761237304884309,
"ab_bat_speed": 66.64708616780045,
"ab_strikeout_rate": 0.19353741496598637,
"available": 1.0
},
{
"player_id": "669016",
"player_name": "Brandon Marsh",
"position": "LF",
"weight": 4.0,
"quality": 0.3072033100416857,
"contact": 0.5556582627745134,
"power": 0.6929504680279791,
"discipline": -0.6661224489795919,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 10.0,
"ab_hard_contact": 0.32910459865482,
"ab_bat_speed": 70.35567857142857,
"ab_strikeout_rate": 0.2370748299319728,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "683003",
"player_name": "Jared Jones",
"quality": -0.0,
"contact": -0.8171950400835714,
"command": 0.35671428571428554,
"movement": -1.400857142857143,
"xwoba": 0.338,
"whiff": 32.4,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": -0.0115,
"recent_form_edge_home_minus_away": 0.14,
"pitcher_matchup_edge_home_minus_away": 0.0589,
"composite_home_edge": 0.3383,
"existing_home_win_probability": 0.505,
"refreshed_home_win_probability": 0.663,
"winner_support_before_review": 0.3383
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "PIT 3 - 4 PHI",
"confidence": 0.64,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "PIT 3 - 4 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "PIT 4 - 5 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": -0.0115,
"winner": "PHI",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "PHI",
"display_confidence": 0.64,
"internal_fair_probability": 0.5861,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.0621,
"moneyline_fit": "press",
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": -0.0115,
"winner_recent_form_edge": 0.14,
"winner_pitcher_matchup_edge": 0.0589,
"winner_simulation_draw_rate": 0.625,
"blowout_draw_rate_margin_4_plus": 0.25,
"high_total_draw_rate_11_plus": 0.1875,
"low_total_draw_rate_6_or_less": 0.4375,
"total_runs_spread": {
"min": 1,
"median": 9,
"max": 12,
"range": 11
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}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.0262 | 1.0262 | 1 | 9 | 0 |
| Home PHI | True | 1.0160 | 1.0160 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Esmerlyn Valdez | 197 | 1.0523 | 0.6972 | negative_batter_regression | 0.4030 | 0.2580 | 0.6280 | 30.30 | 57.60 | 92.30 | 18.70 | 37.60 | 33.90 | 10.20 | -1.5143 |
| 2B | Brandon Lowe | 26 | 1.0588 | 0.7843 | neutral | 0.3420 | 0.2420 | 0.4630 | 12.80 | 46 | 90.80 | 17.20 | 34.80 | 26.10 | 9.80 | -0.1714 |
| LF | Bryan Reynolds | 20 | 1.0768 | 1.0235 | neutral | 0.3680 | 0.2630 | 0.4510 | 9.90 | 47.80 | 91.40 | 6 | 29.50 | 22.30 | 14.90 | -0.2571 |
| CF | Jake Mangum | 223 | 0.9729 | -0.3610 | negative_batter_regression | 0.2810 | 0.2560 | 0.3210 | 1.30 | 26.60 | 83.90 | 3.50 | 19.80 | 18 | 5.70 | -1.0286 |
| 1B | Ryan O'Hearn | 234 | 1.0202 | 0.2695 | neutral | 0.3260 | 0.2640 | 0.4190 | 6.30 | 43.90 | 89.70 | 13.90 | 22.10 | 22.40 | 7.50 | -0.8000 |
| 3B | Nick Gonzales | 126 | 1.0080 | 0.1063 | neutral | 0.3240 | 0.2830 | 0.3860 | 2.90 | 35.80 | 85.70 | 5.50 | 24.40 | 18.60 | 6.40 | -0.1143 |
| DH | Marcell Ozuna | 577 | 1.0239 | 0.3193 | positive_batter_regression | 0.3100 | 0.2240 | 0.4100 | 8.80 | 39.60 | 89.70 | 21.40 | 32.10 | 30.50 | 9 | 1.1143 |
| SS | Jared Triolo | 232 | 0.9825 | -0.2339 | neutral | 0.2800 | 0.2360 | 0.3050 | 1.70 | 37.10 | 87.40 | 5.60 | 25.80 | 25.10 | 7.80 | -0.0571 |
| C | Endy Rodríguez | 206 | 1.0403 | 0.5377 | neutral | 0.3730 | 0.2670 | 0.4430 | 12.70 | 46 | 92.50 | 20 | 25.60 | 23.90 | 17.40 | -0.3429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Bryce Harper | 44 | 1.1258 | 1.6779 | neutral | 0.4090 | 0.2930 | 0.5540 | 12.40 | 47.30 | 90.50 | 11.80 | 30.50 | 19.50 | 14.50 | 0.6000 |
| LF | Brandon Marsh | 48 | 1.0380 | 0.5065 | negative_batter_regression | 0.3310 | 0.2800 | 0.4570 | 10 | 46.40 | 89.70 | 13.40 | 25.80 | 26.20 | 4.60 | -1.3429 |
| SS | Trea Turner | 298 | 0.9837 | -0.2177 | neutral | 0.2860 | 0.2400 | 0.3590 | 5.60 | 39.70 | 88.80 | 10.60 | 27.20 | 22.60 | 5.90 | -0.1143 |
| DH | Kyle Schwarber | 41 | 1.1176 | 1.5681 | neutral | 0.3830 | 0.2490 | 0.5350 | 19.90 | 52.90 | 93.30 | 21.50 | 34.70 | 34.20 | 14.30 | -0.4857 |
| 3B | Alec Bohm | 507 | 0.9966 | -0.0453 | neutral | 0.2930 | 0.2410 | 0.3590 | 4.70 | 40.50 | 89.90 | 9.50 | 16.80 | 14.50 | 6.40 | 0.3143 |
| 2B | Bryson Stott | 279 | 1.0256 | 0.3412 | neutral | 0.3220 | 0.2640 | 0.4080 | 6.90 | 38.60 | 89.10 | 15.40 | 17.40 | 17 | 7.40 | 0.4286 |
| RF | Gabriel Rincones Jr. | 499 | 0.9425 | -0.7670 | neutral | 0.1760 | 0.1370 | 0.2140 | 3.40 | 34.50 | 87.60 | 12.50 | 28.20 | 27.90 | 4.70 | -0.8286 |
| CF | Justin Crawford | 423 | 0.9589 | -0.5479 | neutral | 0.2720 | 0.2460 | 0.3080 | 1 | 33.90 | 87 | 2.90 | 19.70 | 20.80 | 6 | -0.5714 |
| C | Rafael Marchán | 529 | 0.9551 | -0.5980 | positive_batter_regression | 0.2050 | 0.1800 | 0.2510 | 3.10 | 21.90 | 84.30 | 24.70 | 16.20 | 17.30 | 1.20 | 1.4571 |
{
"home": {
"applied": true,
"offense_factor": 1.016,
"raw_average_factor": 1.016,
"team_espn_average_rank": 296.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "547180",
"player_name": "Bryce Harper",
"offense_factor": 1.1258,
"quality_score": 1.6779,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "547180",
"espn_id": 30951,
"player_name": "Bryce Harper",
"team": "PHI",
"role": "batter",
"espn_rank": 44,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 44,
"gp_value": 87.0,
"gp_rank": 3,
"ab_value": 306.0,
"ab_rank": 65,
"r_value": 56.0,
"r_rank": 11,
"h_value": 84.0,
"h_rank": 38,
"avg_value": 0.2745098,
"avg_rank": 38.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 20.0,
"hr_rank": 9,
"rbi_value": 56.0,
"rbi_rank": 14,
"tb_value": 163.0,
"tb_rank": 180,
"bb_value": 53.0,
"bb_rank": 10,
"so_value": 71.0,
"so_rank": 82,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3753424,
"obp_rank": "21",
"slg_value": 0.5326797,
"slg_rank": "9",
"ops_value": 0.9080221,
"ops_rank": 30.0,
"war_value": 2.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 19.5,
"bb_percent": 14.5,
"woba": 0.388,
"xwoba": 0.409,
"xba": 0.293,
"xslg": 0.554,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 12.4,
"hard_hit_percent": 47.3,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 11.8,
"whiff_percent": 30.5,
"swing_percent": 51.2
},
"components": {
"expected_quality": 1.8533,
"regression_edge": 0.6,
"xwoba_edge": 2.5,
"xba_edge": 1.5429,
"xslg_edge": 2.5,
"barrel_edge": 1.2222,
"hard_hit_edge": 1.3143,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "669016",
"player_name": "Brandon Marsh",
"offense_factor": 1.038,
"quality_score": 0.5065,
"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": 48,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 48,
"gp_value": 82.0,
"gp_rank": 62,
"ab_value": 304.0,
"ab_rank": 67,
"r_value": 50.0,
"r_rank": 33,
"h_value": 97.0,
"h_rank": 5,
"avg_value": 0.3190789,
"avg_rank": 4.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 15.0,
"hr_rank": 39,
"rbi_value": 46.0,
"rbi_rank": 43,
"tb_value": 161.0,
"tb_rank": 227,
"bb_value": 15.0,
"bb_rank": 237,
"so_value": 85.0,
"so_rank": 32,
"sb_value": 8.0,
"sb_rank": 64,
"obp_value": 0.3518518,
"obp_rank": "47",
"slg_value": 0.5296052,
"slg_rank": "12",
"ops_value": 0.881457,
"ops_rank": 59.0,
"war_value": 2.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 26.2,
"bb_percent": 4.6,
"woba": 0.378,
"xwoba": 0.331,
"xba": 0.28,
"xslg": 0.457,
"sweet_spot_percent": 46.8,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 46.4,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 13.4,
"whiff_percent": 25.8,
"swing_percent": 54.2
},
"components": {
"expected_quality": 0.9078,
"regression_edge": -1.3429,
"xwoba_edge": 0.8,
"xba_edge": 1.1714,
"xslg_edge": 1.2286,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.1857,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 2.2667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "607208",
"player_name": "Trea Turner",
"offense_factor": 0.9837,
"quality_score": -0.2177,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607208",
"espn_id": 33710,
"player_name": "Trea Turner",
"team": "PHI",
"role": "batter",
"espn_rank": 298,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 298,
"gp_value": 85.0,
"gp_rank": 23,
"ab_value": 351.0,
"ab_rank": 2,
"r_value": 59.0,
"r_rank": 5,
"h_value": 84.0,
"h_rank": 38,
"avg_value": 0.2393162,
"avg_rank": 115.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 10.0,
"hr_rank": 94,
"rbi_value": 31.0,
"rbi_rank": 142,
"tb_value": 129.0,
"tb_rank": 811,
"bb_value": 22.0,
"bb_rank": 160,
"so_value": 85.0,
"so_rank": 32,
"sb_value": 16.0,
"sb_rank": 14,
"obp_value": 0.287234,
"obp_rank": "148",
"slg_value": 0.3675213,
"slg_rank": "130",
"ops_value": 0.6547553,
"ops_rank": 18.0,
"war_value": 0.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 239.0,
"k_percent": 22.6,
"bb_percent": 5.9,
"woba": 0.29,
"xwoba": 0.286,
"xba": 0.24,
"xslg": 0.359,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 39.7,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 10.6,
"whiff_percent": 27.2,
"swing_percent": 51.5
},
"components": {
"expected_quality": -0.2346,
"regression_edge": -0.1143,
"xwoba_edge": -0.4857,
"xba_edge": 0.0286,
"xslg_edge": -0.1714,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.2286,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "656941",
"player_name": "Kyle Schwarber",
"offense_factor": 1.1176,
"quality_score": 1.5681,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656941",
"espn_id": 33712,
"player_name": "Kyle Schwarber",
"team": "PHI",
"role": "batter",
"espn_rank": 41,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 41,
"gp_value": 83.0,
"gp_rank": 48,
"ab_value": 313.0,
"ab_rank": 44,
"r_value": 55.0,
"r_rank": 15,
"h_value": 79.0,
"h_rank": 66,
"avg_value": 0.2523961,
"avg_rank": 83.0,
"2b_value": 9.0,
"2b_rank": 191,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 30.0,
"hr_rank": 1,
"rbi_value": 55.0,
"rbi_rank": 17,
"tb_value": 180.0,
"tb_rank": 432,
"bb_value": 53.0,
"bb_rank": 10,
"so_value": 127.0,
"so_rank": 1,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3665768,
"obp_rank": "28",
"slg_value": 0.5750798,
"slg_rank": "2",
"ops_value": 0.9416566,
"ops_rank": 30.0,
"war_value": 2.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 34.2,
"bb_percent": 14.3,
"woba": 0.4,
"xwoba": 0.383,
"xba": 0.249,
"xslg": 0.535,
"sweet_spot_percent": 40.1,
"barrel_batted_rate": 19.9,
"hard_hit_percent": 52.9,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 21.5,
"whiff_percent": 34.7,
"swing_percent": 44.8
},
"components": {
"expected_quality": 1.9025,
"regression_edge": -0.4857,
"xwoba_edge": 2.2857,
"xba_edge": 0.2857,
"xslg_edge": 2.3429,
"barrel_edge": 2.5,
"hard_hit_edge": 2.1143,
"exit_velocity_edge": 1.8,
"sweet_spot_edge": 1.15,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "664761",
"player_name": "Alec Bohm",
"offense_factor": 0.9966,
"quality_score": -0.0453,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664761",
"espn_id": 41169,
"player_name": "Alec Bohm",
"team": "PHI",
"role": "batter",
"espn_rank": 507,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 507,
"gp_value": 82.0,
"gp_rank": 62,
"ab_value": 301.0,
"ab_rank": 75,
"r_value": 28.0,
"r_rank": 175,
"h_value": 67.0,
"h_rank": 106,
"avg_value": 0.2225913,
"avg_rank": 140.0,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 10.0,
"hr_rank": 94,
"rbi_value": 45.0,
"rbi_rank": 48,
"tb_value": 108.0,
"tb_rank": 956,
"bb_value": 21.0,
"bb_rank": 168,
"so_value": 48.0,
"so_rank": 184,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.2787878,
"obp_rank": "152",
"slg_value": 0.3588039,
"slg_rank": "133",
"ops_value": 0.6375917,
"ops_rank": 19.0,
"war_value": -0.35,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 204.0,
"k_percent": 14.5,
"bb_percent": 6.4,
"woba": 0.282,
"xwoba": 0.293,
"xba": 0.241,
"xslg": 0.359,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 9.5,
"whiff_percent": 16.8,
"swing_percent": 45.3
},
"components": {
"expected_quality": -0.108,
"regression_edge": 0.3143,
"xwoba_edge": -0.2857,
"xba_edge": 0.0571,
"xslg_edge": -0.1714,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.3429,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "681082",
"player_name": "Bryson Stott",
"offense_factor": 1.0256,
"quality_score": 0.3412,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681082",
"espn_id": 42417,
"player_name": "Bryson Stott",
"team": "PHI",
"role": "batter",
"espn_rank": 279,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 279,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 283.0,
"ab_rank": 98,
"r_value": 33.0,
"r_rank": 134,
"h_value": 69.0,
"h_rank": 100,
"avg_value": 0.2438162,
"avg_rank": 99.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 3.0,
"3b_rank": 9,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 40.0,
"rbi_rank": 72,
"tb_value": 111.0,
"tb_rank": 625,
"bb_value": 23.0,
"bb_rank": 145,
"so_value": 53.0,
"so_rank": 159,
"sb_value": 16.0,
"sb_rank": 14,
"obp_value": 0.3042071,
"obp_rank": "131",
"slg_value": 0.3922261,
"slg_rank": "111",
"ops_value": 0.6964332,
"ops_rank": 242.0,
"war_value": 0.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 182.0,
"k_percent": 17.0,
"bb_percent": 7.4,
"woba": 0.307,
"xwoba": 0.322,
"xba": 0.264,
"xslg": 0.408,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 15.4,
"whiff_percent": 17.4,
"swing_percent": 43.5
},
"components": {
"expected_quality": 0.4098,
"regression_edge": 0.4286,
"xwoba_edge": 0.5429,
"xba_edge": 0.7143,
"xslg_edge": 0.5286,
"barrel_edge": 0.0,
"hard_hit_edge": 0.0714,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "687282",
"player_name": "Gabriel Rincones Jr.",
"offense_factor": 0.9425,
"quality_score": -0.767,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687282",
"espn_id": 5131884,
"player_name": "Gabriel Rincones Jr.",
"team": "PHI",
"role": "batter",
"espn_rank": 499,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 499,
"gp_value": 13.0,
"gp_rank": 487,
"ab_value": 41.0,
"ab_rank": 460,
"r_value": 4.0,
"r_rank": 454,
"h_value": 7.0,
"h_rank": 470,
"avg_value": 0.1707317,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 508,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 3.0,
"rbi_rank": 468,
"tb_value": 10.0,
"tb_rank": 2564,
"bb_value": 2.0,
"bb_rank": 466,
"so_value": 12.0,
"so_rank": 454,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2093023,
"obp_rank": "-",
"slg_value": 0.2439024,
"slg_rank": "-",
"ops_value": 0.4532047,
"ops_rank": null,
"war_value": -0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 27.9,
"bb_percent": 4.7,
"woba": 0.205,
"xwoba": 0.176,
"xba": 0.137,
"xslg": 0.214,
"sweet_spot_percent": 13.8,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 12.5,
"whiff_percent": 28.2,
"swing_percent": 60.2
},
"components": {
"expected_quality": -1.8471,
"regression_edge": -0.8286,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.2429,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.5143,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "702222",
"player_name": "Justin Crawford",
"offense_factor": 0.9589,
"quality_score": -0.5479,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702222",
"espn_id": 5080642,
"player_name": "Justin Crawford",
"team": "PHI",
"role": "batter",
"espn_rank": 423,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 423,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 246.0,
"ab_rank": 138,
"r_value": 26.0,
"r_rank": 191,
"h_value": 63.0,
"h_rank": 124,
"avg_value": 0.2560975,
"avg_rank": 78.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 19.0,
"rbi_rank": 251,
"tb_value": 85.0,
"tb_rank": 1311,
"bb_value": 16.0,
"bb_rank": 224,
"so_value": 55.0,
"so_rank": 151,
"sb_value": 10.0,
"sb_rank": 46,
"obp_value": 0.3068181,
"obp_rank": "123",
"slg_value": 0.3455284,
"slg_rank": "141",
"ops_value": 0.6523465,
"ops_rank": 18.0,
"war_value": -0.11,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 173.0,
"k_percent": 20.8,
"bb_percent": 6.0,
"woba": 0.292,
"xwoba": 0.272,
"xba": 0.246,
"xslg": 0.308,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 1.0,
"hard_hit_percent": 33.9,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 2.9,
"whiff_percent": 19.7,
"swing_percent": 53.4
},
"components": {
"expected_quality": -0.7172,
"regression_edge": -0.5714,
"xwoba_edge": -0.8857,
"xba_edge": 0.2,
"xslg_edge": -0.9,
"barrel_edge": -1.3111,
"hard_hit_edge": -0.6,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "665561",
"player_name": "Rafael Marchán",
"offense_factor": 0.9551,
"quality_score": -0.598,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665561",
"espn_id": 40816,
"player_name": "Rafael Marchan",
"team": "PHI",
"role": "batter",
"espn_rank": 529,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 529,
"gp_value": 27.0,
"gp_rank": 401,
"ab_value": 78.0,
"ab_rank": 384,
"r_value": 4.0,
"r_rank": 454,
"h_value": 9.0,
"h_rank": 444,
"avg_value": 0.1153846,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 508,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 6.0,
"rbi_rank": 414,
"tb_value": 15.0,
"tb_rank": 2397,
"bb_value": 1.0,
"bb_rank": 491,
"so_value": 14.0,
"so_rank": 435,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.1481481,
"obp_rank": "-",
"slg_value": 0.1923076,
"slg_rank": "-",
"ops_value": 0.3404557,
"ops_rank": null,
"war_value": -0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 64.0,
"k_percent": 17.3,
"bb_percent": 1.2,
"woba": 0.154,
"xwoba": 0.205,
"xba": 0.18,
"xslg": 0.251,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 3.1,
"hard_hit_percent": 21.9,
"exit_velocity_avg": 84.3,
"launch_angle_avg": 24.7,
"whiff_percent": 16.2,
"swing_percent": 48.9
},
"components": {
"expected_quality": -1.7825,
"regression_edge": 1.4571,
"xwoba_edge": -2.5,
"xba_edge": -1.6857,
"xslg_edge": -1.7143,
"barrel_edge": -0.8444,
"hard_hit_edge": -2.3143,
"exit_velocity_edge": -1.8,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0262,
"raw_average_factor": 1.0262,
"team_espn_average_rank": 204.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"offense_factor": 1.0523,
"quality_score": 0.6972,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "699013",
"espn_id": 5137200,
"player_name": "Esmerlyn Valdez",
"team": "PIT",
"role": "batter",
"espn_rank": 197,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 197,
"gp_value": 18.0,
"gp_rank": 451,
"ab_value": 53.0,
"ab_rank": 428,
"r_value": 11.0,
"r_rank": 354,
"h_value": 16.0,
"h_rank": 391,
"avg_value": 0.3018867,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 12.0,
"rbi_rank": 324,
"tb_value": 38.0,
"tb_rank": 1697,
"bb_value": 6.0,
"bb_rank": 385,
"so_value": 20.0,
"so_rank": 390,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3728813,
"obp_rank": "-",
"slg_value": 0.7169811,
"slg_rank": "-",
"ops_value": 1.0898623,
"ops_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 18.0,
"k_percent": 33.9,
"bb_percent": 10.2,
"woba": 0.456,
"xwoba": 0.403,
"xba": 0.258,
"xslg": 0.628,
"sweet_spot_percent": 45.5,
"barrel_batted_rate": 30.3,
"hard_hit_percent": 57.6,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 18.7,
"whiff_percent": 37.6,
"swing_percent": 44.3
},
"components": {
"expected_quality": 2.0481,
"regression_edge": -1.5143,
"xwoba_edge": 2.5,
"xba_edge": 0.5429,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": 2.05,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "664040",
"player_name": "Brandon Lowe",
"offense_factor": 1.0588,
"quality_score": 0.7843,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664040",
"espn_id": 39961,
"player_name": "Brandon Lowe",
"team": "PIT",
"role": "batter",
"espn_rank": 26,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 26,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 313.0,
"ab_rank": 44,
"r_value": 51.0,
"r_rank": 29,
"h_value": 75.0,
"h_rank": 75,
"avg_value": 0.2396166,
"avg_rank": 110.0,
"2b_value": 19.0,
"2b_rank": 18,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 20.0,
"hr_rank": 9,
"rbi_value": 57.0,
"rbi_rank": 11,
"tb_value": 156.0,
"tb_rank": 298,
"bb_value": 35.0,
"bb_rank": 52,
"so_value": 93.0,
"so_rank": 20,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3146067,
"obp_rank": "112",
"slg_value": 0.4984025,
"slg_rank": "26",
"ops_value": 0.8130092,
"ops_rank": 86.0,
"war_value": 2.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 26.1,
"bb_percent": 9.8,
"woba": 0.348,
"xwoba": 0.342,
"xba": 0.242,
"xslg": 0.463,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 46.0,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 17.2,
"whiff_percent": 34.8,
"swing_percent": 49.8
},
"components": {
"expected_quality": 0.944,
"regression_edge": -0.1714,
"xwoba_edge": 1.1143,
"xba_edge": 0.0857,
"xslg_edge": 1.3143,
"barrel_edge": 1.3111,
"hard_hit_edge": 1.1286,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"offense_factor": 1.0768,
"quality_score": 1.0235,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668804",
"espn_id": 38980,
"player_name": "Bryan Reynolds",
"team": "PIT",
"role": "batter",
"espn_rank": 20,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 20,
"gp_value": 87.0,
"gp_rank": 3,
"ab_value": 314.0,
"ab_rank": 41,
"r_value": 58.0,
"r_rank": 9,
"h_value": 88.0,
"h_rank": 25,
"avg_value": 0.2802547,
"avg_rank": 31.0,
"2b_value": 20.0,
"2b_rank": 9,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 11.0,
"hr_rank": 82,
"rbi_value": 53.0,
"rbi_rank": 23,
"tb_value": 145.0,
"tb_rank": 332,
"bb_value": 56.0,
"bb_rank": 7,
"so_value": 84.0,
"so_rank": 39,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3952254,
"obp_rank": "7",
"slg_value": 0.4617834,
"slg_rank": "54",
"ops_value": 0.8570088,
"ops_rank": 61.0,
"war_value": 3.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 22.3,
"bb_percent": 14.9,
"woba": 0.377,
"xwoba": 0.368,
"xba": 0.263,
"xslg": 0.451,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 47.8,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 6.0,
"whiff_percent": 29.5,
"swing_percent": 44.5
},
"components": {
"expected_quality": 1.232,
"regression_edge": -0.2571,
"xwoba_edge": 1.8571,
"xba_edge": 0.6857,
"xslg_edge": 1.1429,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.3857,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "663968",
"player_name": "Jake Mangum",
"offense_factor": 0.9729,
"quality_score": -0.361,
"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": 223,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 223,
"gp_value": 66.0,
"gp_rank": 185,
"ab_value": 192.0,
"ab_rank": 216,
"r_value": 25.0,
"r_rank": 199,
"h_value": 58.0,
"h_rank": 145,
"avg_value": 0.3020833,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 14.0,
"rbi_rank": 298,
"tb_value": 69.0,
"tb_rank": 1941,
"bb_value": 12.0,
"bb_rank": 278,
"so_value": 38.0,
"so_rank": 246,
"sb_value": 14.0,
"sb_rank": 21,
"obp_value": 0.3509615,
"obp_rank": "-",
"slg_value": 0.359375,
"slg_rank": "-",
"ops_value": 0.7103365,
"ops_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 97.0,
"k_percent": 18.0,
"bb_percent": 5.7,
"woba": 0.317,
"xwoba": 0.281,
"xba": 0.256,
"xslg": 0.321,
"sweet_spot_percent": 24.1,
"barrel_batted_rate": 1.3,
"hard_hit_percent": 26.6,
"exit_velocity_avg": 83.9,
"launch_angle_avg": 3.5,
"whiff_percent": 19.8,
"swing_percent": 58.8
},
"components": {
"expected_quality": -0.7653,
"regression_edge": -1.0286,
"xwoba_edge": -0.6286,
"xba_edge": 0.4857,
"xslg_edge": -0.7143,
"barrel_edge": -1.2444,
"hard_hit_edge": -1.6429,
"exit_velocity_edge": -1.96,
"sweet_spot_edge": -1.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"offense_factor": 1.0202,
"quality_score": 0.2695,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656811",
"espn_id": 35183,
"player_name": "Ryan O'Hearn",
"team": "PIT",
"role": "batter",
"espn_rank": 234,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 234,
"gp_value": 72.0,
"gp_rank": 156,
"ab_value": 269.0,
"ab_rank": 110,
"r_value": 41.0,
"r_rank": 78,
"h_value": 77.0,
"h_rank": 69,
"avg_value": 0.2862453,
"avg_rank": 24.0,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 51.0,
"rbi_rank": 30,
"tb_value": 127.0,
"tb_rank": 814,
"bb_value": 22.0,
"bb_rank": 160,
"so_value": 66.0,
"so_rank": 97,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3423728,
"obp_rank": "58",
"slg_value": 0.4721189,
"slg_rank": "40",
"ops_value": 0.8144917,
"ops_rank": 98.0,
"war_value": 0.42,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 22.4,
"bb_percent": 7.5,
"woba": 0.354,
"xwoba": 0.326,
"xba": 0.264,
"xslg": 0.419,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 43.9,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 13.9,
"whiff_percent": 22.1,
"swing_percent": 46.6
},
"components": {
"expected_quality": 0.5133,
"regression_edge": -0.8,
"xwoba_edge": 0.6571,
"xba_edge": 0.7143,
"xslg_edge": 0.6857,
"barrel_edge": -0.1333,
"hard_hit_edge": 0.8286,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "693304",
"player_name": "Nick Gonzales",
"offense_factor": 1.008,
"quality_score": 0.1063,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693304",
"espn_id": 4311634,
"player_name": "Nick Gonzales",
"team": "PIT",
"role": "batter",
"espn_rank": 126,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 126,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 300.0,
"ab_rank": 78,
"r_value": 45.0,
"r_rank": 52,
"h_value": 90.0,
"h_rank": 18,
"avg_value": 0.3,
"avg_rank": 9.0,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 36.0,
"rbi_rank": 98,
"tb_value": 112.0,
"tb_rank": 1149,
"bb_value": 21.0,
"bb_rank": 168,
"so_value": 61.0,
"so_rank": 117,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.3567073,
"obp_rank": "39",
"slg_value": 0.3733333,
"slg_rank": "125",
"ops_value": 0.7300406,
"ops_rank": 164.0,
"war_value": 1.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 18.6,
"bb_percent": 6.4,
"woba": 0.328,
"xwoba": 0.324,
"xba": 0.283,
"xslg": 0.386,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 35.8,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 5.5,
"whiff_percent": 24.4,
"swing_percent": 53.2
},
"components": {
"expected_quality": 0.1566,
"regression_edge": -0.1143,
"xwoba_edge": 0.6,
"xba_edge": 1.2571,
"xslg_edge": 0.2143,
"barrel_edge": -0.8889,
"hard_hit_edge": -0.3286,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "542303",
"player_name": "Marcell Ozuna",
"offense_factor": 1.0239,
"quality_score": 0.3193,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "542303",
"espn_id": 31668,
"player_name": "Marcell Ozuna",
"team": "PIT",
"role": "batter",
"espn_rank": 577,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 577,
"gp_value": 57.0,
"gp_rank": 230,
"ab_value": 210.0,
"ab_rank": 179,
"r_value": 17.0,
"r_rank": 283,
"h_value": 42.0,
"h_rank": 225,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 26.0,
"rbi_rank": 187,
"tb_value": 68.0,
"tb_rank": 1396,
"bb_value": 21.0,
"bb_rank": 168,
"so_value": 71.0,
"so_rank": 82,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2789699,
"obp_rank": "-",
"slg_value": 0.3238095,
"slg_rank": "-",
"ops_value": 0.6027794,
"ops_rank": null,
"war_value": -0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 30.5,
"bb_percent": 9.0,
"woba": 0.271,
"xwoba": 0.31,
"xba": 0.224,
"xslg": 0.41,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 39.6,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 21.4,
"whiff_percent": 32.1,
"swing_percent": 42.3
},
"components": {
"expected_quality": 0.253,
"regression_edge": 1.1143,
"xwoba_edge": 0.2,
"xba_edge": -0.4286,
"xslg_edge": 0.5571,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.2143,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 1.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "669707",
"player_name": "Jared Triolo",
"offense_factor": 0.9825,
"quality_score": -0.2339,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669707",
"espn_id": 42933,
"player_name": "Jared Triolo",
"team": "PIT",
"role": "batter",
"espn_rank": 232,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 232,
"gp_value": 54.0,
"gp_rank": 258,
"ab_value": 160.0,
"ab_rank": 256,
"r_value": 17.0,
"r_rank": 283,
"h_value": 38.0,
"h_rank": 246,
"avg_value": 0.2375,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 14.0,
"rbi_rank": 298,
"tb_value": 49.0,
"tb_rank": 2042,
"bb_value": 14.0,
"bb_rank": 245,
"so_value": 45.0,
"so_rank": 203,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3107344,
"obp_rank": "-",
"slg_value": 0.30625,
"slg_rank": "-",
"ops_value": 0.6169844,
"ops_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 72.0,
"k_percent": 25.1,
"bb_percent": 7.8,
"woba": 0.282,
"xwoba": 0.28,
"xba": 0.236,
"xslg": 0.305,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 37.1,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 5.6,
"whiff_percent": 25.8,
"swing_percent": 42.5
},
"components": {
"expected_quality": -0.5951,
"regression_edge": -0.0571,
"xwoba_edge": -0.6571,
"xba_edge": -0.0857,
"xslg_edge": -0.9429,
"barrel_edge": -1.1556,
"hard_hit_edge": -0.1429,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "682848",
"player_name": "Endy Rodríguez",
"offense_factor": 1.0403,
"quality_score": 0.5377,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682848",
"espn_id": 4712767,
"player_name": "Endy Rodriguez",
"team": "PIT",
"role": "batter",
"espn_rank": 206,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 206,
"gp_value": 32.0,
"gp_rank": 374,
"ab_value": 89.0,
"ab_rank": 370,
"r_value": 14.0,
"r_rank": 323,
"h_value": 24.0,
"h_rank": 337,
"avg_value": 0.2696629,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 266,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 4.0,
"hr_rank": 238,
"rbi_value": 15.0,
"rbi_rank": 288,
"tb_value": 42.0,
"tb_rank": 1071,
"bb_value": 19.0,
"bb_rank": 189,
"so_value": 26.0,
"so_rank": 332,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3981481,
"obp_rank": "-",
"slg_value": 0.4719101,
"slg_rank": "-",
"ops_value": 0.8700582,
"ops_rank": null,
"war_value": 0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 20.0,
"k_percent": 23.9,
"bb_percent": 17.4,
"woba": 0.385,
"xwoba": 0.373,
"xba": 0.267,
"xslg": 0.443,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 12.7,
"hard_hit_percent": 46.0,
"exit_velocity_avg": 92.5,
"launch_angle_avg": 20.0,
"whiff_percent": 25.6,
"swing_percent": 43.4
},
"components": {
"expected_quality": 1.4453,
"regression_edge": -0.3429,
"xwoba_edge": 2.0,
"xba_edge": 0.8,
"xslg_edge": 1.0286,
"barrel_edge": 1.2889,
"hard_hit_edge": 1.1286,
"exit_velocity_edge": 1.48,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.45
}
}
],
"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 | 521 | -0.1029 | 0.4500 | 1.0087 | 1.0181 | 0.9919 | 1.0307 | neutral | 0.3380 | 0.3560 | 22.70 | 8.20 | 32.40 | 9.20 | 40.80 | |
| Home PHI | True | 281 | 0.3406 | 0.4500 | 0.9711 | 0.9986 | 0.9532 | 0.9152 | positive_pitcher_regression | 0.2700 | 0.3030 | 25.50 | 3.90 | 22 | 2.90 | 25.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 PHI | True | None | 44 | 83.94 | 2100 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2800 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9870 |
| home_runs_vs_away_pitcher | 1.0039 |
| home_pitcher_quality_edge | 0.4435 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "660604",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 12.0,
"k_percent": 25.5,
"bb_percent": 3.9,
"woba": 0.303,
"xwoba": 0.27,
"sweet_spot_percent": 22.9,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 25.7,
"avg_best_speed": 74.7852,
"avg_hyper_speed": 92.5496,
"whiff_percent": 22.0,
"swing_percent": 53.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.0956,
"command_and_miss": 0.2746,
"regression_edge": 0.9429,
"xwoba_edge": 1.2143,
"barrel_edge": 1.0,
"hard_hit_edge": 1.8,
"whiff_edge": -0.5,
"bb_edge": 1.3,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "660604",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 44,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 44,
"pitch_usage": 0.0,
"release_speed": 83.94090909090909,
"release_spin_rate": 2099.659090909091,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 44,
"pitch_usage": 0.0,
"release_speed": 83.94090909090909,
"release_spin_rate": 2099.659090909091,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 83.9409,
"release_spin_rate": 2099.6591,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.3406,
"sample_weight": 0.45,
"run_prevention_factor": 0.9711,
"strikeout_factor": 0.9986,
"walk_factor": 0.9532,
"homer_factor": 0.9152,
"woba_minus_xwoba": 0.033,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "660604",
"espn_id": 4917631,
"player_name": "Alan Rangel",
"team": "PHI",
"role": "pitcher",
"espn_rank": 281,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 281,
"gp_value": 3.0,
"gp_rank": 578,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 12.0,
"ip_rank": 478,
"h_value": 12.0,
"h_rank": 489,
"er_value": 6.0,
"er_rank": 496,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 2.0,
"bb_rank": 593,
"k_value": 13.0,
"k_rank": 453,
"k_per_9_value": 9.75,
"k_per_9_rank": 25,
"whip_value": 1.1666,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "683003",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.7,
"bb_percent": 8.2,
"woba": 0.356,
"xwoba": 0.338,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 40.8,
"avg_best_speed": 80.3788,
"avg_hyper_speed": 94.5018,
"whiff_percent": 32.4,
"swing_percent": 48.5
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.6856,
"command_and_miss": 0.3996,
"regression_edge": 0.5143,
"xwoba_edge": -0.7286,
"barrel_edge": -0.4,
"hard_hit_edge": -0.3571,
"whiff_edge": 0.9857,
"bb_edge": 0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683003",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1029,
"sample_weight": 0.45,
"run_prevention_factor": 1.0087,
"strikeout_factor": 1.0181,
"walk_factor": 0.9919,
"homer_factor": 1.0307,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683003",
"espn_id": 4918156,
"player_name": "Jared Jones",
"team": "PIT",
"role": "pitcher",
"espn_rank": 521,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 521,
"gp_value": 6.0,
"gp_rank": 493,
"gs_value": 6.0,
"gs_rank": 167,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.76,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 25.0,
"ip_rank": 362,
"h_value": 27.0,
"h_rank": 289,
"er_value": 16.0,
"er_rank": 239,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 9.0,
"bb_rank": 379,
"k_value": 25.0,
"k_rank": 345,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 1.44,
"whip_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.987,
"home_runs_vs_away_pitcher": 1.0039,
"home_pitcher_quality_edge": 0.4435
},
"score_before": {
"away_runs": 5.2033,
"home_runs": 4.8533
},
"score_after": {
"away_runs": 5.1356,
"home_runs": 4.8723,
"home_win_probability": 0.4856
},
"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 | 5-5 | 0.500 | 5.90 | 5.10 | 8 | hot | weak | |
| Home PHI | 6-4 | 0.600 | 5.70 | 4.50 | 12 | hot | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away PIT | 43-44 | 0.494 | 20 | 0.230 | True |
| Home PHI | 49-38 | 0.563 | 10 | 0.115 | True |
| Signal | - | - | -0.115 | -0.011 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target PIT | - | - | 3 | - | - | - | - |
| Game target PHI | - | - | 4 | - | - | - | - |
| Player finalized PIT | 32 | 9 | 5 | 0 | 5 | 1 | 9 |
| Player finalized PHI | 34 | 9 | 4 | 0 | 5 | 2 | 10 |
| Player model fractional PIT | 32.26 | 8.30 | 4.66 | 1.27 | 4.69 | 3.34 | 8.91 |
| Player model fractional PHI | 32.99 | 8.24 | 4.62 | 1.50 | 4.79 | 2.63 | 8.03 |
| Simulation box PIT | 34 | 7 | 4 | 1 | 4 | 2 | 12 |
| Simulation box PHI | 34 | 10 | 5 | 3 | 5 | 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 PIT | Starter | Jared Jones | 4 | 4 | 3 | 6 | 2 | 4.72 | 1.32 | True |
| Away PIT | Middle Reliever | Yohan Ramírez | 1.20 | 0 | 1 | 1 | 1 | 2.02 | 1.45 | True |
| Away PIT | Middle Reliever | Mason Montgomery | 1.10 | 0 | 1 | 0 | 0 | 5.66 | 1.46 | True |
| Away PIT | Middle Reliever | Dennis Santana | 1 | 1 | 1 | 3 | 0 | 5.48 | 1.31 | True |
| Home PHI | Starter | Alan Rangel | 4 | 4 | 5 | 6 | 2 | 4.49 | 1.26 | True |
| Home PHI | Middle Reliever | Jhoan Duran | 1 | 0 | 1 | 0 | 0 | 2.16 | 1.04 | True |
| Home PHI | Middle Reliever | José Alvarado | 1 | 0 | 2 | 0 | 0 | 5.22 | 1.45 | True |
| Home PHI | Middle Reliever | Orion Kerkering | 1 | 0 | 1 | 0 | 0 | 4.10 | 1.24 | True |
| Home PHI | Middle Reliever | Jonathan Bowlan | 0.20 | 0 | 1 | 0 | 0 | 3.55 | 1.39 | True |
| Home PHI | Middle Reliever | Tim Mayza | 1.10 | 0 | 2 | 1 | 0 | 2.61 | 1.07 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | PHI | batter | C | Rafael Marchán | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 2.3900 | boost | better |
| home | PHI | batter | DH | Kyle Schwarber | better | 10 | 6 | 4 | 7 | 3 | predicted_RBI | 2.3200 | boost | better |
| away | PIT | batter | CF | Jake Mangum | better | 11 | 7 | 4 | 6 | 5 | predicted_AB | 1.6900 | boost | better |
| away | PIT | batter | 1B | Ryan O'Hearn | better | 10 | 6 | 4 | 7 | 3 | predicted_RBI | 1.3400 | boost | better |
| home | PHI | batter | CF | Justin Crawford | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 1.2300 | boost | better |
| away | PIT | batter | LF | Bryan Reynolds | boosted | 10 | 6 | 4 | 5 | 5 | predicted_SO | 1.0340 | boost | worse |
| home | PHI | batter | LF | Brandon Marsh | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.0120 | deboost | better |
| home | PHI | batter | 1B | Bryce Harper | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.9500 | deboost | worse |
| away | PIT | batter | 2B | Brandon Lowe | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.9400 | deboost | worse |
| away | PIT | batter | RF | Esmerlyn Valdez | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -0.9000 | deboost | worse |
| away | PIT | pitcher | Middle Reliever | Dennis Santana | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | PHI | batter | 2B | Bryson Stott | better | 10 | 7 | 3 | 6 | 4 | predicted_HR | 0.9000 | boost | better |
| home | PHI | batter | RF | Gabriel Rincones Jr. | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 0.8460 | boost | better |
| away | PIT | batter | DH | Marcell Ozuna | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.8200 | deboost | worse |
| away | PIT | batter | C | Endy Rodríguez | better | 11 | 7 | 4 | 6 | 5 | predicted_2B | 0.8060 | boost | better |
| away | PIT | batter | SS | Jared Triolo | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 0.8000 | boost | better |
| home | PHI | pitcher | Starter | Alan Rangel | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.6667 | deboost | worse |
| home | PHI | batter | SS | Trea Turner | worse | 10 | 3 | 7 | 3 | 7 | predicted_RBI | -0.5900 | deboost | worse |
| away | PIT | batter | 3B | Nick Gonzales | worse | 10 | 3 | 7 | 2 | 8 | predicted_R | -0.5620 | deboost | worse |
| home | PHI | batter | 3B | Alec Bohm | worse | 10 | 3 | 7 | 2 | 8 | predicted_RBI | -0.4900 | deboost | worse |
| home | PHI | pitcher | Middle Reliever | Jonathan Bowlan | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | PHI | pitcher | Middle Reliever | Tim Mayza | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.4333 | boost | better |
| away | PIT | pitcher | Starter | Jared Jones | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.3333 | deboost | worse |
| away | PIT | pitcher | Middle Reliever | Yohan Ramírez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1333 | deboost | worse |
| away | PIT | pitcher | Middle Reliever | Mason Montgomery | 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.1029 |
| ESPN Rank | 521 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 3 |
| Season ERA | 5.7600 |
| Season WHIP | 1.4400 |
| Role Avg IP | 4.1670 |
| Recent Avg IP | 4.1330 |
| Last Start IP | 4.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"opponent": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"edges": {
"quality_edge": -0.099,
"offense_edge": 0.104,
"opponent_offense_edge": -0.0205,
"defense_strength": -0.0722,
"opponent_defense_weakness": -0.0259,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9947,
"run_prevention": 1.0089,
"strikeout": 0.9987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683003",
"profile": {
"available": true,
"pitcher_id": "683003",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.7,
"bb_percent": 8.2,
"woba": 0.356,
"xwoba": 0.338,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 40.8,
"avg_best_speed": 80.3788,
"avg_hyper_speed": 94.5018,
"whiff_percent": 32.4,
"swing_percent": 48.5
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.6856,
"command_and_miss": 0.3996,
"regression_edge": 0.5143,
"xwoba_edge": -0.7286,
"barrel_edge": -0.4,
"hard_hit_edge": -0.3571,
"whiff_edge": 0.9857,
"bb_edge": 0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683003",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1029,
"sample_weight": 0.45,
"run_prevention_factor": 1.0087,
"strikeout_factor": 1.0181,
"walk_factor": 0.9919,
"homer_factor": 1.0307,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683003",
"espn_id": 4918156,
"player_name": "Jared Jones",
"team": "PIT",
"role": "pitcher",
"espn_rank": 521,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 521,
"gp_value": 6.0,
"gp_rank": 493,
"gs_value": 6.0,
"gs_rank": 167,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.76,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 25.0,
"ip_rank": 362,
"h_value": 27.0,
"h_rank": 289,
"er_value": 16.0,
"er_rank": 239,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 9.0,
"bb_rank": 379,
"k_value": 25.0,
"k_rank": 345,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 1.44,
"whip_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0039,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0039,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9964,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0138,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0081,
"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": 25.0,
"ER": 16,
"H": 27,
"BB": 9,
"SO": 25,
"HR": 5,
"ERA": 5.76,
"WHIP": 1.44,
"K9": 9.0,
"HR9": 1.8,
"games_pitched": 6,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 6,
"error_prone": false
},
"games_count": 6,
"latest_game_date": "2026-06-27T00: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": 0.8653846153846154,
"last_10": 0.1346153846153846
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
},
"role": "pitcher",
"player_id": "683003",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 6,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 20.2,
"ER": 11.0,
"R": 12.0,
"H": 20.0,
"BB": 7.0,
"SO": 19.0,
"HR": 3.0,
"BF": 89.0,
"Pitches": 350.0
},
"per_game": {
"IP": 4.0,
"ER": 2.2,
"R": 2.4,
"H": 4.0,
"BB": 1.4,
"SO": 3.8,
"HR": 0.6,
"BF": 17.8,
"Pitches": 70.0
},
"rates": {
"ERA": 4.7903,
"WHIP": 1.3065,
"ER_per_IP": 0.53226,
"H_per_IP": 0.96774,
"BB_per_IP": 0.33871,
"SO_per_IP": 0.91935,
"HR_per_IP": 0.14516
}
},
"last_10": {
"games": 6,
"totals": {
"IP": 25.0,
"ER": 16.0,
"R": 17.0,
"H": 27.0,
"BB": 9.0,
"SO": 25.0,
"HR": 5.0,
"BF": 110.0,
"Pitches": 427.0
},
"per_game": {
"IP": 4.0,
"ER": 2.6667,
"R": 2.8333,
"H": 4.5,
"BB": 1.5,
"SO": 4.1667,
"HR": 0.8333,
"BF": 18.3333,
"Pitches": 71.1667
},
"rates": {
"ERA": 5.76,
"WHIP": 1.44,
"ER_per_IP": 0.64,
"H_per_IP": 1.08,
"BB_per_IP": 0.36,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"season": {
"games": 6,
"totals": {
"IP": 25.0,
"ER": 16.0,
"R": 17.0,
"H": 27.0,
"BB": 9.0,
"SO": 25.0,
"HR": 5.0,
"BF": 110.0,
"Pitches": 427.0
},
"per_game": {
"IP": 4.0,
"ER": 2.6667,
"R": 2.8333,
"H": 4.5,
"BB": 1.5,
"SO": 4.1667,
"HR": 0.8333,
"BF": 18.3333,
"Pitches": 71.1667
},
"rates": {
"ERA": 5.76,
"WHIP": 1.44,
"ER_per_IP": 0.64,
"H_per_IP": 1.08,
"BB_per_IP": 0.36,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 2.177,
"predicted_H": 4.047,
"predicted_BB": 1.448,
"predicted_SO": 3.905,
"predicted_HR": 0.623,
"predicted_ERA": 4.7199,
"predicted_WHIP": 1.3237
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.542,
"form_weight": 0.458,
"form_reliability": 0.5455,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
},
"applied_metrics": {
"predicted_IP": {
"model": 4.1,
"form": 4.0,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.177,
"final": 3.1651,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.047,
"final": 5.1056,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.448,
"final": 1.7472,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.905,
"final": 3.4145,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.623,
"final": 1.3694,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7199,
"final": 4.7199,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3237,
"final": 1.3237,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Yohan Ramírez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1951 |
| ESPN Rank | 95 |
| 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 | 1 |
| Season ERA | 3.5874 |
| Season WHIP | 1.3427 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"opponent": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"edges": {
"quality_edge": -0.099,
"offense_edge": 0.104,
"opponent_offense_edge": -0.0205,
"defense_strength": -0.0722,
"opponent_defense_weakness": -0.0259,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9947,
"run_prevention": 1.0089,
"strikeout": 0.9987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670990",
"profile": {
"available": true,
"pitcher_id": "670990",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 131.0,
"k_percent": 26.1,
"bb_percent": 12.8,
"woba": 0.303,
"xwoba": 0.297,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 30.8,
"avg_best_speed": 71.8699,
"avg_hyper_speed": 92.4924,
"whiff_percent": 26.6,
"swing_percent": 45.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.5887,
"command_and_miss": 0.0982,
"regression_edge": 0.1714,
"xwoba_edge": 0.4429,
"barrel_edge": 0.5333,
"hard_hit_edge": 1.0714,
"whiff_edge": 0.1571,
"bb_edge": -0.925,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670990",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1951,
"sample_weight": 0.524,
"run_prevention_factor": 0.9834,
"strikeout_factor": 1.0139,
"walk_factor": 1.0388,
"homer_factor": 0.9482,
"woba_minus_xwoba": 0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670990",
"espn_id": 41893,
"player_name": "Yohan Ramirez",
"team": "PIT",
"role": "pitcher",
"espn_rank": 95,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 95,
"gp_value": 37.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.5874,
"era_rank": null,
"w_value": 5.0,
"w_rank": 57,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 5.0,
"hld_rank": 107,
"ip_value": 47.2,
"ip_rank": 160,
"h_value": 37.0,
"h_rank": 187,
"er_value": 19.0,
"er_rank": 190,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 27.0,
"bb_rank": 75,
"k_value": 55.0,
"k_rank": 128,
"k_per_9_value": 10.384616,
"k_per_9_rank": 21,
"whip_value": 1.3426,
"whip_rank": null,
"war_value": 1.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9913,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0203,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9729,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0073,
"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": 13.0,
"ER": 0,
"H": 7,
"BB": 9,
"SO": 16,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.2307692307692308,
"K9": 11.076923076923077,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "670990",
"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": 9.449,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.654,
"prior_weight": 0.346
},
"role": "pitcher",
"player_id": "670990",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 6.0,
"BB": 5.0,
"SO": 10.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 120.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 1.2,
"BB": 1.0,
"SO": 2.0,
"HR": 0.0,
"BF": 5.8,
"Pitches": 24.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.8333,
"ER_per_IP": 0.0,
"H_per_IP": 1.0,
"BB_per_IP": 0.83333,
"SO_per_IP": 1.66667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 0.0,
"R": 0.0,
"H": 7.0,
"BB": 9.0,
"SO": 16.0,
"HR": 0.0,
"BF": 55.0,
"Pitches": 212.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.7,
"BB": 0.9,
"SO": 1.6,
"HR": 0.0,
"BF": 5.5,
"Pitches": 21.2
},
"rates": {
"ERA": 0.0,
"WHIP": 1.2308,
"ER_per_IP": 0.0,
"H_per_IP": 0.53846,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.23077,
"HR_per_IP": 0.0
}
},
"season": {
"games": 37,
"totals": {
"IP": 47.2,
"ER": 19.0,
"R": 22.0,
"H": 37.0,
"BB": 27.0,
"SO": 55.0,
"HR": 4.0,
"BF": 211.0,
"Pitches": 782.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5135,
"R": 0.5946,
"H": 1.0,
"BB": 0.7297,
"SO": 1.4865,
"HR": 0.1081,
"BF": 5.7027,
"Pitches": 21.1351
},
"rates": {
"ERA": 3.5874,
"WHIP": 1.3427,
"ER_per_IP": 0.3986,
"H_per_IP": 0.77622,
"BB_per_IP": 0.56643,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.08392
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.299,
"predicted_H": 1.137,
"predicted_BB": 0.802,
"predicted_SO": 1.671,
"predicted_HR": 0.082,
"predicted_ERA": 2.0188,
"predicted_WHIP": 1.4546
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4962,
"form_weight": 0.5038,
"form_reliability": 0.654,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.449,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.654,
"prior_weight": 0.346
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.299,
"final": 0.1506,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.137,
"final": 1.069,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.802,
"final": 0.9002,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.671,
"final": 1.3381,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.082,
"final": 0.0413,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0188,
"final": 2.0188,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4546,
"final": 1.4546,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Mason Montgomery |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1677 |
| ESPN Rank | 306 |
| 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 | 4.1327 |
| Season WHIP | 1.3469 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"opponent": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"edges": {
"quality_edge": -0.099,
"offense_edge": 0.104,
"opponent_offense_edge": -0.0205,
"defense_strength": -0.0722,
"opponent_defense_weakness": -0.0259,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9947,
"run_prevention": 1.0089,
"strikeout": 0.9987
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682254",
"profile": {
"available": true,
"pitcher_id": "682254",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 91.0,
"k_percent": 32.2,
"bb_percent": 11.2,
"woba": 0.316,
"xwoba": 0.296,
"sweet_spot_percent": 25.9,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 42.0,
"avg_best_speed": 74.4386,
"avg_hyper_speed": 94.9033,
"whiff_percent": 31.5,
"swing_percent": 49.1
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.1848,
"command_and_miss": 0.8154,
"regression_edge": 0.5714,
"xwoba_edge": 0.4714,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.5286,
"whiff_edge": 0.8571,
"bb_edge": -0.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682254",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1677,
"sample_weight": 0.45,
"run_prevention_factor": 0.9857,
"strikeout_factor": 1.0402,
"walk_factor": 1.0189,
"homer_factor": 1.0232,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682254",
"espn_id": 4424112,
"player_name": "Mason Montgomery",
"team": "PIT",
"role": "pitcher",
"espn_rank": 306,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 306,
"gp_value": 33.0,
"gp_rank": 84,
"gs_value": 4.0,
"gs_rank": 188,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.6836,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 8.0,
"hld_rank": 55,
"ip_value": 32.2,
"ip_rank": 281,
"h_value": 30.0,
"h_rank": 256,
"er_value": 17.0,
"er_rank": 217,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 16.0,
"bb_rank": 214,
"k_value": 46.0,
"k_rank": 162,
"k_per_9_value": 12.67347,
"k_per_9_rank": 15,
"whip_value": 1.4081,
"whip_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9936,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9936,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0085,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0104,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0181,
"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": 7,
"H": 11,
"BB": 6,
"SO": 16,
"HR": 1,
"ERA": 6.517241379310345,
"WHIP": 1.7586206896551726,
"K9": 14.896551724137932,
"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-29T00:00:00"
}{
"available": false,
"pitcher_id": "682254",
"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.476,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5643,
"prior_weight": 0.4357
},
"role": "pitcher",
"player_id": "682254",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 1.0,
"SO": 10.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.2,
"SO": 2.0,
"HR": 0.2,
"BF": 4.2,
"Pitches": 20.0
},
"rates": {
"ERA": 7.7143,
"WHIP": 1.5,
"ER_per_IP": 0.85714,
"H_per_IP": 1.28571,
"BB_per_IP": 0.21429,
"SO_per_IP": 2.14286,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 7.0,
"R": 7.0,
"H": 11.0,
"BB": 6.0,
"SO": 16.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 207.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.1,
"BB": 0.6,
"SO": 1.6,
"HR": 0.1,
"BF": 4.6,
"Pitches": 20.7
},
"rates": {
"ERA": 6.5172,
"WHIP": 1.7586,
"ER_per_IP": 0.72414,
"H_per_IP": 1.13793,
"BB_per_IP": 0.62069,
"SO_per_IP": 1.65517,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 32,
"totals": {
"IP": 32.2,
"ER": 15.0,
"R": 15.0,
"H": 28.0,
"BB": 16.0,
"SO": 46.0,
"HR": 3.0,
"BF": 141.0,
"Pitches": 583.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4688,
"R": 0.4688,
"H": 0.875,
"BB": 0.5,
"SO": 1.4375,
"HR": 0.0938,
"BF": 4.4062,
"Pitches": 18.2188
},
"rates": {
"ERA": 4.1327,
"WHIP": 1.3469,
"ER_per_IP": 0.45918,
"H_per_IP": 0.85714,
"BB_per_IP": 0.4898,
"SO_per_IP": 1.40816,
"HR_per_IP": 0.09184
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.629,
"predicted_H": 1.069,
"predicted_BB": 0.388,
"predicted_SO": 1.445,
"predicted_HR": 0.149,
"predicted_ERA": 5.6639,
"predicted_WHIP": 1.4566
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5341,
"form_weight": 0.4659,
"form_reliability": 0.5643,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.476,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5643,
"prior_weight": 0.4357
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.629,
"final": 0.2931,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.069,
"final": 0.4981,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.388,
"final": 0.1808,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.445,
"final": 1.2073,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.149,
"final": 0.0694,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6639,
"final": 5.6639,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4566,
"final": 1.4566,
"source": "form_only"
}
}
}{
"available": false,
"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.1662 |
| ESPN Rank | 457 |
| 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 | 3 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.5849 |
| Season WHIP | 1.3302 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"opponent": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"edges": {
"quality_edge": -0.099,
"offense_edge": 0.104,
"opponent_offense_edge": -0.0205,
"defense_strength": -0.0722,
"opponent_defense_weakness": -0.0259,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9947,
"run_prevention": 1.0089,
"strikeout": 0.9987
},
"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": 20.4,
"bb_percent": 12.1,
"woba": 0.334,
"xwoba": 0.337,
"sweet_spot_percent": 42.3,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 37.5,
"avg_best_speed": 78.6154,
"avg_hyper_speed": 93.554,
"whiff_percent": 26.2,
"swing_percent": 49.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.5265,
"command_and_miss": -0.2532,
"regression_edge": -0.0857,
"xwoba_edge": -0.7,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.1143,
"whiff_edge": 0.1,
"bb_edge": -0.75,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642701",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1662,
"sample_weight": 0.45,
"run_prevention_factor": 1.0141,
"strikeout_factor": 0.9963,
"walk_factor": 1.027,
"homer_factor": 1.0178,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642701",
"espn_id": 39801,
"player_name": "Dennis Santana",
"team": "PIT",
"role": "pitcher",
"espn_rank": 457,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 457,
"gp_value": 37.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.0943,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 4.0,
"hld_rank": 138,
"ip_value": 35.1,
"ip_rank": 242,
"h_value": 32.0,
"h_rank": 238,
"er_value": 20.0,
"er_rank": 182,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 19.0,
"bb_rank": 166,
"k_value": 32.0,
"k_rank": 274,
"k_per_9_value": 8.150944,
"k_per_9_rank": 30,
"whip_value": 1.4433,
"whip_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0063,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0063,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0121,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.008,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9983,
"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": 5,
"H": 6,
"BB": 5,
"SO": 12,
"HR": 2,
"ERA": 4.21875,
"WHIP": 1.03125,
"K9": 10.125,
"HR9": 1.6875,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "642701",
"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.004,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5835,
"prior_weight": 0.4165
},
"role": "pitcher",
"player_id": "642701",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 5.0,
"R": 5.0,
"H": 5.0,
"BB": 3.0,
"SO": 6.0,
"HR": 2.0,
"BF": 24.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.6,
"SO": 1.2,
"HR": 0.4,
"BF": 4.8,
"Pitches": 17.6
},
"rates": {
"ERA": 8.4375,
"WHIP": 1.5,
"ER_per_IP": 0.9375,
"H_per_IP": 0.9375,
"BB_per_IP": 0.5625,
"SO_per_IP": 1.125,
"HR_per_IP": 0.375
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 5.0,
"SO": 12.0,
"HR": 2.0,
"BF": 43.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.6,
"BB": 0.5,
"SO": 1.2,
"HR": 0.2,
"BF": 4.3,
"Pitches": 16.3
},
"rates": {
"ERA": 4.2188,
"WHIP": 1.0312,
"ER_per_IP": 0.46875,
"H_per_IP": 0.5625,
"BB_per_IP": 0.46875,
"SO_per_IP": 1.125,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 36,
"totals": {
"IP": 35.1,
"ER": 18.0,
"R": 19.0,
"H": 28.0,
"BB": 19.0,
"SO": 32.0,
"HR": 5.0,
"BF": 153.0,
"Pitches": 582.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5278,
"H": 0.7778,
"BB": 0.5278,
"SO": 0.8889,
"HR": 0.1389,
"BF": 4.25,
"Pitches": 16.1667
},
"rates": {
"ERA": 4.5849,
"WHIP": 1.3302,
"ER_per_IP": 0.50943,
"H_per_IP": 0.79245,
"BB_per_IP": 0.53774,
"SO_per_IP": 0.90566,
"HR_per_IP": 0.14151
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.44,
"predicted_H": 0.618,
"predicted_BB": 0.329,
"predicted_SO": 0.742,
"predicted_HR": 0.155,
"predicted_ERA": 5.4775,
"predicted_WHIP": 1.3107
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.526,
"form_weight": 0.474,
"form_reliability": 0.5835,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.004,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5835,
"prior_weight": 0.4165
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.44,
"final": 0.7345,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.618,
"final": 1.8709,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.329,
"final": 0.156,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.742,
"final": 0.8777,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.155,
"final": 0.5994,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4775,
"final": 5.4775,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3107,
"final": 1.3107,
"source": "form_only"
}
}
}{
"available": false,
"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.222 | 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 | 3.100 | 3.000 | 3.000 | Hitting_AB | 3.161 | 5.000 | -0.161 | -2.000 |
| predicted_AVG | 0.291 | 0.000 | 0.333 | Hitting_AVG | 0.224 | 0.200 | -0.224 | -0.200 |
| predicted_BB | 0.333 | 1.000 | 0.000 | Hitting_BB | 0.419 | 0.000 | 0.581 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 0.710 | 1.000 | -0.710 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.387 | 0.000 | -0.387 | 0.000 |
| predicted_OBP | 0.373 | 0.250 | 0.333 | Hitting_OBP | 0.315 | 0.200 | -0.065 | 0.050 |
| predicted_R | 0.611 | 0.000 | 1.000 | Hitting_R | 0.548 | 1.000 | -0.548 | -1.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.903 | 0.000 | -0.903 | 0.000 |
| predicted_SLG | 0.696 | 0.000 | 0.333 | Hitting_SLG | 0.633 | 0.200 | -0.633 | -0.200 |
| predicted_SO | 1.111 | 2.000 | 1.000 | Hitting_SO | 1.452 | 1.000 | 0.548 | 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: 1.1110 -> 2.0000 (boost 0.8890, 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 | 6 | 5 | 1 | 6 | 0 | predicted_H: 0.9000 -> 0.9748 (boost 0.0748, better) | predicted_SO: 1.1110 -> 1.0449 (deboost -0.0661, better) | Final model input calibrated with local 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.7049 -> 0.6471 (deboost -0.0578, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 1 | 4 | predicted_RBI: 0.5971 -> 1.0000 (boost 0.4029, better) | predicted_BB: 0.3541 -> 0.0000 (deboost -0.3541, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.308 HR/AB=0.088 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6426 -> 1.0000 (boost 0.3574, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3079 -> 0.3330 (boost 0.0251, better) | predicted_SLG: 0.6471 -> 0.3330 (deboost -0.3141, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_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.3330 -> 0.6471 (boost 0.3141, better) | predicted_AVG: 0.3330 -> 0.3079 (deboost -0.0251, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "RF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.222,
"predicted_3B": 0.0,
"predicted_AB": 3.1,
"predicted_AVG": 0.291,
"predicted_BB": 0.333,
"predicted_H": 0.9,
"predicted_HR": 0.25,
"predicted_OBP": 0.373,
"predicted_R": 0.611,
"predicted_RBI": 0.56,
"predicted_SLG": 0.696,
"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.2364,
"predicted_3B": 0.0014,
"predicted_AB": 3.1611,
"predicted_AVG": 0.3082,
"predicted_BB": 0.3537,
"predicted_H": 0.9748,
"predicted_HBP": 0.009,
"predicted_HR": 0.2764,
"predicted_OBP": 0.3852,
"predicted_R": 0.6454,
"predicted_RBI": 0.5997,
"predicted_SLG": 0.7049,
"predicted_SO": 1.0449
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2364,
"delta": 0.0144,
"percent_delta": 0.0649,
"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.1,
"after": 3.1611,
"delta": 0.0611,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.3082,
"delta": 0.0172,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3537,
"delta": 0.0207,
"percent_delta": 0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9748,
"delta": 0.0748,
"percent_delta": 0.0831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2764,
"delta": 0.0264,
"percent_delta": 0.1056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3852,
"delta": 0.0122,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.611,
"after": 0.6454,
"delta": 0.0344,
"percent_delta": 0.0563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5997,
"delta": 0.0397,
"percent_delta": 0.0709,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.696,
"after": 0.7049,
"delta": 0.0089,
"percent_delta": 0.0128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 1.0449,
"delta": -0.0661,
"percent_delta": -0.0595,
"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.9,
"after": 0.9748,
"delta": 0.0748,
"percent_delta": 0.0831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.111,
"after": 1.0449,
"delta": -0.0661,
"percent_delta": -0.0595,
"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": 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.2364,
"predicted_3B": 0.0014,
"predicted_AB": 3.1611,
"predicted_AVG": 0.3079,
"predicted_BB": 0.3541,
"predicted_H": 0.9732,
"predicted_HBP": 0.009,
"predicted_HR": 0.2778,
"predicted_OBP": 0.3776,
"predicted_R": 0.6426,
"predicted_RBI": 0.5971,
"predicted_SLG": 0.6471,
"predicted_SO": 1.0436
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2364,
"after": 0.2364,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1611,
"after": 3.1611,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3082,
"after": 0.3079,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3537,
"after": 0.3541,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9748,
"after": 0.9732,
"delta": -0.0016,
"percent_delta": -0.0016,
"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.2764,
"after": 0.2778,
"delta": 0.0014,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3852,
"after": 0.3776,
"delta": -0.0076,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6454,
"after": 0.6426,
"delta": -0.0028,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5997,
"after": 0.5971,
"delta": -0.0026,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.7049,
"after": 0.6471,
"delta": -0.0578,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0449,
"after": 1.0436,
"delta": -0.0013,
"percent_delta": -0.0012,
"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.7049,
"after": 0.6471,
"delta": -0.0578,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.308 HR/AB=0.088",
"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.2364,
"after": 0.0,
"delta": -0.2364,
"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.1611,
"after": 3.0,
"delta": -0.1611,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3541,
"after": 0.0,
"delta": -0.3541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9732,
"after": 1.0,
"delta": 0.0268,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2778,
"after": 0.0,
"delta": -0.2778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5971,
"after": 1.0,
"delta": 0.4029,
"percent_delta": 0.6748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0436,
"after": 1.0,
"delta": -0.0436,
"percent_delta": -0.0418,
"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_RBI",
"before": 0.5971,
"after": 1.0,
"delta": 0.4029,
"percent_delta": 0.6748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3541,
"after": 0.0,
"delta": -0.3541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6426,
"after": 1.0,
"delta": 0.3574,
"percent_delta": 0.5562,
"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.6426,
"after": 1.0,
"delta": 0.3574,
"percent_delta": 0.5562,
"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.3079,
"after": 0.333,
"delta": 0.0251,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3776,
"after": 0.333,
"delta": -0.0446,
"percent_delta": -0.1181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6471,
"after": 0.333,
"delta": -0.3141,
"percent_delta": -0.4854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3079,
"after": 0.333,
"delta": 0.0251,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6471,
"after": 0.333,
"delta": -0.3141,
"percent_delta": -0.4854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.3079,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3776,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6471,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.3079,
"delta": -0.0251,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3776,
"delta": 0.0446,
"percent_delta": 0.1339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.6471,
"delta": 0.3141,
"percent_delta": 0.9434,
"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.333,
"after": 0.6471,
"delta": 0.3141,
"percent_delta": 0.9434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3079,
"delta": -0.0251,
"percent_delta": -0.0754,
"direction": "deboost",
"projection_effect": "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.1,
"after": 3.0,
"delta": -0.1,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.3079,
"delta": 0.0169,
"percent_delta": 0.0581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.9,
"after": 0.0,
"delta": -0.9,
"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.373,
"after": 0.3776,
"delta": 0.0046,
"percent_delta": 0.0123,
"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.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.696,
"after": 0.6471,
"delta": -0.0489,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 2.0,
"delta": 0.889,
"percent_delta": 0.8002,
"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.111,
"after": 2.0,
"delta": 0.889,
"percent_delta": 0.8002,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.100 | - |
| predicted_AVG | 0.291 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.373 | - |
| predicted_R | 0.611 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.696 | - |
| 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.236 | 0.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.161 | 0.061 |
| predicted_AVG | 0.308 | 0.017 |
| predicted_BB | 0.354 | 0.021 |
| predicted_H | 0.975 | 0.075 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.276 | 0.026 |
| predicted_OBP | 0.385 | 0.012 |
| predicted_R | 0.645 | 0.034 |
| predicted_RBI | 0.600 | 0.040 |
| predicted_SLG | 0.705 | 0.009 |
| predicted_SO | 1.045 | -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.236 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.161 | 0.000 |
| predicted_AVG | 0.308 | -0.000 |
| predicted_BB | 0.354 | 0.000 |
| predicted_H | 0.973 | -0.002 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.278 | 0.001 |
| predicted_OBP | 0.378 | -0.008 |
| predicted_R | 0.643 | -0.003 |
| predicted_RBI | 0.597 | -0.003 |
| predicted_SLG | 0.647 | -0.058 |
| predicted_SO | 1.044 | -0.001 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.308 HR/AB=0.088
| 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.236 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.161 |
| predicted_AVG | 0.333 | 0.025 |
| predicted_BB | 0.000 | -0.354 |
| predicted_H | 1.000 | 0.027 |
| predicted_HR | 0.000 | -0.278 |
| predicted_OBP | 0.333 | -0.045 |
| predicted_R | 1.000 | 0.357 |
| predicted_RBI | 1.000 | 0.403 |
| predicted_SLG | 0.333 | -0.314 |
| predicted_SO | 1.000 | -0.044 |
Attached 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 9.000 | 2.000 | 0.000 | 3.000 | 5.000 | 6.000 | 4.000 | 2.000 | 0.5625 | 0.6500 | 1.2500 | 0.5625 | 0.1875 | 0.3125 | 0.2500 | 0.1250 |
| last_10 | 0.20 | 10 | - | 30.000 | 14.000 | 4.000 | 0.000 | 4.000 | 7.000 | 9.000 | 4.000 | 9.000 | 0.4667 | 0.5294 | 1.0000 | 0.4667 | 0.1333 | 0.2333 | 0.1333 | 0.3000 |
| season | 0.60 | 18 | - | 53.000 | 16.000 | 4.000 | 0.000 | 6.000 | 12.000 | 11.000 | 6.000 | 20.000 | 0.3019 | 0.3729 | 0.7170 | 0.3019 | 0.1132 | 0.2264 | 0.1132 | 0.3774 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2630 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.2740 |
| predicted_AVG | 0.3400 |
| predicted_BB | 0.3920 |
| predicted_H | 1.1130 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.3250 |
| predicted_OBP | 0.4078 |
| predicted_R | 0.7090 |
| predicted_RBI | 0.6730 |
| predicted_SLG | 0.7212 |
| predicted_SO | 0.9230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.2630 | 0.2364 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 3.1000 | 3.2740 | 3.1611 | model_form_blend |
| predicted_AVG | 0.2910 | 0.3400 | 0.3082 | model_form_blend |
| predicted_BB | 0.3330 | 0.3920 | 0.3537 | model_form_blend |
| predicted_H | 0.9000 | 1.1130 | 0.9748 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.2500 | 0.3250 | 0.2764 | model_form_blend |
| predicted_OBP | 0.3730 | 0.4078 | 0.3852 | model_form_blend |
| predicted_R | 0.6110 | 0.7090 | 0.6454 | model_form_blend |
| predicted_RBI | 0.5600 | 0.6730 | 0.5997 | model_form_blend |
| predicted_SLG | 0.6960 | 0.7212 | 0.7049 | model_form_blend |
| predicted_SO | 1.1110 | 0.9230 | 1.0449 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| 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 | 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 | RF-LF |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 699013 |
| playerID | 699013 |
| playerName | Esmerlyn Valdez |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 33.9 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.456 |
| sl_xwoba | 0.403 |
| sl_xba | 0.258 |
| sl_xslg | 0.628 |
| sl_sweet_spot_percent | 45.5 |
| sl_barrel_batted_rate | 30.3 |
| sl_hard_hit_percent | 57.6 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 18.7 |
| sl_whiff_percent | 37.6 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.237 | 0.000 | 0.000 | Hitting_2B | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 4.290 | 4.000 | 4.000 | Hitting_AB | 3.968 | 4.000 | 0.032 | 0.000 |
| predicted_AVG | 0.219 | 0.000 | 0.250 | Hitting_AVG | 0.263 | 0.250 | -0.263 | -0.250 |
| predicted_BB | 0.438 | 0.000 | 0.000 | Hitting_BB | 0.518 | 1.000 | -0.518 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.940 | 0.000 | 1.000 | Hitting_H | 1.044 | 1.000 | -1.044 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.285 | 0.000 | -0.285 | 0.000 |
| predicted_OBP | 0.279 | 0.000 | 0.250 | Hitting_OBP | 0.351 | 0.400 | -0.351 | -0.400 |
| predicted_R | 0.638 | 0.000 | 1.000 | Hitting_R | 0.707 | 0.000 | -0.707 | 0.000 |
| predicted_RBI | 0.710 | 0.000 | 1.000 | Hitting_RBI | 0.799 | 0.000 | -0.799 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.500 | 0.000 | 0.250 | Hitting_SLG | 0.549 | 0.250 | -0.549 | -0.250 |
| predicted_SO | 1.162 | 2.000 | 1.000 | Hitting_SO | 1.088 | 1.000 | 0.912 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 1.1620 -> 2.0000 (boost 0.8380, worse) |
| Biggest Deboost | predicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.1620 -> 1.2278 (boost 0.0658, worse) | predicted_AB: 4.2900 -> 4.1622 (deboost -0.1278, worse) | Final model input calibrated with local 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.2766 -> 0.2870 (boost 0.0104, better) | predicted_SLG: 0.4705 -> 0.4247 (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 | 7 | 2 | 5 | 3 | 4 | predicted_RBI: 0.7452 -> 1.0000 (boost 0.2548, better) | predicted_BB: 0.4124 -> 0.0000 (deboost -0.4124, worse) | AB rounded to 4 (raw=4.29), rates preserved: AVG=0.210 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5863 -> 1.0000 (boost 0.4137, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2164 -> 0.2500 (boost 0.0336, 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 | 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4247 (boost 0.1747, better) | predicted_AVG: 0.2500 -> 0.2164 (deboost -0.0336, 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.237,
"predicted_3B": 0.012,
"predicted_AB": 4.29,
"predicted_AVG": 0.219,
"predicted_BB": 0.438,
"predicted_H": 0.94,
"predicted_HR": 0.2,
"predicted_OBP": 0.279,
"predicted_R": 0.638,
"predicted_RBI": 0.71,
"predicted_SLG": 0.5,
"predicted_SO": 1.162
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2139,
"predicted_3B": 0.0103,
"predicted_AB": 4.1622,
"predicted_AVG": 0.2165,
"predicted_BB": 0.4119,
"predicted_H": 0.902,
"predicted_HBP": 0.017,
"predicted_HR": 0.2098,
"predicted_OBP": 0.2766,
"predicted_R": 0.5889,
"predicted_RBI": 0.7485,
"predicted_SLG": 0.4705,
"predicted_SO": 1.2278
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.2139,
"delta": -0.0231,
"percent_delta": -0.0975,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.1622,
"delta": -0.1278,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2165,
"delta": -0.0025,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.438,
"after": 0.4119,
"delta": -0.0261,
"percent_delta": -0.0596,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.902,
"delta": -0.038,
"percent_delta": -0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2098,
"delta": 0.0098,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2766,
"delta": -0.0024,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.638,
"after": 0.5889,
"delta": -0.0491,
"percent_delta": -0.077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.7485,
"delta": 0.0385,
"percent_delta": 0.0542,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4705,
"delta": -0.0295,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.162,
"after": 1.2278,
"delta": 0.0658,
"percent_delta": 0.0566,
"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.162,
"after": 1.2278,
"delta": 0.0658,
"percent_delta": 0.0566,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.29,
"after": 4.1622,
"delta": -0.1278,
"percent_delta": -0.0298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 80
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2139,
"predicted_3B": 0.0103,
"predicted_AB": 4.1622,
"predicted_AVG": 0.2164,
"predicted_BB": 0.4124,
"predicted_H": 0.9006,
"predicted_HBP": 0.017,
"predicted_HR": 0.2108,
"predicted_OBP": 0.287,
"predicted_R": 0.5863,
"predicted_RBI": 0.7452,
"predicted_SLG": 0.4247,
"predicted_SO": 1.2263
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2139,
"after": 0.2139,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1622,
"after": 4.1622,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2165,
"after": 0.2164,
"delta": -0.0001,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4119,
"after": 0.4124,
"delta": 0.0005,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.902,
"after": 0.9006,
"delta": -0.0014,
"percent_delta": -0.0016,
"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.2098,
"after": 0.2108,
"delta": 0.001,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2766,
"after": 0.287,
"delta": 0.0104,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5889,
"after": 0.5863,
"delta": -0.0026,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7485,
"after": 0.7452,
"delta": -0.0033,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4705,
"after": 0.4247,
"delta": -0.0458,
"percent_delta": -0.0973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2278,
"after": 1.2263,
"delta": -0.0015,
"percent_delta": -0.0012,
"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.2766,
"after": 0.287,
"delta": 0.0104,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4705,
"after": 0.4247,
"delta": -0.0458,
"percent_delta": -0.0973,
"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.210 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2139,
"after": 0.0,
"delta": -0.2139,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1622,
"after": 4.0,
"delta": -0.1622,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4124,
"after": 0.0,
"delta": -0.4124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9006,
"after": 1.0,
"delta": 0.0994,
"percent_delta": 0.1104,
"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.2108,
"after": 0.0,
"delta": -0.2108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7452,
"after": 1.0,
"delta": 0.2548,
"percent_delta": 0.3419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2263,
"after": 1.0,
"delta": -0.2263,
"percent_delta": -0.1845,
"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.7452,
"after": 1.0,
"delta": 0.2548,
"percent_delta": 0.3419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4124,
"after": 0.0,
"delta": -0.4124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5863,
"after": 1.0,
"delta": 0.4137,
"percent_delta": 0.7056,
"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.5863,
"after": 1.0,
"delta": 0.4137,
"percent_delta": 0.7056,
"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.2164,
"after": 0.25,
"delta": 0.0336,
"percent_delta": 0.1553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.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_AVG",
"before": 0.2164,
"after": 0.25,
"delta": 0.0336,
"percent_delta": 0.1553,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 4.0,
"predicted_AVG": 0.2164,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.287,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4247,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2164,
"delta": -0.0336,
"percent_delta": -0.1345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.287,
"delta": 0.037,
"percent_delta": 0.148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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": 2.0,
"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.4247,
"delta": 0.1747,
"percent_delta": 0.6987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2164,
"delta": -0.0336,
"percent_delta": -0.1345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.0,
"delta": -0.237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.0,
"delta": -0.29,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2164,
"delta": -0.0026,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.287,
"delta": 0.008,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.638,
"after": 0.0,
"delta": -0.638,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4247,
"delta": -0.0753,
"percent_delta": -0.1506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.162,
"after": 2.0,
"delta": 0.838,
"percent_delta": 0.7212,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.162,
"after": 2.0,
"delta": 0.838,
"percent_delta": 0.7212,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.94,
"after": 0.0,
"delta": -0.94,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.438 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.638 | - |
| predicted_RBI | 0.710 | - |
| predicted_SLG | 0.500 | - |
| predicted_SO | 1.162 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | -0.023 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.162 | -0.128 |
| predicted_AVG | 0.216 | -0.003 |
| predicted_BB | 0.412 | -0.026 |
| predicted_H | 0.902 | -0.038 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.210 | 0.010 |
| predicted_OBP | 0.277 | -0.002 |
| predicted_R | 0.589 | -0.049 |
| predicted_RBI | 0.749 | 0.039 |
| predicted_SLG | 0.470 | -0.030 |
| predicted_SO | 1.228 | 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.214 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.162 | 0.000 |
| predicted_AVG | 0.216 | -0.000 |
| predicted_BB | 0.412 | 0.001 |
| predicted_H | 0.901 | -0.001 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.211 | 0.001 |
| predicted_OBP | 0.287 | 0.010 |
| predicted_R | 0.586 | -0.003 |
| predicted_RBI | 0.745 | -0.003 |
| predicted_SLG | 0.425 | -0.046 |
| predicted_SO | 1.226 | -0.002 |
AB rounded to 4 (raw=4.29), rates preserved: AVG=0.210 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 | 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.214 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.162 |
| predicted_AVG | 0.250 | 0.034 |
| predicted_BB | 0.000 | -0.412 |
| predicted_H | 1.000 | 0.099 |
| predicted_HR | 0.000 | -0.211 |
| predicted_OBP | 0.250 | -0.037 |
| predicted_R | 1.000 | 0.414 |
| predicted_RBI | 1.000 | 0.255 |
| predicted_SLG | 0.250 | -0.175 |
| predicted_SO | 1.000 | -0.226 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 2.000 | 0.000 | 0.000 | 1.000 | 6.000 | 1.000 | 2.000 | 10.000 | 0.1000 | 0.1600 | 0.2500 | 0.1000 | 0.0500 | 0.3000 | 0.1000 | 0.5000 |
| last_10 | 0.20 | 10 | - | 43.000 | 10.000 | 2.000 | 0.000 | 2.000 | 8.000 | 5.000 | 2.000 | 13.000 | 0.2326 | 0.2500 | 0.4186 | 0.2326 | 0.0465 | 0.1860 | 0.0465 | 0.3023 |
| season | 0.60 | 80 | - | 313.000 | 75.000 | 19.000 | 1.000 | 20.000 | 57.000 | 51.000 | 35.000 | 93.000 | 0.2396 | 0.3146 | 0.4984 | 0.2396 | 0.0639 | 0.1821 | 0.1118 | 0.2971 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1830 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.9910 |
| predicted_AVG | 0.2132 |
| predicted_BB | 0.3770 |
| predicted_H | 0.8510 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.2230 |
| predicted_OBP | 0.2735 |
| predicted_R | 0.5230 |
| predicted_RBI | 0.8000 |
| predicted_SLG | 0.4309 |
| predicted_SO | 1.3160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2370 | 0.1830 | 0.2139 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.2900 | 3.9910 | 4.1622 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2132 | 0.2165 | model_form_blend |
| predicted_BB | 0.4380 | 0.3770 | 0.4119 | model_form_blend |
| predicted_H | 0.9400 | 0.8510 | 0.9020 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.2000 | 0.2230 | 0.2098 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2735 | 0.2766 | model_form_blend |
| predicted_R | 0.6380 | 0.5230 | 0.5889 | model_form_blend |
| predicted_RBI | 0.7100 | 0.8000 | 0.7485 | model_form_blend |
| predicted_SLG | 0.5000 | 0.4309 | 0.4705 | model_form_blend |
| predicted_SO | 1.1620 | 1.3160 | 1.2278 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 2B |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 664040 |
| playerID | 664040 |
| playerName | Brandon Lowe |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.348 |
| sl_xwoba | 0.342 |
| sl_xba | 0.242 |
| sl_xslg | 0.463 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 46.0 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 34.8 |
| 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.230 | 0.000 | 0.000 | Hitting_2B | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 3.870 | 4.000 | 4.000 | Hitting_AB | 3.658 | 5.000 | 0.342 | -1.000 |
| predicted_AVG | 0.239 | 0.250 | 0.250 | Hitting_AVG | 0.282 | 0.200 | -0.032 | 0.050 |
| predicted_BB | 0.644 | 0.000 | 1.000 | Hitting_BB | 0.699 | 0.000 | -0.699 | 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.030 | 1.000 | -0.030 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_OBP | 0.343 | 0.250 | 0.400 | Hitting_OBP | 0.403 | 0.200 | -0.153 | 0.050 |
| predicted_R | 0.667 | 1.000 | 1.000 | Hitting_R | 0.677 | 0.000 | 0.323 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 1.000 | Hitting_RBI | 0.632 | 1.000 | 0.368 | 0.000 |
| predicted_SLG | 0.481 | 0.250 | 0.250 | Hitting_SLG | 0.447 | 0.200 | -0.197 | 0.050 |
| predicted_SO | 0.966 | 2.000 | 1.000 | Hitting_SO | 0.993 | 3.000 | 1.007 | -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_SO: 0.9660 -> 2.0000 (boost 1.0340, worse) |
| Biggest Deboost | predicted_BB: 0.6440 -> 0.0000 (deboost -0.6440, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.9660 -> 1.0581 (boost 0.0921, worse) | predicted_SLG: 0.4810 -> 0.4454 (deboost -0.0356, worse) | Final model input calibrated with local 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.4454 -> 0.4019 (deboost -0.0435, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 5 | 2 | predicted_RBI: 0.5025 -> 1.0000 (boost 0.4975, better) | predicted_2B: 0.2317 -> 0.0000 (deboost -0.2317, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.240 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6794 -> 1.0000 (boost 0.3206, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3530 -> 0.4000 (boost 0.0470, better) | predicted_SLG: 0.4019 -> 0.2500 (deboost -0.1519, 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_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.4019 (boost 0.1519, better) | predicted_OBP: 0.4000 -> 0.3530 (deboost -0.0470, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.23,
"predicted_3B": 0.023,
"predicted_AB": 3.87,
"predicted_AVG": 0.239,
"predicted_BB": 0.644,
"predicted_H": 0.93,
"predicted_HR": 0.12,
"predicted_OBP": 0.343,
"predicted_R": 0.667,
"predicted_RBI": 0.5,
"predicted_SLG": 0.481,
"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.2317,
"predicted_3B": 0.0191,
"predicted_AB": 3.8263,
"predicted_AVG": 0.2429,
"predicted_BB": 0.6487,
"predicted_H": 0.9321,
"predicted_HBP": 0.036,
"predicted_HR": 0.1119,
"predicted_OBP": 0.3517,
"predicted_R": 0.6824,
"predicted_RBI": 0.5047,
"predicted_SLG": 0.4454,
"predicted_SO": 1.0581
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.2317,
"delta": 0.0017,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0191,
"delta": -0.0039,
"percent_delta": -0.1696,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 3.8263,
"delta": -0.0437,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2429,
"delta": 0.0039,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.644,
"after": 0.6487,
"delta": 0.0047,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9321,
"delta": 0.0021,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1119,
"delta": -0.0081,
"percent_delta": -0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3517,
"delta": 0.0087,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6824,
"delta": 0.0154,
"percent_delta": 0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5047,
"delta": 0.0047,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.4454,
"delta": -0.0356,
"percent_delta": -0.074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.966,
"after": 1.0581,
"delta": 0.0921,
"percent_delta": 0.0953,
"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.966,
"after": 1.0581,
"delta": 0.0921,
"percent_delta": 0.0953,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.4454,
"delta": -0.0356,
"percent_delta": -0.074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 87
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2317,
"predicted_3B": 0.0191,
"predicted_AB": 3.8263,
"predicted_AVG": 0.2432,
"predicted_BB": 0.6495,
"predicted_H": 0.9306,
"predicted_HBP": 0.036,
"predicted_HR": 0.1124,
"predicted_OBP": 0.353,
"predicted_R": 0.6794,
"predicted_RBI": 0.5025,
"predicted_SLG": 0.4019,
"predicted_SO": 1.0568
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2317,
"after": 0.2317,
"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.8263,
"after": 3.8263,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2429,
"after": 0.2432,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6487,
"after": 0.6495,
"delta": 0.0008,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9321,
"after": 0.9306,
"delta": -0.0015,
"percent_delta": -0.0016,
"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.1119,
"after": 0.1124,
"delta": 0.0005,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3517,
"after": 0.353,
"delta": 0.0013,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6824,
"after": 0.6794,
"delta": -0.003,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5047,
"after": 0.5025,
"delta": -0.0022,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4454,
"after": 0.4019,
"delta": -0.0435,
"percent_delta": -0.0977,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0581,
"after": 1.0568,
"delta": -0.0013,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4454,
"after": 0.4019,
"delta": -0.0435,
"percent_delta": -0.0977,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.240 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2317,
"after": 0.0,
"delta": -0.2317,
"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.8263,
"after": 4.0,
"delta": 0.1737,
"percent_delta": 0.0454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6495,
"after": 1.0,
"delta": 0.3505,
"percent_delta": 0.5396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9306,
"after": 1.0,
"delta": 0.0694,
"percent_delta": 0.0746,
"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.1124,
"after": 0.0,
"delta": -0.1124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5025,
"after": 1.0,
"delta": 0.4975,
"percent_delta": 0.99,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0568,
"after": 1.0,
"delta": -0.0568,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5025,
"after": 1.0,
"delta": 0.4975,
"percent_delta": 0.99,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2317,
"after": 0.0,
"delta": -0.2317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6794,
"after": 1.0,
"delta": 0.3206,
"percent_delta": 0.4719,
"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.6794,
"after": 1.0,
"delta": 0.3206,
"percent_delta": 0.4719,
"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.2432,
"after": 0.25,
"delta": 0.0068,
"percent_delta": 0.028,
"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.353,
"after": 0.4,
"delta": 0.047,
"percent_delta": 0.1331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4019,
"after": 0.25,
"delta": -0.1519,
"percent_delta": -0.378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.353,
"after": 0.4,
"delta": 0.047,
"percent_delta": 0.1331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4019,
"after": 0.25,
"delta": -0.1519,
"percent_delta": -0.378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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_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.2432,
"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.353,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4019,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2432,
"delta": -0.0068,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.353,
"delta": -0.047,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4019,
"delta": 0.1519,
"percent_delta": 0.6077,
"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.4019,
"delta": 0.1519,
"percent_delta": 0.6077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.353,
"delta": -0.047,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.239,
"after": 0.2432,
"delta": 0.0042,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.644,
"after": 0.0,
"delta": -0.644,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.353,
"delta": 0.01,
"percent_delta": 0.0292,
"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.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.4019,
"delta": -0.0791,
"percent_delta": -0.1644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.966,
"after": 2.0,
"delta": 1.034,
"percent_delta": 1.0704,
"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_SO",
"before": 0.966,
"after": 2.0,
"delta": 1.034,
"percent_delta": 1.0704,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.644,
"after": 0.0,
"delta": -0.644,
"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.230 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.870 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.644 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.481 | - |
| 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.232 | 0.002 |
| predicted_3B | 0.019 | -0.004 |
| predicted_AB | 3.826 | -0.044 |
| predicted_AVG | 0.243 | 0.004 |
| predicted_BB | 0.649 | 0.005 |
| predicted_H | 0.932 | 0.002 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.112 | -0.008 |
| predicted_OBP | 0.352 | 0.009 |
| predicted_R | 0.682 | 0.015 |
| predicted_RBI | 0.505 | 0.005 |
| predicted_SLG | 0.445 | -0.036 |
| predicted_SO | 1.058 | 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.232 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.826 | 0.000 |
| predicted_AVG | 0.243 | 0.000 |
| predicted_BB | 0.649 | 0.001 |
| predicted_H | 0.931 | -0.002 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.112 | 0.001 |
| predicted_OBP | 0.353 | 0.001 |
| predicted_R | 0.679 | -0.003 |
| predicted_RBI | 0.502 | -0.002 |
| predicted_SLG | 0.402 | -0.044 |
| predicted_SO | 1.057 | -0.001 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.240 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.232 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.174 |
| predicted_AVG | 0.250 | 0.007 |
| predicted_BB | 1.000 | 0.351 |
| predicted_H | 1.000 | 0.069 |
| predicted_HR | 0.000 | -0.112 |
| predicted_OBP | 0.400 | 0.047 |
| predicted_R | 1.000 | 0.321 |
| predicted_RBI | 1.000 | 0.498 |
| predicted_SLG | 0.250 | -0.152 |
| 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 | 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 | 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 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 9.000 | 0.1500 | 0.2917 | 0.2000 | 0.1500 | 0.0000 | 0.0500 | 0.2000 | 0.4500 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 3.000 | 0.000 | 1.000 | 5.000 | 8.000 | 7.000 | 14.000 | 0.2500 | 0.3617 | 0.4000 | 0.2500 | 0.0250 | 0.1250 | 0.1750 | 0.3500 |
| season | 0.60 | 87 | - | 314.000 | 88.000 | 20.000 | 2.000 | 11.000 | 53.000 | 58.000 | 56.000 | 84.000 | 0.2803 | 0.3952 | 0.4618 | 0.2802 | 0.0350 | 0.1688 | 0.1783 | 0.2675 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2340 |
| predicted_3B | 0.0140 |
| predicted_AB | 3.7680 |
| predicted_AVG | 0.2481 |
| predicted_BB | 0.6550 |
| predicted_H | 0.9350 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.1010 |
| predicted_OBP | 0.3632 |
| predicted_R | 0.7030 |
| predicted_RBI | 0.5110 |
| predicted_SLG | 0.3979 |
| predicted_SO | 1.1810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2300 | 0.2340 | 0.2317 | model_form_blend |
| predicted_3B | 0.0230 | 0.0140 | 0.0191 | model_form_blend |
| predicted_AB | 3.8700 | 3.7680 | 3.8263 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2481 | 0.2429 | model_form_blend |
| predicted_BB | 0.6440 | 0.6550 | 0.6487 | model_form_blend |
| predicted_H | 0.9300 | 0.9350 | 0.9321 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.1200 | 0.1010 | 0.1119 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3632 | 0.3517 | model_form_blend |
| predicted_R | 0.6670 | 0.7030 | 0.6824 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5110 | 0.5047 | model_form_blend |
| predicted_SLG | 0.4810 | 0.3979 | 0.4454 | model_form_blend |
| predicted_SO | 0.9660 | 1.1810 | 1.0581 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 87 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.28 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 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 | DH |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 668804 |
| playerID | 668804 |
| playerName | Bryan Reynolds |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 14.9 |
| sl_woba | 0.377 |
| sl_xwoba | 0.368 |
| sl_xba | 0.263 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 47.8 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 6.0 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 44.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.138 | 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.310 | 5.000 | 3.000 | Hitting_AB | 3.412 | 3.000 | 1.588 | 2.000 |
| predicted_AVG | 0.273 | 0.400 | 0.333 | Hitting_AVG | 0.278 | 0.667 | 0.122 | -0.267 |
| predicted_BB | 0.190 | 0.000 | 0.000 | Hitting_BB | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.900 | 2.000 | 1.000 | Hitting_H | 0.949 | 2.000 | 1.051 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_OBP | 0.340 | 0.400 | 0.333 | Hitting_OBP | 0.335 | 0.800 | 0.065 | -0.400 |
| predicted_R | 0.414 | 1.000 | 0.000 | Hitting_R | 0.449 | 1.000 | 0.551 | 0.000 |
| predicted_RBI | 0.280 | 1.000 | 0.000 | Hitting_RBI | 0.140 | 0.000 | 0.860 | 1.000 |
| predicted_SLG | 0.456 | 0.600 | 0.333 | Hitting_SLG | 0.319 | 0.667 | 0.281 | -0.067 |
| predicted_SO | 0.655 | 2.000 | 1.000 | Hitting_SO | 0.728 | 0.000 | 1.272 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.3100 -> 5.0000 (boost 1.6900, better) |
| Biggest Deboost | predicted_BB: 0.1900 -> 0.0000 (deboost -0.1900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 4 | 2 | predicted_AB: 3.3100 -> 3.4351 (boost 0.1251, better) | predicted_SLG: 0.4560 -> 0.4245 (deboost -0.0315, worse) | Final model input calibrated with local 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.4245 -> 0.3729 (deboost -0.0516, 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.7111 -> 1.0000 (boost 0.2889, worse) | predicted_AB: 3.4351 -> 3.0000 (deboost -0.4351, worse) | AB rounded to 3 (raw=3.44), rates preserved: AVG=0.287 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4356 -> 0.0000 (deboost -0.4356, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2869 -> 0.3330 (boost 0.0461, better) | predicted_SLG: 0.3729 -> 0.3330 (deboost -0.0399, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 6 | 0 | 5 | 1 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3729 (boost 0.0399, better) | predicted_AVG: 0.3330 -> 0.2869 (deboost -0.0461, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.138,
"predicted_3B": 0.0,
"predicted_AB": 3.31,
"predicted_AVG": 0.273,
"predicted_BB": 0.19,
"predicted_H": 0.9,
"predicted_HR": 0.06,
"predicted_OBP": 0.34,
"predicted_R": 0.414,
"predicted_RBI": 0.28,
"predicted_SLG": 0.456,
"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.1553,
"predicted_3B": 0.0008,
"predicted_AB": 3.4351,
"predicted_AVG": 0.2872,
"predicted_BB": 0.2086,
"predicted_H": 0.9871,
"predicted_HBP": 0.071,
"predicted_HR": 0.046,
"predicted_OBP": 0.3484,
"predicted_R": 0.4375,
"predicted_RBI": 0.2585,
"predicted_SLG": 0.4245,
"predicted_SO": 0.712
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1553,
"delta": 0.0173,
"percent_delta": 0.1254,
"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.31,
"after": 3.4351,
"delta": 0.1251,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2872,
"delta": 0.0142,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.19,
"after": 0.2086,
"delta": 0.0186,
"percent_delta": 0.0979,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9871,
"delta": 0.0871,
"percent_delta": 0.0968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.046,
"delta": -0.014,
"percent_delta": -0.2333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3484,
"delta": 0.0084,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 0.4375,
"delta": 0.0235,
"percent_delta": 0.0568,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2585,
"delta": -0.0215,
"percent_delta": -0.0768,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4245,
"delta": -0.0315,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.655,
"after": 0.712,
"delta": 0.057,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.31,
"after": 3.4351,
"delta": 0.1251,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4245,
"delta": -0.0315,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1553,
"predicted_3B": 0.0008,
"predicted_AB": 3.4351,
"predicted_AVG": 0.2869,
"predicted_BB": 0.2089,
"predicted_H": 0.9855,
"predicted_HBP": 0.071,
"predicted_HR": 0.0462,
"predicted_OBP": 0.3278,
"predicted_R": 0.4356,
"predicted_RBI": 0.2574,
"predicted_SLG": 0.3729,
"predicted_SO": 0.7111
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1553,
"after": 0.1553,
"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.4351,
"after": 3.4351,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2872,
"after": 0.2869,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2086,
"after": 0.2089,
"delta": 0.0003,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9871,
"after": 0.9855,
"delta": -0.0016,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.046,
"after": 0.0462,
"delta": 0.0002,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3484,
"after": 0.3278,
"delta": -0.0206,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4375,
"after": 0.4356,
"delta": -0.0019,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2585,
"after": 0.2574,
"delta": -0.0011,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4245,
"after": 0.3729,
"delta": -0.0516,
"percent_delta": -0.1216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.712,
"after": 0.7111,
"delta": -0.0009,
"percent_delta": -0.0013,
"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.4245,
"after": 0.3729,
"delta": -0.0516,
"percent_delta": -0.1216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.44), rates preserved: AVG=0.287 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.1553,
"after": 0.0,
"delta": -0.1553,
"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.4351,
"after": 3.0,
"delta": -0.4351,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2089,
"after": 0.0,
"delta": -0.2089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9855,
"after": 1.0,
"delta": 0.0145,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0462,
"after": 0.0,
"delta": -0.0462,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2574,
"after": 0.0,
"delta": -0.2574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7111,
"after": 1.0,
"delta": 0.2889,
"percent_delta": 0.4063,
"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.7111,
"after": 1.0,
"delta": 0.2889,
"percent_delta": 0.4063,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4351,
"after": 3.0,
"delta": -0.4351,
"percent_delta": -0.1267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4356,
"after": 0.0,
"delta": -0.4356,
"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.4356,
"after": 0.0,
"delta": -0.4356,
"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.2869,
"after": 0.333,
"delta": 0.0461,
"percent_delta": 0.1607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3278,
"after": 0.333,
"delta": 0.0052,
"percent_delta": 0.0159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3729,
"after": 0.333,
"delta": -0.0399,
"percent_delta": -0.107,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2869,
"after": 0.333,
"delta": 0.0461,
"percent_delta": 0.1607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3729,
"after": 0.333,
"delta": -0.0399,
"percent_delta": -0.107,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.2869,
"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.3278,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3729,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 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.2869,
"delta": -0.0461,
"percent_delta": -0.1384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3278,
"delta": -0.0052,
"percent_delta": -0.0157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3729,
"delta": 0.0399,
"percent_delta": 0.1199,
"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.3729,
"delta": 0.0399,
"percent_delta": 0.1199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2869,
"delta": -0.0461,
"percent_delta": -0.1384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.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.31,
"after": 5.0,
"delta": 1.69,
"percent_delta": 0.5106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2869,
"delta": 0.0139,
"percent_delta": 0.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"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.34,
"after": 0.3278,
"delta": -0.0122,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 1.0,
"delta": 0.586,
"percent_delta": 1.4155,
"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.456,
"after": 0.3729,
"delta": -0.0831,
"percent_delta": -0.1822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.655,
"after": 2.0,
"delta": 1.345,
"percent_delta": 2.0534,
"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_AB",
"before": 3.31,
"after": 5.0,
"delta": 1.69,
"percent_delta": 0.5106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"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.138 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.310 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.190 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.414 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.456 | - |
| 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.155 | 0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.435 | 0.125 |
| predicted_AVG | 0.287 | 0.014 |
| predicted_BB | 0.209 | 0.019 |
| predicted_H | 0.987 | 0.087 |
| predicted_HBP | 0.071 | - |
| predicted_HR | 0.046 | -0.014 |
| predicted_OBP | 0.348 | 0.008 |
| predicted_R | 0.438 | 0.024 |
| predicted_RBI | 0.259 | -0.022 |
| predicted_SLG | 0.424 | -0.032 |
| predicted_SO | 0.712 | 0.057 |
Step 3: 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.001 | 0.000 |
| predicted_AB | 3.435 | 0.000 |
| predicted_AVG | 0.287 | -0.000 |
| predicted_BB | 0.209 | 0.000 |
| predicted_H | 0.986 | -0.002 |
| predicted_HBP | 0.071 | 0.000 |
| predicted_HR | 0.046 | 0.000 |
| predicted_OBP | 0.328 | -0.021 |
| predicted_R | 0.436 | -0.002 |
| predicted_RBI | 0.257 | -0.001 |
| predicted_SLG | 0.373 | -0.052 |
| predicted_SO | 0.711 | -0.001 |
AB rounded to 3 (raw=3.44), rates preserved: AVG=0.287 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.155 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.435 |
| predicted_AVG | 0.333 | 0.046 |
| predicted_BB | 0.000 | -0.209 |
| predicted_H | 1.000 | 0.014 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | 0.005 |
| predicted_R | 0.000 | -0.436 |
| predicted_RBI | 0.000 | -0.257 |
| predicted_SLG | 0.333 | -0.040 |
| predicted_SO | 1.000 | 0.289 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 5.000 | 0.3500 | 0.4348 | 0.4000 | 0.3500 | 0.0000 | 0.0000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 40.000 | 13.000 | 3.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 10.000 | 0.3250 | 0.3721 | 0.4000 | 0.3250 | 0.0000 | 0.0500 | 0.0500 | 0.2500 |
| season | 0.60 | 58 | - | 192.000 | 58.000 | 8.000 | 0.000 | 1.000 | 14.000 | 24.000 | 11.000 | 38.000 | 0.3021 | 0.3447 | 0.3594 | 0.3021 | 0.0052 | 0.0729 | 0.0573 | 0.1979 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.6130 |
| predicted_AVG | 0.3075 |
| predicted_BB | 0.2350 |
| predicted_H | 1.1110 |
| predicted_HBP | 0.0710 |
| predicted_HR | 0.0260 |
| predicted_OBP | 0.3603 |
| predicted_R | 0.4710 |
| predicted_RBI | 0.2280 |
| predicted_SLG | 0.3798 |
| predicted_SO | 0.7930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.1800 | 0.1553 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3100 | 3.6130 | 3.4351 | model_form_blend |
| predicted_AVG | 0.2730 | 0.3075 | 0.2872 | model_form_blend |
| predicted_BB | 0.1900 | 0.2350 | 0.2086 | model_form_blend |
| predicted_H | 0.9000 | 1.1110 | 0.9871 | model_form_blend |
| predicted_HBP | - | 0.0710 | 0.0710 | form_only |
| predicted_HR | 0.0600 | 0.0260 | 0.0460 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3603 | 0.3484 | model_form_blend |
| predicted_R | 0.4140 | 0.4710 | 0.4375 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2280 | 0.2585 | model_form_blend |
| predicted_SLG | 0.4560 | 0.3798 | 0.4245 | model_form_blend |
| predicted_SO | 0.6550 | 0.7930 | 0.7120 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 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 | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 663968 |
| playerID | 663968 |
| playerName | Jake Mangum |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 18.0 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.317 |
| sl_xwoba | 0.281 |
| sl_xba | 0.256 |
| sl_xslg | 0.321 |
| sl_sweet_spot_percent | 24.1 |
| sl_barrel_batted_rate | 1.3 |
| sl_hard_hit_percent | 26.6 |
| sl_exit_velocity_avg | 83.9 |
| sl_launch_angle_avg | 3.5 |
| sl_whiff_percent | 19.8 |
| sl_swing_percent | 58.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.157 | 1.000 | 0.000 | Hitting_2B | 0.152 | 0.000 | 0.848 | 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.876 | 5.000 | -0.876 | -2.000 |
| predicted_AVG | 0.254 | 0.667 | 0.250 | Hitting_AVG | 0.290 | 0.200 | 0.377 | 0.467 |
| predicted_BB | 0.300 | 0.000 | 0.000 | Hitting_BB | 0.419 | 0.000 | -0.419 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.980 | 2.000 | 1.000 | Hitting_H | 1.124 | 1.000 | 0.876 | 1.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_OBP | 0.318 | 0.750 | 0.250 | Hitting_OBP | 0.360 | 0.200 | 0.390 | 0.550 |
| predicted_R | 0.586 | 1.000 | 1.000 | Hitting_R | 0.638 | 1.000 | 0.362 | 0.000 |
| predicted_RBI | 0.660 | 2.000 | 1.000 | Hitting_RBI | 0.724 | 0.000 | 1.276 | 2.000 |
| predicted_SLG | 0.526 | 2.000 | 0.250 | Hitting_SLG | 0.458 | 0.200 | 1.542 | 1.800 |
| predicted_SO | 0.943 | 0.000 | 1.000 | Hitting_SO | 0.862 | 2.000 | -0.862 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.6600 -> 2.0000 (boost 1.3400, better) |
| Biggest Deboost | predicted_SO: 0.9430 -> 0.0000 (deboost -0.9430, 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_AB: 3.8600 -> 3.9518 (boost 0.0918, better) | predicted_SLG: 0.5260 -> 0.5100 (deboost -0.0160, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5100 -> 0.4537 (deboost -0.0563, 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 | 1 | 4 | predicted_RBI: 0.7287 -> 1.0000 (boost 0.2713, better) | predicted_BB: 0.2787 -> 0.0000 (deboost -0.2787, worse) | AB rounded to 4 (raw=3.95), rates preserved: AVG=0.268 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6382 -> 1.0000 (boost 0.3618, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4537 -> 0.2500 (deboost -0.2037, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 5 | 2 | 6 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4537 (boost 0.2037, 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": "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.157,
"predicted_3B": 0.0,
"predicted_AB": 3.86,
"predicted_AVG": 0.254,
"predicted_BB": 0.3,
"predicted_H": 0.98,
"predicted_HR": 0.17,
"predicted_OBP": 0.318,
"predicted_R": 0.586,
"predicted_RBI": 0.66,
"predicted_SLG": 0.526,
"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.1578,
"predicted_3B": 0.0008,
"predicted_AB": 3.9518,
"predicted_AVG": 0.2682,
"predicted_BB": 0.2784,
"predicted_H": 1.0616,
"predicted_HBP": 0.011,
"predicted_HR": 0.1903,
"predicted_OBP": 0.3227,
"predicted_R": 0.641,
"predicted_RBI": 0.7319,
"predicted_SLG": 0.51,
"predicted_SO": 0.9772
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1578,
"delta": 0.0008,
"percent_delta": 0.0051,
"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.9518,
"delta": 0.0918,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2682,
"delta": 0.0142,
"percent_delta": 0.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.2784,
"delta": -0.0216,
"percent_delta": -0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0616,
"delta": 0.0816,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1903,
"delta": 0.0203,
"percent_delta": 0.1194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3227,
"delta": 0.0047,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.586,
"after": 0.641,
"delta": 0.055,
"percent_delta": 0.0939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.7319,
"delta": 0.0719,
"percent_delta": 0.1089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.51,
"delta": -0.016,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.943,
"after": 0.9772,
"delta": 0.0342,
"percent_delta": 0.0363,
"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_AB",
"before": 3.86,
"after": 3.9518,
"delta": 0.0918,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.51,
"delta": -0.016,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1578,
"predicted_3B": 0.0008,
"predicted_AB": 3.9518,
"predicted_AVG": 0.2682,
"predicted_BB": 0.2787,
"predicted_H": 1.0599,
"predicted_HBP": 0.011,
"predicted_HR": 0.1912,
"predicted_OBP": 0.3164,
"predicted_R": 0.6382,
"predicted_RBI": 0.7287,
"predicted_SLG": 0.4537,
"predicted_SO": 0.976
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1578,
"after": 0.1578,
"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.9518,
"after": 3.9518,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2682,
"after": 0.2682,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2784,
"after": 0.2787,
"delta": 0.0003,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0616,
"after": 1.0599,
"delta": -0.0017,
"percent_delta": -0.0016,
"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.1903,
"after": 0.1912,
"delta": 0.0009,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.3164,
"delta": -0.0063,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.641,
"after": 0.6382,
"delta": -0.0028,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7319,
"after": 0.7287,
"delta": -0.0032,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.51,
"after": 0.4537,
"delta": -0.0563,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9772,
"after": 0.976,
"delta": -0.0012,
"percent_delta": -0.0012,
"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.51,
"after": 0.4537,
"delta": -0.0563,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.95), rates preserved: AVG=0.268 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.1578,
"after": 0.0,
"delta": -0.1578,
"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.9518,
"after": 4.0,
"delta": 0.0482,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2787,
"after": 0.0,
"delta": -0.2787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0599,
"after": 1.0,
"delta": -0.0599,
"percent_delta": -0.0565,
"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.1912,
"after": 0.0,
"delta": -0.1912,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7287,
"after": 1.0,
"delta": 0.2713,
"percent_delta": 0.3723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.976,
"after": 1.0,
"delta": 0.024,
"percent_delta": 0.0246,
"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_RBI",
"before": 0.7287,
"after": 1.0,
"delta": 0.2713,
"percent_delta": 0.3723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2787,
"after": 0.0,
"delta": -0.2787,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"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.6382,
"after": 1.0,
"delta": 0.3618,
"percent_delta": 0.5669,
"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.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.3164,
"after": 0.25,
"delta": -0.0664,
"percent_delta": -0.2099,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4537,
"after": 0.25,
"delta": -0.2037,
"percent_delta": -0.449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4537,
"after": 0.25,
"delta": -0.2037,
"percent_delta": -0.449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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_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.2682,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3164,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4537,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3164,
"delta": 0.0664,
"percent_delta": 0.2657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4537,
"delta": 0.2037,
"percent_delta": 0.8149,
"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.4537,
"delta": 0.2037,
"percent_delta": 0.8149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 1.0,
"delta": 0.843,
"percent_delta": 5.3694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 3.0,
"delta": -0.86,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2682,
"delta": 0.0142,
"percent_delta": 0.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 2.0,
"delta": 1.02,
"percent_delta": 1.0408,
"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.318,
"after": 0.3164,
"delta": -0.0016,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.586,
"after": 1.0,
"delta": 0.414,
"percent_delta": 0.7065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 2.0,
"delta": 1.34,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.4537,
"delta": -0.0723,
"percent_delta": -0.1375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.943,
"after": 0.0,
"delta": -0.943,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.66,
"after": 2.0,
"delta": 1.34,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.943,
"after": 0.0,
"delta": -0.943,
"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.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.586 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.526 | - |
| 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.158 | 0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.952 | 0.092 |
| predicted_AVG | 0.268 | 0.014 |
| predicted_BB | 0.278 | -0.022 |
| predicted_H | 1.062 | 0.082 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.190 | 0.020 |
| predicted_OBP | 0.323 | 0.005 |
| predicted_R | 0.641 | 0.055 |
| predicted_RBI | 0.732 | 0.072 |
| predicted_SLG | 0.510 | -0.016 |
| predicted_SO | 0.977 | 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.158 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.952 | 0.000 |
| predicted_AVG | 0.268 | 0.000 |
| predicted_BB | 0.279 | 0.000 |
| predicted_H | 1.060 | -0.002 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.191 | 0.001 |
| predicted_OBP | 0.316 | -0.006 |
| predicted_R | 0.638 | -0.003 |
| predicted_RBI | 0.729 | -0.003 |
| predicted_SLG | 0.454 | -0.056 |
| predicted_SO | 0.976 | -0.001 |
AB rounded to 4 (raw=3.95), rates preserved: AVG=0.268 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.158 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.048 |
| predicted_AVG | 0.250 | -0.018 |
| predicted_BB | 0.000 | -0.279 |
| predicted_H | 1.000 | -0.060 |
| predicted_HR | 0.000 | -0.191 |
| predicted_OBP | 0.250 | -0.066 |
| predicted_R | 1.000 | 0.362 |
| predicted_RBI | 1.000 | 0.271 |
| predicted_SLG | 0.250 | -0.204 |
| predicted_SO | 1.000 | 0.024 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 1.000 | 1.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 | - | 23.000 | 7.000 | 0.000 | 0.000 | 2.000 | 6.000 | 6.000 | 1.000 | 6.000 | 0.3043 | 0.3333 | 0.5652 | 0.3044 | 0.0870 | 0.2609 | 0.0435 | 0.2609 |
| last_10 | 0.20 | 10 | - | 44.000 | 13.000 | 3.000 | 0.000 | 2.000 | 10.000 | 8.000 | 1.000 | 12.000 | 0.2955 | 0.3111 | 0.5000 | 0.2954 | 0.0454 | 0.2273 | 0.0227 | 0.2727 |
| season | 0.60 | 70 | - | 269.000 | 77.000 | 11.000 | 0.000 | 13.000 | 51.000 | 41.000 | 21.000 | 66.000 | 0.2862 | 0.3379 | 0.4721 | 0.2863 | 0.0483 | 0.1896 | 0.0781 | 0.2454 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1590 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.0770 |
| predicted_AVG | 0.2876 |
| predicted_BB | 0.2490 |
| predicted_H | 1.1730 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2180 |
| predicted_OBP | 0.3292 |
| predicted_R | 0.7160 |
| predicted_RBI | 0.8300 |
| predicted_SLG | 0.4881 |
| predicted_SO | 1.0240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.1590 | 0.1578 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8600 | 4.0770 | 3.9518 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2876 | 0.2682 | model_form_blend |
| predicted_BB | 0.3000 | 0.2490 | 0.2784 | model_form_blend |
| predicted_H | 0.9800 | 1.1730 | 1.0616 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1700 | 0.2180 | 0.1903 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3292 | 0.3227 | model_form_blend |
| predicted_R | 0.5860 | 0.7160 | 0.6410 | model_form_blend |
| predicted_RBI | 0.6600 | 0.8300 | 0.7319 | model_form_blend |
| predicted_SLG | 0.5260 | 0.4881 | 0.5100 | model_form_blend |
| predicted_SO | 0.9430 | 1.0240 | 0.9772 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 210 |
| Season rows before report date | 210 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 656811 |
| playerID | 656811 |
| playerName | Ryan O'Hearn |
| pos | RF |
| started | True |
| startingPosition | 1B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.354 |
| sl_xwoba | 0.326 |
| sl_xba | 0.264 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 43.9 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 22.1 |
| 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.138 | 0.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.840 | 4.000 | 4.000 | Hitting_AB | 3.969 | 4.000 | 0.031 | 0.000 |
| predicted_AVG | 0.270 | 0.250 | 0.250 | Hitting_AVG | 0.306 | 0.750 | -0.056 | -0.500 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.275 | 1.000 | -0.275 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 1.040 | 1.000 | 1.000 | Hitting_H | 1.214 | 3.000 | -0.214 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_OBP | 0.376 | 0.250 | 0.250 | Hitting_OBP | 0.360 | 0.800 | -0.110 | -0.550 |
| predicted_R | 0.562 | 0.000 | 1.000 | Hitting_R | 0.541 | 1.000 | -0.541 | -1.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.472 | 1.000 | -0.472 | -1.000 |
| predicted_SLG | 0.471 | 0.250 | 0.250 | Hitting_SLG | 0.364 | 0.750 | -0.114 | -0.500 |
| predicted_SO | 0.763 | 1.000 | 1.000 | Hitting_SO | 0.808 | 0.000 | 0.192 | 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.7630 -> 1.0000 (boost 0.2370, worse) |
| Biggest Deboost | predicted_R: 0.5620 -> 0.0000 (deboost -0.5620, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_BB: 0.2500 -> 0.3410 (boost 0.0910, better) | predicted_AB: 3.8400 -> 3.7179 (deboost -0.1221, worse) | Final model input calibrated with local 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.4404 -> 0.3852 (deboost -0.0552, 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.7179 -> 4.0000 (boost 0.2821, better) | predicted_RBI: 0.3926 -> 0.0000 (deboost -0.3926, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.285 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5744 -> 1.0000 (boost 0.4256, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3852 -> 0.2500 (deboost -0.1352, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | 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.3852 (boost 0.1352, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693304",
"player_name": "Nick Gonzales",
"position": "3B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.138,
"predicted_3B": 0.013,
"predicted_AB": 3.84,
"predicted_AVG": 0.27,
"predicted_BB": 0.25,
"predicted_H": 1.04,
"predicted_HR": 0.08,
"predicted_OBP": 0.376,
"predicted_R": 0.562,
"predicted_RBI": 0.41,
"predicted_SLG": 0.471,
"predicted_SO": 0.763
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1159,
"predicted_3B": 0.0109,
"predicted_AB": 3.7179,
"predicted_AVG": 0.2951,
"predicted_BB": 0.341,
"predicted_H": 1.0949,
"predicted_HBP": 0.104,
"predicted_HR": 0.0668,
"predicted_OBP": 0.3914,
"predicted_R": 0.5769,
"predicted_RBI": 0.3943,
"predicted_SLG": 0.4404,
"predicted_SO": 0.8094
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1159,
"delta": -0.0221,
"percent_delta": -0.1601,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7179,
"delta": -0.1221,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2951,
"delta": 0.0251,
"percent_delta": 0.093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.341,
"delta": 0.091,
"percent_delta": 0.364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0949,
"delta": 0.0549,
"percent_delta": 0.0528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0668,
"delta": -0.0132,
"percent_delta": -0.165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.376,
"after": 0.3914,
"delta": 0.0154,
"percent_delta": 0.041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 0.5769,
"delta": 0.0149,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3943,
"delta": -0.0157,
"percent_delta": -0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4404,
"delta": -0.0306,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.763,
"after": 0.8094,
"delta": 0.0464,
"percent_delta": 0.0608,
"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.25,
"after": 0.341,
"delta": 0.091,
"percent_delta": 0.364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7179,
"delta": -0.1221,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 80
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1159,
"predicted_3B": 0.0109,
"predicted_AB": 3.7179,
"predicted_AVG": 0.294,
"predicted_BB": 0.3414,
"predicted_H": 1.0931,
"predicted_HBP": 0.104,
"predicted_HR": 0.0671,
"predicted_OBP": 0.3534,
"predicted_R": 0.5744,
"predicted_RBI": 0.3926,
"predicted_SLG": 0.3852,
"predicted_SO": 0.8084
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1159,
"after": 0.1159,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7179,
"after": 3.7179,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2951,
"after": 0.294,
"delta": -0.0011,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.341,
"after": 0.3414,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0949,
"after": 1.0931,
"delta": -0.0018,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.104,
"after": 0.104,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0668,
"after": 0.0671,
"delta": 0.0003,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3914,
"after": 0.3534,
"delta": -0.038,
"percent_delta": -0.0971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5769,
"after": 0.5744,
"delta": -0.0025,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3943,
"after": 0.3926,
"delta": -0.0017,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4404,
"after": 0.3852,
"delta": -0.0552,
"percent_delta": -0.1253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8094,
"after": 0.8084,
"delta": -0.001,
"percent_delta": -0.0012,
"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.4404,
"after": 0.3852,
"delta": -0.0552,
"percent_delta": -0.1253,
"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.285 HR/AB=0.017",
"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.1159,
"after": 0.0,
"delta": -0.1159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7179,
"after": 4.0,
"delta": 0.2821,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3414,
"after": 0.0,
"delta": -0.3414,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0931,
"after": 1.0,
"delta": -0.0931,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0671,
"after": 0.0,
"delta": -0.0671,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3926,
"after": 0.0,
"delta": -0.3926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8084,
"after": 1.0,
"delta": 0.1916,
"percent_delta": 0.237,
"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.7179,
"after": 4.0,
"delta": 0.2821,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3926,
"after": 0.0,
"delta": -0.3926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5744,
"after": 1.0,
"delta": 0.4256,
"percent_delta": 0.7409,
"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.5744,
"after": 1.0,
"delta": 0.4256,
"percent_delta": 0.7409,
"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.294,
"after": 0.25,
"delta": -0.044,
"percent_delta": -0.1497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3534,
"after": 0.25,
"delta": -0.1034,
"percent_delta": -0.2926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3852,
"after": 0.25,
"delta": -0.1352,
"percent_delta": -0.351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3852,
"after": 0.25,
"delta": -0.1352,
"percent_delta": -0.351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.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.294,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3534,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3852,
"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.294,
"delta": 0.044,
"percent_delta": 0.1761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3534,
"delta": 0.1034,
"percent_delta": 0.4136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3852,
"delta": 0.1352,
"percent_delta": 0.5409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3852,
"delta": 0.1352,
"percent_delta": 0.5409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.0,
"delta": -0.138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.294,
"delta": 0.024,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 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.376,
"after": 0.3534,
"delta": -0.0226,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.562,
"after": 0.0,
"delta": -0.562,
"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.471,
"after": 0.3852,
"delta": -0.0858,
"percent_delta": -0.1822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.763,
"after": 1.0,
"delta": 0.237,
"percent_delta": 0.3106,
"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.763,
"after": 1.0,
"delta": 0.237,
"percent_delta": 0.3106,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.562,
"after": 0.0,
"delta": -0.562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.013 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.376 | - |
| predicted_R | 0.562 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.763 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.022 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 3.718 | -0.122 |
| predicted_AVG | 0.295 | 0.025 |
| predicted_BB | 0.341 | 0.091 |
| predicted_H | 1.095 | 0.055 |
| predicted_HBP | 0.104 | - |
| predicted_HR | 0.067 | -0.013 |
| predicted_OBP | 0.391 | 0.015 |
| predicted_R | 0.577 | 0.015 |
| predicted_RBI | 0.394 | -0.016 |
| predicted_SLG | 0.440 | -0.031 |
| predicted_SO | 0.809 | 0.046 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.116 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 3.718 | 0.000 |
| predicted_AVG | 0.294 | -0.001 |
| predicted_BB | 0.341 | 0.000 |
| predicted_H | 1.093 | -0.002 |
| predicted_HBP | 0.104 | 0.000 |
| predicted_HR | 0.067 | 0.000 |
| predicted_OBP | 0.353 | -0.038 |
| predicted_R | 0.574 | -0.002 |
| predicted_RBI | 0.393 | -0.002 |
| predicted_SLG | 0.385 | -0.055 |
| predicted_SO | 0.808 | -0.001 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.285 HR/AB=0.017
| 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.116 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | 0.282 |
| predicted_AVG | 0.250 | -0.044 |
| predicted_BB | 0.000 | -0.341 |
| predicted_H | 1.000 | -0.093 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.250 | -0.103 |
| predicted_R | 1.000 | 0.426 |
| predicted_RBI | 0.000 | -0.393 |
| predicted_SLG | 0.250 | -0.135 |
| predicted_SO | 1.000 | 0.192 |
Attached 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 5.000 | 0.4000 | 0.5714 | 0.4000 | 0.4000 | 0.0000 | 0.0667 | 0.3333 | 0.3333 |
| last_10 | 0.20 | 10 | - | 34.000 | 13.000 | 0.000 | 0.000 | 1.000 | 3.000 | 7.000 | 5.000 | 10.000 | 0.3824 | 0.4750 | 0.4706 | 0.3824 | 0.0294 | 0.0882 | 0.1471 | 0.2941 |
| season | 0.60 | 80 | - | 300.000 | 90.000 | 11.000 | 1.000 | 3.000 | 36.000 | 45.000 | 20.000 | 61.000 | 0.3000 | 0.3547 | 0.3733 | 0.3000 | 0.0100 | 0.1200 | 0.0667 | 0.2033 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.5530 |
| predicted_AVG | 0.3290 |
| predicted_BB | 0.4640 |
| predicted_H | 1.1690 |
| predicted_HBP | 0.1040 |
| predicted_HR | 0.0490 |
| predicted_OBP | 0.4123 |
| predicted_R | 0.5970 |
| predicted_RBI | 0.3730 |
| predicted_SLG | 0.3990 |
| predicted_SO | 0.8720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.0860 | 0.1159 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 3.8400 | 3.5530 | 3.7179 | model_form_blend |
| predicted_AVG | 0.2700 | 0.3290 | 0.2951 | model_form_blend |
| predicted_BB | 0.2500 | 0.4640 | 0.3410 | model_form_blend |
| predicted_H | 1.0400 | 1.1690 | 1.0949 | model_form_blend |
| predicted_HBP | - | 0.1040 | 0.1040 | form_only |
| predicted_HR | 0.0800 | 0.0490 | 0.0668 | model_form_blend |
| predicted_OBP | 0.3760 | 0.4123 | 0.3914 | model_form_blend |
| predicted_R | 0.5620 | 0.5970 | 0.5769 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3730 | 0.3943 | model_form_blend |
| predicted_SLG | 0.4710 | 0.3990 | 0.4404 | model_form_blend |
| predicted_SO | 0.7630 | 0.8720 | 0.8094 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.3 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 1 |
| 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 | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 693304 |
| playerID | 693304 |
| playerName | Nick Gonzales |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.328 |
| sl_xwoba | 0.324 |
| sl_xba | 0.283 |
| sl_xslg | 0.386 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 35.8 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 5.5 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 53.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.091 | 0.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.818 | 4.000 | 4.000 | Hitting_AB | 3.961 | 4.000 | 0.039 | 0.000 |
| predicted_AVG | 0.229 | 0.000 | 0.250 | Hitting_AVG | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_BB | 0.364 | 0.000 | 0.000 | Hitting_BB | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 0.000 | 1.000 | Hitting_H | 0.766 | 0.000 | -0.766 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.132 | 0.000 | -0.132 | 0.000 |
| predicted_OBP | 0.288 | 0.000 | 0.250 | Hitting_OBP | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_R | 0.309 | 0.000 | 0.000 | Hitting_R | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_SLG | 0.453 | 0.000 | 0.250 | Hitting_SLG | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_SO | 1.291 | 1.000 | 1.000 | Hitting_SO | 1.302 | 3.000 | -0.302 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.8180 -> 4.0000 (boost 0.1820, 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 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4530 -> 0.4149 (deboost -0.0381, worse) | Final model input calibrated with local 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.4149 -> 0.3542 (deboost -0.0607, 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.7851 -> 4.0000 (boost 0.2149, better) | predicted_RBI: 0.4488 -> 0.0000 (deboost -0.4488, worse) | AB rounded to 4 (raw=3.82), rates preserved: AVG=0.214 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3002 -> 0.0000 (deboost -0.3002, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2158 -> 0.2500 (boost 0.0342, better) | predicted_SLG: 0.3542 -> 0.2500 (deboost -0.1042, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3542 (boost 0.1042, better) | predicted_AVG: 0.2500 -> 0.2158 (deboost -0.0342, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "542303",
"player_name": "Marcell Ozuna",
"position": "DH",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.0,
"predicted_AB": 3.818,
"predicted_AVG": 0.229,
"predicted_BB": 0.364,
"predicted_H": 0.82,
"predicted_HR": 0.14,
"predicted_OBP": 0.288,
"predicted_R": 0.309,
"predicted_RBI": 0.44,
"predicted_SLG": 0.453,
"predicted_SO": 1.291
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0814,
"predicted_3B": 0.0008,
"predicted_AB": 3.7851,
"predicted_AVG": 0.2245,
"predicted_BB": 0.3498,
"predicted_H": 0.8183,
"predicted_HBP": 0.023,
"predicted_HR": 0.1462,
"predicted_OBP": 0.2872,
"predicted_R": 0.3015,
"predicted_RBI": 0.4508,
"predicted_SLG": 0.4149,
"predicted_SO": 1.3256
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0814,
"delta": -0.0096,
"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.818,
"after": 3.7851,
"delta": -0.0329,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2245,
"delta": -0.0045,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.3498,
"delta": -0.0142,
"percent_delta": -0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8183,
"delta": -0.0017,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1462,
"delta": 0.0062,
"percent_delta": 0.0443,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2872,
"delta": -0.0008,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.309,
"after": 0.3015,
"delta": -0.0075,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4508,
"delta": 0.0108,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4149,
"delta": -0.0381,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.291,
"after": 1.3256,
"delta": 0.0346,
"percent_delta": 0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.453,
"after": 0.4149,
"delta": -0.0381,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0814,
"predicted_3B": 0.0008,
"predicted_AB": 3.7851,
"predicted_AVG": 0.2158,
"predicted_BB": 0.3502,
"predicted_H": 0.817,
"predicted_HBP": 0.023,
"predicted_HR": 0.1469,
"predicted_OBP": 0.2823,
"predicted_R": 0.3002,
"predicted_RBI": 0.4488,
"predicted_SLG": 0.3542,
"predicted_SO": 1.324
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0814,
"after": 0.0814,
"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.7851,
"after": 3.7851,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2245,
"after": 0.2158,
"delta": -0.0087,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3498,
"after": 0.3502,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8183,
"after": 0.817,
"delta": -0.0013,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1462,
"after": 0.1469,
"delta": 0.0007,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2872,
"after": 0.2823,
"delta": -0.0049,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3015,
"after": 0.3002,
"delta": -0.0013,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4508,
"after": 0.4488,
"delta": -0.002,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4149,
"after": 0.3542,
"delta": -0.0607,
"percent_delta": -0.1463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3256,
"after": 1.324,
"delta": -0.0016,
"percent_delta": -0.0012,
"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.4149,
"after": 0.3542,
"delta": -0.0607,
"percent_delta": -0.1463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.82), rates preserved: AVG=0.214 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.0814,
"after": 0.0,
"delta": -0.0814,
"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.7851,
"after": 4.0,
"delta": 0.2149,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3502,
"after": 0.0,
"delta": -0.3502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.817,
"after": 1.0,
"delta": 0.183,
"percent_delta": 0.224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1469,
"after": 0.0,
"delta": -0.1469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4488,
"after": 0.0,
"delta": -0.4488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.324,
"after": 1.0,
"delta": -0.324,
"percent_delta": -0.2447,
"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.7851,
"after": 4.0,
"delta": 0.2149,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4488,
"after": 0.0,
"delta": -0.4488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3002,
"after": 0.0,
"delta": -0.3002,
"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.3002,
"after": 0.0,
"delta": -0.3002,
"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.2158,
"after": 0.25,
"delta": 0.0342,
"percent_delta": 0.1585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2823,
"after": 0.25,
"delta": -0.0323,
"percent_delta": -0.1144,
"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.3542,
"after": 0.25,
"delta": -0.1042,
"percent_delta": -0.2942,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2158,
"after": 0.25,
"delta": 0.0342,
"percent_delta": 0.1585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3542,
"after": 0.25,
"delta": -0.1042,
"percent_delta": -0.2942,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2158,
"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.2823,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3542,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2158,
"delta": -0.0342,
"percent_delta": -0.1366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2823,
"delta": 0.0323,
"percent_delta": 0.129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3542,
"delta": 0.1042,
"percent_delta": 0.4169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3542,
"delta": 0.1042,
"percent_delta": 0.4169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2158,
"delta": -0.0342,
"percent_delta": -0.1366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.818,
"after": 4.0,
"delta": 0.182,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2158,
"delta": -0.0132,
"percent_delta": -0.0576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"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.288,
"after": 0.2823,
"delta": -0.0057,
"percent_delta": -0.0198,
"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.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.3542,
"delta": -0.0988,
"percent_delta": -0.2181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.291,
"after": 1.0,
"delta": -0.291,
"percent_delta": -0.2254,
"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.818,
"after": 4.0,
"delta": 0.182,
"percent_delta": 0.0477,
"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.091 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.818 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.364 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.309 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.453 | - |
| predicted_SO | 1.291 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.081 | -0.010 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.785 | -0.033 |
| predicted_AVG | 0.225 | -0.005 |
| predicted_BB | 0.350 | -0.014 |
| predicted_H | 0.818 | -0.002 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.146 | 0.006 |
| predicted_OBP | 0.287 | -0.001 |
| predicted_R | 0.301 | -0.008 |
| predicted_RBI | 0.451 | 0.011 |
| predicted_SLG | 0.415 | -0.038 |
| predicted_SO | 1.326 | 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.081 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.785 | 0.000 |
| predicted_AVG | 0.216 | -0.009 |
| predicted_BB | 0.350 | 0.000 |
| predicted_H | 0.817 | -0.001 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.147 | 0.001 |
| predicted_OBP | 0.282 | -0.005 |
| predicted_R | 0.300 | -0.001 |
| predicted_RBI | 0.449 | -0.002 |
| predicted_SLG | 0.354 | -0.061 |
| predicted_SO | 1.324 | -0.002 |
AB rounded to 4 (raw=3.82), rates preserved: AVG=0.214 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.081 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.215 |
| predicted_AVG | 0.250 | 0.034 |
| predicted_BB | 0.000 | -0.350 |
| predicted_H | 1.000 | 0.183 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.250 | -0.032 |
| predicted_R | 0.000 | -0.300 |
| predicted_RBI | 0.000 | -0.449 |
| predicted_SLG | 0.250 | -0.104 |
| predicted_SO | 1.000 | -0.324 |
Attached 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 | - | 18.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 9.000 | 0.2222 | 0.3000 | 0.3889 | 0.2222 | 0.0556 | 0.1111 | 0.1111 | 0.5000 |
| last_10 | 0.20 | 10 | - | 36.000 | 9.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 2.000 | 15.000 | 0.2500 | 0.2895 | 0.4167 | 0.2500 | 0.0556 | 0.1389 | 0.0556 | 0.4167 |
| season | 0.60 | 55 | - | 210.000 | 42.000 | 5.000 | 0.000 | 7.000 | 26.000 | 17.000 | 20.000 | 71.000 | 0.2000 | 0.2759 | 0.3238 | 0.2000 | 0.0333 | 0.1238 | 0.0952 | 0.3381 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0680 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.7390 |
| predicted_AVG | 0.2183 |
| predicted_BB | 0.3300 |
| predicted_H | 0.8160 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.1550 |
| predicted_OBP | 0.2860 |
| predicted_R | 0.2910 |
| predicted_RBI | 0.4660 |
| predicted_SLG | 0.3615 |
| predicted_SO | 1.3740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.0680 | 0.0814 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8180 | 3.7390 | 3.7851 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2183 | 0.2245 | model_form_blend |
| predicted_BB | 0.3640 | 0.3300 | 0.3498 | model_form_blend |
| predicted_H | 0.8200 | 0.8160 | 0.8183 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.1400 | 0.1550 | 0.1462 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2860 | 0.2872 | model_form_blend |
| predicted_R | 0.3090 | 0.2910 | 0.3015 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4660 | 0.4508 | model_form_blend |
| predicted_SLG | 0.4530 | 0.3615 | 0.4149 | model_form_blend |
| predicted_SO | 1.2910 | 1.3740 | 1.3256 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 205 |
| Season rows before report date | 205 |
| Report year | 2026 |
| Profile rows used | 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 | 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 | 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 | DH |
| gameID | 20260630_PIT@PHI |
| game_type | full |
| mlbID | 542303 |
| playerID | 542303 |
| playerName | Marcell Ozuna |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-30 |
| sl_k_percent | 30.5 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.271 |
| sl_xwoba | 0.31 |
| sl_xba | 0.224 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 39.6 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 21.4 |
| sl_whiff_percent | 32.1 |
| sl_swing_percent | 42.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.160 | 0.000 | 0.000 | Hitting_2B | 0.123 | 1.000 | -0.123 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.200 | 4.000 | 3.000 | Hitting_AB | 3.330 | 2.000 | 0.670 | 2.000 |
| predicted_AVG | 0.260 | 0.000 | 0.333 | Hitting_AVG | 0.227 | 0.500 | -0.227 | -0.500 |
| predicted_BB | 0.280 | 0.000 | 0.000 | Hitting_BB | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_H | 0.710 | 0.000 | 1.000 | Hitting_H | 0.755 | 1.000 | -0.755 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_OBP | 0.318 | 0.000 | 0.333 | Hitting_OBP | 0.289 | 0.667 | -0.289 | -0.667 |
| predicted_R | 0.340 | 0.000 | 0.000 | Hitting_R | 0.236 | 0.000 | -0.236 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.179 | 3.000 | -0.179 | -3.000 |
| predicted_SLG | 0.468 | 0.000 | 0.333 | Hitting_SLG | 0.272 | 1.000 | -0.272 | -1.000 |
| predicted_SO | 0.900 | 1.000 | 1.000 | Hitting_SO | 0.821 | 1.000 | 0.179 | 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.2000 -> 4.0000 (boost 0.8000, 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4680 -> 0.4421 (deboost -0.0259, worse) | Final model input calibrated with local form: 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.4421 -> 0.3761 (deboost -0.0660, 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.7536 -> 1.0000 (boost 0.2464, better) | predicted_RBI: 0.4498 -> 0.0000 (deboost -0.4498, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.235 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3714 -> 0.0000 (deboost -0.3714, 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.3761 -> 0.3330 (deboost -0.0431, 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.3761 (boost 0.0431, 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": "669707",
"player_name": "Jared Triolo",
"position": "SS",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.0,
"predicted_AB": 3.2,
"predicted_AVG": 0.26,
"predicted_BB": 0.28,
"predicted_H": 0.71,
"predicted_HR": 0.09,
"predicted_OBP": 0.318,
"predicted_R": 0.34,
"predicted_RBI": 0.42,
"predicted_SLG": 0.468,
"predicted_SO": 0.9
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1898,
"predicted_3B": 0.0008,
"predicted_AB": 3.2077,
"predicted_AVG": 0.2578,
"predicted_BB": 0.2755,
"predicted_H": 0.7548,
"predicted_HBP": 0.09,
"predicted_HR": 0.0867,
"predicted_OBP": 0.3227,
"predicted_R": 0.373,
"predicted_RBI": 0.4518,
"predicted_SLG": 0.4421,
"predicted_SO": 0.9147
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1898,
"delta": 0.0298,
"percent_delta": 0.1862,
"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.2,
"after": 3.2077,
"delta": 0.0077,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2578,
"delta": -0.0022,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.28,
"after": 0.2755,
"delta": -0.0045,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7548,
"delta": 0.0448,
"percent_delta": 0.0631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0867,
"delta": -0.0033,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3227,
"delta": 0.0047,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 0.373,
"delta": 0.033,
"percent_delta": 0.0971,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4518,
"delta": 0.0318,
"percent_delta": 0.0757,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.4421,
"delta": -0.0259,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9,
"after": 0.9147,
"delta": 0.0147,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.468,
"after": 0.4421,
"delta": -0.0259,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1898,
"predicted_3B": 0.0008,
"predicted_AB": 3.2077,
"predicted_AVG": 0.2349,
"predicted_BB": 0.2758,
"predicted_H": 0.7536,
"predicted_HBP": 0.09,
"predicted_HR": 0.0871,
"predicted_OBP": 0.2955,
"predicted_R": 0.3714,
"predicted_RBI": 0.4498,
"predicted_SLG": 0.3761,
"predicted_SO": 0.9136
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1898,
"after": 0.1898,
"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.2077,
"after": 3.2077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2578,
"after": 0.2349,
"delta": -0.0229,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2755,
"after": 0.2758,
"delta": 0.0003,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7548,
"after": 0.7536,
"delta": -0.0012,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.09,
"after": 0.09,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0867,
"after": 0.0871,
"delta": 0.0004,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.2955,
"delta": -0.0272,
"percent_delta": -0.0843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.373,
"after": 0.3714,
"delta": -0.0016,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4518,
"after": 0.4498,
"delta": -0.002,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4421,
"after": 0.3761,
"delta": -0.066,
"percent_delta": -0.1493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9147,
"after": 0.9136,
"delta": -0.0011,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4421,
"after": 0.3761,
"delta": -0.066,
"percent_delta": -0.1493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.21), rates preserved: AVG=0.235 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.1898,
"after": 0.0,
"delta": -0.1898,
"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.2077,
"after": 3.0,
"delta": -0.2077,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2758,
"after": 0.0,
"delta": -0.2758,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7536,
"after": 1.0,
"delta": 0.2464,
"percent_delta": 0.327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0871,
"after": 0.0,
"delta": -0.0871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4498,
"after": 0.0,
"delta": -0.4498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7536,
"after": 1.0,
"delta": 0.2464,
"percent_delta": 0.327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4498,
"after": 0.0,
"delta": -0.4498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3714,
"after": 0.0,
"delta": -0.3714,
"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.3714,
"after": 0.0,
"delta": -0.3714,
"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.2955,
"after": 0.333,
"delta": 0.0375,
"percent_delta": 0.1269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3761,
"after": 0.333,
"delta": -0.0431,
"percent_delta": -0.1146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3761,
"after": 0.333,
"delta": -0.0431,
"percent_delta": -0.1146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2349,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2955,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3761,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2349,
"delta": -0.0981,
"percent_delta": -0.2945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2955,
"delta": -0.0375,
"percent_delta": -0.1126,
"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.3761,
"delta": 0.0431,
"percent_delta": 0.1294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3761,
"delta": 0.0431,
"percent_delta": 0.1294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2349,
"delta": -0.0981,
"percent_delta": -0.2945,
"direction": "deboost",
"projection_effect": "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.2,
"after": 4.0,
"delta": 0.8,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2349,
"delta": -0.0251,
"percent_delta": -0.0965,
"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.71,
"after": 0.0,
"delta": -0.71,
"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.318,
"after": 0.2955,
"delta": -0.0225,
"percent_delta": -0.0708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.3761,
"delta": -0.0919,
"percent_delta": -0.1964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9,
"after": 1.0,
"delta": 0.1,
"percent_delta": 0.1111,
"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.2,
"after": 4.0,
"delta": 0.8,
"percent_delta": 0.25,
"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.160 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.200 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.280 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.340 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.468 | - |
| predicted_SO | 0.900 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.030 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.208 | 0.008 |
| predicted_AVG | 0.258 | -0.002 |
| predicted_BB | 0.276 | -0.005 |
| predicted_H | 0.755 | 0.045 |
| predicted_HBP | 0.090 | - |
| predicted_HR | 0.087 | -0.003 |
| predicted_OBP | 0.323 | 0.005 |
| predicted_R | 0.373 | 0.033 |
| predicted_RBI | 0.452 | 0.032 |
| predicted_SLG | 0.442 | -0.026 |
| predicted_SO | 0.915 | 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.190 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.208 | 0.000 |
| predicted_AVG | 0.235 | -0.023 |
| predicted_BB | 0.276 | 0.000 |
| predicted_H | 0.754 | -0.001 |
| predicted_HBP | 0.090 | 0.000 |
| predicted_HR | 0.087 | 0.000 |
| predicted_OBP | 0.295 | -0.027 |
| predicted_R | 0.371 | -0.002 |
| predicted_RBI | 0.450 | -0.002 |
| predicted_SLG | 0.376 | -0.066 |
| predicted_SO | 0.914 | -0.001 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.235 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.190 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.208 |
| predicted_AVG | 0.333 | 0.098 |
| predicted_BB | 0.000 | -0.276 |
| predicted_H | 1.000 | 0.246 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 0.000 | -0.371 |
| predicted_RBI | 0.000 | -0.450 |
| predicted_SLG | 0.333 | -0.043 |
| 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 | 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 | 2.000 | 0.000 | 1.000 | 5.000 | 3.000 | 1.000 | 6.000 | 0.3333 | 0.4118 | 0.6667 | 0.3333 | 0.0667 | 0.3333 | 0.0667 | 0.4000 |
| last_10 | 0.20 | 10 | - | 30.000 | 7.000 | 3.000 | 0.000 | 1.000 | 6.000 | 4.000 | 3.000 | 8.000 | 0.2333 | 0.3235 | 0.4333 | 0.2333 | 0.0333 | 0.2000 | 0.1000 | 0.2667 |
| season | 0.60 | 50 | - | 160.000 | 38.000 | 8.000 | 0.000 | 1.000 | 14.000 | 17.000 | 14.000 | 45.000 | 0.2375 | 0.3107 | 0.3063 | 0.2375 | 0.0063 | 0.0875 | 0.0875 | 0.2812 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2330 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2190 |
| predicted_AVG | 0.2546 |
| predicted_BB | 0.2690 |
| predicted_H | 0.8200 |
| predicted_HBP | 0.0900 |
| predicted_HR | 0.0820 |
| predicted_OBP | 0.3295 |
| predicted_R | 0.4210 |
| predicted_RBI | 0.4980 |
| predicted_SLG | 0.4044 |
| predicted_SO | 0.9360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.2330 | 0.1898 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2000 | 3.2190 | 3.2077 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2546 | 0.2578 | model_form_blend |
| predicted_BB | 0.2800 | 0.2690 | 0.2755 | model_form_blend |
| predicted_H | 0.7100 | 0.8200 | 0.7548 | model_form_blend |
| predicted_HBP | - | 0.0900 | 0.0900 | form_only |
| predicted_HR | 0.0900 | 0.0820 | 0.0867 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3295 | 0.3227 | model_form_blend |
| predicted_R | 0.3400 | 0.4210 | 0.3730 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4980 | 0.4518 | model_form_blend |
| predicted_SLG | 0.4680 | 0.4044 | 0.4421 | model_form_blend |
| predicted_SO | 0.9000 | 0.9360 | 0.9147 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 106 |
| Season rows before report date | 106 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.238 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| 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 | 20260701_PIT@PHI |
| game_type | ph |
| mlbID | 669707 |
| note | Hit by pitch for Callihan, T in the 5th. |
| playerID | 669707 |
| playerName | Jared Triolo |
| pos | SS |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.282 |
| sl_xwoba | 0.28 |
| sl_xba | 0.236 |
| sl_xslg | 0.305 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 37.1 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 5.6 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 42.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.194 | 1.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | 0.816 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.871 | 3.000 | 3.000 | Hitting_AB | 2.735 | 4.000 | 0.265 | -1.000 |
| predicted_AVG | 0.274 | 0.333 | 0.333 | Hitting_AVG | 0.269 | 0.250 | 0.065 | 0.083 |
| predicted_BB | 0.484 | 1.000 | 0.000 | Hitting_BB | 0.898 | 0.000 | 0.102 | 1.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.735 | 1.000 | 0.265 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_OBP | 0.345 | 0.500 | 0.333 | Hitting_OBP | 0.449 | 0.250 | 0.051 | 0.250 |
| predicted_R | 0.419 | 1.000 | 0.000 | Hitting_R | 0.490 | 0.000 | 0.510 | 1.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_SLG | 0.526 | 0.667 | 0.333 | Hitting_SLG | 0.425 | 0.250 | 0.241 | 0.417 |
| predicted_SO | 0.839 | 1.000 | 1.000 | Hitting_SO | 0.816 | 3.000 | 0.184 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1940 -> 1.0000 (boost 0.8060, better) |
| Biggest Deboost | predicted_RBI: 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.8710 -> 3.0083 (boost 0.1373, better) | predicted_SLG: 0.5260 -> 0.5092 (deboost -0.0168, worse) | Final model input calibrated with local form: 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.3537 -> 0.3619 (boost 0.0082, better) | predicted_SLG: 0.5092 -> 0.4596 (deboost -0.0496, 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.5640 -> 1.0000 (boost 0.4360, better) | predicted_BB: 0.4727 -> 0.0000 (deboost -0.4727, worse) | AB rounded to 3 (raw=3.01), rates preserved: AVG=0.262 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4344 -> 0.0000 (deboost -0.4344, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2617 -> 0.3330 (boost 0.0713, better) | predicted_SLG: 0.4596 -> 0.3330 (deboost -0.1266, 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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4596 (boost 0.1266, better) | predicted_AVG: 0.3330 -> 0.2617 (deboost -0.0713, 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.194,
"predicted_3B": 0.0,
"predicted_AB": 2.871,
"predicted_AVG": 0.274,
"predicted_BB": 0.484,
"predicted_H": 0.72,
"predicted_HR": 0.12,
"predicted_OBP": 0.345,
"predicted_R": 0.419,
"predicted_RBI": 0.5,
"predicted_SLG": 0.526,
"predicted_SO": 0.839
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2117,
"predicted_3B": 0.0012,
"predicted_AB": 3.0083,
"predicted_AVG": 0.2756,
"predicted_BB": 0.4721,
"predicted_H": 0.7884,
"predicted_HBP": 0.006,
"predicted_HR": 0.1265,
"predicted_OBP": 0.3537,
"predicted_R": 0.4363,
"predicted_RBI": 0.5665,
"predicted_SLG": 0.5092,
"predicted_SO": 0.8513
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.2117,
"delta": 0.0177,
"percent_delta": 0.0912,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.871,
"after": 3.0083,
"delta": 0.1373,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2756,
"delta": 0.0016,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.484,
"after": 0.4721,
"delta": -0.0119,
"percent_delta": -0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7884,
"delta": 0.0684,
"percent_delta": 0.095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1265,
"delta": 0.0065,
"percent_delta": 0.0542,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3537,
"delta": 0.0087,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.4363,
"delta": 0.0173,
"percent_delta": 0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5665,
"delta": 0.0665,
"percent_delta": 0.133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.5092,
"delta": -0.0168,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.839,
"after": 0.8513,
"delta": 0.0123,
"percent_delta": 0.0147,
"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.871,
"after": 3.0083,
"delta": 0.1373,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.5092,
"delta": -0.0168,
"percent_delta": -0.0319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.2117,
"predicted_3B": 0.0012,
"predicted_AB": 3.0083,
"predicted_AVG": 0.2617,
"predicted_BB": 0.4727,
"predicted_H": 0.7871,
"predicted_HBP": 0.006,
"predicted_HR": 0.1271,
"predicted_OBP": 0.3619,
"predicted_R": 0.4344,
"predicted_RBI": 0.564,
"predicted_SLG": 0.4596,
"predicted_SO": 0.8503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2117,
"after": 0.2117,
"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.0083,
"after": 3.0083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2756,
"after": 0.2617,
"delta": -0.0139,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4721,
"after": 0.4727,
"delta": 0.0006,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7884,
"after": 0.7871,
"delta": -0.0013,
"percent_delta": -0.0016,
"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.1265,
"after": 0.1271,
"delta": 0.0006,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3537,
"after": 0.3619,
"delta": 0.0082,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4363,
"after": 0.4344,
"delta": -0.0019,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5665,
"after": 0.564,
"delta": -0.0025,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5092,
"after": 0.4596,
"delta": -0.0496,
"percent_delta": -0.0974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8513,
"after": 0.8503,
"delta": -0.001,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_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.3537,
"after": 0.3619,
"delta": 0.0082,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5092,
"after": 0.4596,
"delta": -0.0496,
"percent_delta": -0.0974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.01), rates preserved: AVG=0.262 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2117,
"after": 0.0,
"delta": -0.2117,
"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.0083,
"after": 3.0,
"delta": -0.0083,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4727,
"after": 0.0,
"delta": -0.4727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7871,
"after": 1.0,
"delta": 0.2129,
"percent_delta": 0.2705,
"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.1271,
"after": 0.0,
"delta": -0.1271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.564,
"after": 1.0,
"delta": 0.436,
"percent_delta": 0.773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8503,
"after": 1.0,
"delta": 0.1497,
"percent_delta": 0.1761,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.564,
"after": 1.0,
"delta": 0.436,
"percent_delta": 0.773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4727,
"after": 0.0,
"delta": -0.4727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4344,
"after": 0.0,
"delta": -0.4344,
"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.4344,
"after": 0.0,
"delta": -0.4344,
"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.2617,
"after": 0.333,
"delta": 0.0713,
"percent_delta": 0.2724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3619,
"after": 0.333,
"delta": -0.0289,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4596,
"after": 0.333,
"delta": -0.1266,
"percent_delta": -0.2755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2617,
"after": 0.333,
"delta": 0.0713,
"percent_delta": 0.2724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4596,
"after": 0.333,
"delta": -0.1266,
"percent_delta": -0.2755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2617,
"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.3619,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4596,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2617,
"delta": -0.0713,
"percent_delta": -0.2142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3619,
"delta": 0.0289,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4596,
"delta": 0.1266,
"percent_delta": 0.3802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4596,
"delta": 0.1266,
"percent_delta": 0.3802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2617,
"delta": -0.0713,
"percent_delta": -0.2142,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.806,
"percent_delta": 4.1546,
"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.871,
"after": 3.0,
"delta": 0.129,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2617,
"delta": -0.0123,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.484,
"after": 1.0,
"delta": 0.516,
"percent_delta": 1.0661,
"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.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.3619,
"delta": 0.0169,
"percent_delta": 0.049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 1.0,
"delta": 0.581,
"percent_delta": 1.3866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.526,
"after": 0.4596,
"delta": -0.0664,
"percent_delta": -0.1262,
"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": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.194,
"after": 1.0,
"delta": 0.806,
"percent_delta": 4.1546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.194 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.871 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.484 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.526 | - |
| predicted_SO | 0.839 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.018 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.008 | 0.137 |
| predicted_AVG | 0.276 | 0.002 |
| predicted_BB | 0.472 | -0.012 |
| predicted_H | 0.788 | 0.068 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.127 | 0.007 |
| predicted_OBP | 0.354 | 0.009 |
| predicted_R | 0.436 | 0.017 |
| predicted_RBI | 0.567 | 0.067 |
| predicted_SLG | 0.509 | -0.017 |
| predicted_SO | 0.851 | 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.212 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.008 | 0.000 |
| predicted_AVG | 0.262 | -0.014 |
| predicted_BB | 0.473 | 0.001 |
| predicted_H | 0.787 | -0.001 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.127 | 0.001 |
| predicted_OBP | 0.362 | 0.008 |
| predicted_R | 0.434 | -0.002 |
| predicted_RBI | 0.564 | -0.003 |
| predicted_SLG | 0.460 | -0.050 |
| predicted_SO | 0.850 | -0.001 |
AB rounded to 3 (raw=3.01), rates preserved: AVG=0.262 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 | 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.212 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.008 |
| predicted_AVG | 0.333 | 0.071 |
| predicted_BB | 0.000 | -0.473 |
| predicted_H | 1.000 | 0.213 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.333 | -0.029 |
| predicted_R | 0.000 | -0.434 |
| predicted_RBI | 1.000 | 0.436 |
| predicted_SLG | 0.333 | -0.127 |
| predicted_SO | 1.000 | 0.150 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | -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 | 6.000 | 2.000 | 0.000 | 1.000 | 7.000 | 3.000 | 3.000 | 4.000 | 0.3529 | 0.4500 | 0.6471 | 0.3529 | 0.0588 | 0.4118 | 0.1765 | 0.2353 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 3.000 | 0.000 | 1.000 | 8.000 | 4.000 | 4.000 | 10.000 | 0.2727 | 0.3514 | 0.4545 | 0.2727 | 0.0303 | 0.2424 | 0.1212 | 0.3030 |
| season | 0.60 | 31 | - | 89.000 | 24.000 | 6.000 | 0.000 | 4.000 | 15.000 | 13.000 | 15.000 | 26.000 | 0.2697 | 0.3750 | 0.4719 | 0.2697 | 0.0449 | 0.1685 | 0.1685 | 0.2921 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2400 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.2280 |
| predicted_AVG | 0.2782 |
| predicted_BB | 0.4530 |
| predicted_H | 0.8980 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1370 |
| predicted_OBP | 0.3675 |
| predicted_R | 0.4640 |
| predicted_RBI | 0.6730 |
| predicted_SLG | 0.4822 |
| predicted_SO | 0.8710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.2400 | 0.2117 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.8710 | 3.2280 | 3.0083 | model_form_blend |
| predicted_AVG | 0.2740 | 0.2782 | 0.2756 | model_form_blend |
| predicted_BB | 0.4840 | 0.4530 | 0.4721 | model_form_blend |
| predicted_H | 0.7200 | 0.8980 | 0.7884 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1200 | 0.1370 | 0.1265 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3675 | 0.3537 | model_form_blend |
| predicted_R | 0.4190 | 0.4640 | 0.4363 | model_form_blend |
| predicted_RBI | 0.5000 | 0.6730 | 0.5665 | model_form_blend |
| predicted_SLG | 0.5260 | 0.4822 | 0.5092 | model_form_blend |
| predicted_SO | 0.8390 | 0.8710 | 0.8513 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 49 |
| Season rows before report date | 49 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 3 |
| 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-C |
| gameID | 20260630_PIT@PHI |
| game_type | full |
| mlbID | 682848 |
| playerID | 682848 |
| playerName | Endy Rodríguez |
| pos | C |
| started | True |
| startingPosition | 1B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-30 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 17.4 |
| sl_woba | 0.385 |
| sl_xwoba | 0.373 |
| sl_xba | 0.267 |
| sl_xslg | 0.443 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 12.7 |
| sl_hard_hit_percent | 46.0 |
| sl_exit_velocity_avg | 92.5 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 25.6 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.500 | 1.000 | 0.500 | 1.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.667 | 3.000 | 1.333 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.500 | 4.000 | 1.500 | 2.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 4.050 | 4.200 | -0.050 | -0.200 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 4.167 | 4.000 | -1.167 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.3333 -> 4.0000 (deboost -0.3333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.3333 -> 4.0000 (deboost -0.3333, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 2.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": 4.0,
"predicted_H": 6.0,
"predicted_HR": 2.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 4.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 4.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 2.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 | 4.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 2.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 | 20.200 | 11.000 | 20.000 | 7.000 | 19.000 | 3.000 | 4.7903 | 1.3065 | 0.5323 | 0.9677 | 0.3387 | 0.9194 | 0.1452 |
| last_10 | 0.35 | 6 | 25.000 | 16.000 | 27.000 | 9.000 | 25.000 | 5.000 | 5.7600 | 1.4400 | 0.6400 | 1.0800 | 0.3600 | 1.0000 | 0.2000 |
| season | 0.20 | 6 | 25.000 | 16.000 | 27.000 | 9.000 | 25.000 | 5.000 | 5.7600 | 1.4400 | 0.6400 | 1.0800 | 0.3600 | 1.0000 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4480 |
| predicted_ER | 2.1770 |
| predicted_ERA | 4.7199 |
| predicted_H | 4.0470 |
| predicted_HR | 0.6230 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.9050 |
| predicted_WHIP | 1.3237 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.4480 | 1.7472 | model_form_blend |
| predicted_ER | 4.0000 | 2.1770 | 3.1651 | model_form_blend |
| predicted_ERA | - | 4.7199 | 4.7199 | form_only |
| predicted_H | 6.0000 | 4.0470 | 5.1056 | model_form_blend |
| predicted_HR | 2.0000 | 0.6230 | 1.3694 | model_form_blend |
| predicted_IP | 4.1000 | 4.0000 | 4.2000 | model_form_blend |
| predicted_SO | 3.0000 | 3.9050 | 3.4145 | model_form_blend |
| predicted_WHIP | - | 1.3237 | 1.3237 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.0 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 3 |
| HR | 2 |
| BF | 20 |
| Pitches | 78 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 1 |
| Pitching_Batters Faced | 20 |
| Pitching_ER | 3 |
| Pitching_ERA | 5.76 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.2 |
| Pitching_Pitches | 81 |
| Pitching_R | 4 |
| Pitching_SO | 4 |
| Pitching_Strikes | 52 |
| Pitching_Wild Pitch | 2 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260627_CIN@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-27 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.356 |
| sl_xwoba | 0.338 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 40.8 |
| sl_whiff_percent | 32.4 |
| sl_swing_percent | 48.5 |
| sl_avg_best_speed | 80.378780526 |
| sl_avg_hyper_speed | 94.5017504 |
| 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.730 | 1.000 | 0.270 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.514 | 0.000 | -0.514 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.162 | 1.100 | 0.038 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.486 | 4.000 | -0.486 | -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: 1.3333 -> 1.2000 (deboost -0.1333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.2000 (deboost -0.1333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "670990",
"player_name": "Yohan Ramírez",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 0.000 | 6.000 | 5.000 | 10.000 | 0.000 | 0.0000 | 1.8333 | 0.0000 | 1.0000 | 0.8333 | 1.6667 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 0.000 | 7.000 | 9.000 | 16.000 | 0.000 | 0.0000 | 1.2308 | 0.0000 | 0.5385 | 0.6923 | 1.2308 | 0.0000 |
| season | 0.20 | 37 | 47.200 | 19.000 | 37.000 | 27.000 | 55.000 | 4.000 | 3.5874 | 1.3427 | 0.3986 | 0.7762 | 0.5664 | 1.1539 | 0.0839 |
| Metric | Value |
|---|---|
| predicted_BB | 0.8020 |
| predicted_ER | 0.2990 |
| predicted_ERA | 2.0188 |
| predicted_H | 1.1370 |
| predicted_HR | 0.0820 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.6710 |
| predicted_WHIP | 1.4546 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.8020 | 0.9002 | model_form_blend |
| predicted_ER | 0.0000 | 0.2990 | 0.1506 | model_form_blend |
| predicted_ERA | - | 2.0188 | 2.0188 | form_only |
| predicted_H | 1.0000 | 1.1370 | 1.0690 | model_form_blend |
| predicted_HR | 0.0000 | 0.0820 | 0.0413 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.6710 | 1.3381 | model_form_blend |
| predicted_WHIP | - | 1.4546 | 1.4546 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.59 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 37 |
| Pitching_R | 0 |
| Pitching_SO | 4 |
| Pitching_Strikes | 25 |
| Pitching_Wild Pitch | 2 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 670990 |
| playerID | 670990 |
| playerName | Yohan Ramírez |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.303 |
| sl_xwoba | 0.297 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 30.8 |
| sl_whiff_percent | 26.6 |
| sl_swing_percent | 45.3 |
| sl_avg_best_speed | 71.869860678 |
| sl_avg_hyper_speed | 92.492429492 |
| 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.485 | 1.000 | -0.485 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.515 | 0.000 | -0.515 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.909 | 0.000 | -0.909 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.806 | 1.000 | 0.294 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.394 | 2.000 | -0.394 | -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": "682254",
"player_name": "Mason Montgomery",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 4.000 | 6.000 | 1.000 | 10.000 | 1.000 | 7.7143 | 1.5000 | 0.8571 | 1.2857 | 0.2143 | 2.1429 | 0.2143 |
| last_10 | 0.35 | 10 | 9.200 | 7.000 | 11.000 | 6.000 | 16.000 | 1.000 | 6.5172 | 1.7586 | 0.7241 | 1.1379 | 0.6207 | 1.6552 | 0.1035 |
| season | 0.20 | 32 | 32.200 | 15.000 | 28.000 | 16.000 | 46.000 | 3.000 | 4.1327 | 1.3469 | 0.4592 | 0.8571 | 0.4898 | 1.4082 | 0.0918 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3880 |
| predicted_ER | 0.6290 |
| predicted_ERA | 5.6639 |
| predicted_H | 1.0690 |
| predicted_HR | 0.1490 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.4450 |
| predicted_WHIP | 1.4566 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3880 | 0.1808 | model_form_blend |
| predicted_ER | 0.0000 | 0.6290 | 0.2931 | model_form_blend |
| predicted_ERA | - | 5.6639 | 5.6639 | form_only |
| predicted_H | 0.0000 | 1.0690 | 0.4981 | model_form_blend |
| predicted_HR | 0.0000 | 0.1490 | 0.0694 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4450 | 1.2073 | model_form_blend |
| predicted_WHIP | - | 1.4566 | 1.4566 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.68 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 19 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260629_PIT@PHI |
| game_type | full |
| mlbID | 682254 |
| playerID | 682254 |
| playerName | Mason Montgomery |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-29 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.316 |
| sl_xwoba | 0.296 |
| sl_sweet_spot_percent | 25.9 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 42.0 |
| sl_whiff_percent | 31.5 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 74.43863425 |
| sl_avg_hyper_speed | 94.903292125 |
| 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.514 | 0.000 | -0.514 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.541 | 2.000 | 0.459 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.865 | 2.000 | 2.135 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.892 | 1.000 | 0.108 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.865 | 2.000 | 0.135 | -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": "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": 1.0,
"predicted_H": 3.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": 3.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": 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": 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": 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": 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 | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 5.000 | 5.000 | 3.000 | 6.000 | 2.000 | 8.4375 | 1.5000 | 0.9375 | 0.9375 | 0.5625 | 1.1250 | 0.3750 |
| last_10 | 0.35 | 10 | 10.200 | 5.000 | 6.000 | 5.000 | 12.000 | 2.000 | 4.2188 | 1.0312 | 0.4688 | 0.5625 | 0.4688 | 1.1250 | 0.1875 |
| season | 0.20 | 36 | 35.100 | 18.000 | 28.000 | 19.000 | 32.000 | 5.000 | 4.5849 | 1.3302 | 0.5094 | 0.7924 | 0.5377 | 0.9057 | 0.1415 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3290 |
| predicted_ER | 0.4400 |
| predicted_ERA | 5.4775 |
| predicted_H | 0.6180 |
| predicted_HR | 0.1550 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7420 |
| predicted_WHIP | 1.3107 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3290 | 0.1560 | model_form_blend |
| predicted_ER | 1.0000 | 0.4400 | 0.7345 | model_form_blend |
| predicted_ERA | - | 5.4775 | 5.4775 | form_only |
| predicted_H | 3.0000 | 0.6180 | 1.8709 | model_form_blend |
| predicted_HR | 1.0000 | 0.1550 | 0.5994 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7420 | 0.8777 | model_form_blend |
| predicted_WHIP | - | 1.3107 | 1.3107 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| 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.0 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| 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 | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 5.09 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 2 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 642701 |
| playerID | 642701 |
| playerName | Dennis Santana |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.334 |
| sl_xwoba | 0.337 |
| sl_sweet_spot_percent | 42.3 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 37.5 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 78.615449808 |
| sl_avg_hyper_speed | 93.553956154 |
| Field | Value |
|---|---|
| Pitcher | Alan Rangel |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.3406 |
| ESPN Rank | 281 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 83.9409 |
| Avg Spin | 2099.6591 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 4 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 5 |
| Season ERA | 4.5000 |
| Season WHIP | 1.1667 |
| Role Avg IP | 4 |
| Recent Avg IP | 4 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"opponent": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"edges": {
"quality_edge": 0.099,
"offense_edge": -0.0205,
"opponent_offense_edge": 0.104,
"defense_strength": 0.0259,
"opponent_defense_weakness": 0.0722,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0091,
"strikeout": 0.9947
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660604",
"profile": {
"available": true,
"pitcher_id": "660604",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 12.0,
"k_percent": 25.5,
"bb_percent": 3.9,
"woba": 0.303,
"xwoba": 0.27,
"sweet_spot_percent": 22.9,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 25.7,
"avg_best_speed": 74.7852,
"avg_hyper_speed": 92.5496,
"whiff_percent": 22.0,
"swing_percent": 53.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.0956,
"command_and_miss": 0.2746,
"regression_edge": 0.9429,
"xwoba_edge": 1.2143,
"barrel_edge": 1.0,
"hard_hit_edge": 1.8,
"whiff_edge": -0.5,
"bb_edge": 1.3,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "660604",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 44,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 44,
"pitch_usage": 0.0,
"release_speed": 83.94090909090909,
"release_spin_rate": 2099.659090909091,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 44,
"pitch_usage": 0.0,
"release_speed": 83.94090909090909,
"release_spin_rate": 2099.659090909091,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 83.9409,
"release_spin_rate": 2099.6591,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.3406,
"sample_weight": 0.45,
"run_prevention_factor": 0.9711,
"strikeout_factor": 0.9986,
"walk_factor": 0.9532,
"homer_factor": 0.9152,
"woba_minus_xwoba": 0.033,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "660604",
"espn_id": 4917631,
"player_name": "Alan Rangel",
"team": "PHI",
"role": "pitcher",
"espn_rank": 281,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 281,
"gp_value": 3.0,
"gp_rank": 578,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 12.0,
"ip_rank": 478,
"h_value": 12.0,
"h_rank": 489,
"er_value": 6.0,
"er_rank": 496,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 2.0,
"bb_rank": 593,
"k_value": 13.0,
"k_rank": 453,
"k_per_9_value": 9.75,
"k_per_9_rank": 25,
"whip_value": 1.1666,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.987,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.987,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9789,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9618,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9994,
"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": 12.0,
"ER": 6,
"H": 12,
"BB": 2,
"SO": 13,
"HR": 1,
"ERA": 4.5,
"WHIP": 1.1666666666666667,
"K9": 9.75,
"HR9": 0.75,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "660604",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 44,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 44,
"pitch_usage": 0.0,
"release_speed": 83.94090909090909,
"release_spin_rate": 2099.659090909091,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 44,
"pitch_usage": 0.0,
"release_speed": 83.94090909090909,
"release_spin_rate": 2099.659090909091,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 83.9409,
"release_spin_rate": 2099.6591,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.28,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -2.0,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"role": "pitcher",
"player_id": "660604",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 3,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 3,
"totals": {
"IP": 12.0,
"ER": 6.0,
"R": 6.0,
"H": 12.0,
"BB": 2.0,
"SO": 13.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 186.0
},
"per_game": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 0.6667,
"SO": 4.3333,
"HR": 0.3333,
"BF": 17.0,
"Pitches": 62.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.1667,
"ER_per_IP": 0.5,
"H_per_IP": 1.0,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.08333,
"HR_per_IP": 0.08333
}
},
"last_10": {
"games": 3,
"totals": {
"IP": 12.0,
"ER": 6.0,
"R": 6.0,
"H": 12.0,
"BB": 2.0,
"SO": 13.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 186.0
},
"per_game": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 0.6667,
"SO": 4.3333,
"HR": 0.3333,
"BF": 17.0,
"Pitches": 62.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.1667,
"ER_per_IP": 0.5,
"H_per_IP": 1.0,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.08333,
"HR_per_IP": 0.08333
}
},
"season": {
"games": 3,
"totals": {
"IP": 12.0,
"ER": 6.0,
"R": 6.0,
"H": 12.0,
"BB": 2.0,
"SO": 13.0,
"HR": 1.0,
"BF": 51.0,
"Pitches": 186.0
},
"per_game": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 0.6667,
"SO": 4.3333,
"HR": 0.3333,
"BF": 17.0,
"Pitches": 62.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.1667,
"ER_per_IP": 0.5,
"H_per_IP": 1.0,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.08333,
"HR_per_IP": 0.08333
}
}
},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.202,
"predicted_H": 4.321,
"predicted_BB": 1.263,
"predicted_SO": 4.426,
"predicted_HR": 0.544,
"predicted_ERA": 4.4867,
"predicted_WHIP": 1.2643
}
}{
"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.1,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.202,
"final": 3.3061,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.321,
"final": 5.352,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.263,
"final": 1.7156,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.426,
"final": 4.7785,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.544,
"final": 0.824,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4867,
"final": 4.4867,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2643,
"final": 1.2643,
"source": "form_only"
}
}
}{
"available": false,
"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.5263 |
| ESPN Rank | 31 |
| 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 | 0.9101 |
| Season WHIP | 0.8427 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"opponent": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"edges": {
"quality_edge": 0.099,
"offense_edge": -0.0205,
"opponent_offense_edge": 0.104,
"defense_strength": 0.0259,
"opponent_defense_weakness": 0.0722,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0091,
"strikeout": 0.9947
},
"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": 39.5,
"bb_percent": 5.3,
"woba": 0.229,
"xwoba": 0.233,
"sweet_spot_percent": 25.4,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 49.2,
"avg_best_speed": 82.9029,
"avg_hyper_speed": 95.0948,
"whiff_percent": 40.4,
"swing_percent": 51.5
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.1688,
"command_and_miss": 2.0246,
"regression_edge": -0.1143,
"xwoba_edge": 2.2714,
"barrel_edge": 0.5778,
"hard_hit_edge": -1.5571,
"whiff_edge": 2.1286,
"bb_edge": 0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "661395",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5263,
"sample_weight": 0.45,
"run_prevention_factor": 0.9553,
"strikeout_factor": 1.0819,
"walk_factor": 0.9658,
"homer_factor": 0.9766,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661395",
"espn_id": 41109,
"player_name": "Jhoan Duran",
"team": "PHI",
"role": "pitcher",
"espn_rank": 31,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 31,
"gp_value": 31.0,
"gp_rank": 107,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 1.5168,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 21.0,
"sv_rank": 2,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 29.2,
"ip_rank": 318,
"h_value": 22.0,
"h_rank": 351,
"er_value": 5.0,
"er_rank": 524,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 6.0,
"bb_rank": 464,
"k_value": 45.0,
"k_rank": 169,
"k_per_9_value": 13.651685,
"k_per_9_rank": 14,
"whip_value": 0.9438,
"whip_rank": null,
"war_value": 2.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9799,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9799,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9846,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9895,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0369,
"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.0,
"ER": 0,
"H": 7,
"BB": 1,
"SO": 12,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.8888888888888888,
"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-07-01T00: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": 5.881,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5405,
"prior_weight": 0.4595
},
"role": "pitcher",
"player_id": "661395",
"report_date": "20260702_P",
"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": 3.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.2,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 7.0,
"BB": 1.0,
"SO": 14.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.7,
"BB": 0.1,
"SO": 1.4,
"HR": 0.0,
"BF": 3.7,
"Pitches": 14.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.7,
"BB_per_IP": 0.1,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"season": {
"games": 30,
"totals": {
"IP": 29.2,
"ER": 3.0,
"R": 4.0,
"H": 19.0,
"BB": 6.0,
"SO": 45.0,
"HR": 1.0,
"BF": 111.0,
"Pitches": 458.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1333,
"H": 0.6333,
"BB": 0.2,
"SO": 1.5,
"HR": 0.0333,
"BF": 3.7,
"Pitches": 15.2667
},
"rates": {
"ERA": 0.9101,
"WHIP": 0.8427,
"ER_per_IP": 0.10112,
"H_per_IP": 0.64045,
"BB_per_IP": 0.20225,
"SO_per_IP": 1.51685,
"HR_per_IP": 0.03371
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.24,
"predicted_H": 0.791,
"predicted_BB": 0.254,
"predicted_SO": 1.256,
"predicted_HR": 0.071,
"predicted_ERA": 2.1563,
"predicted_WHIP": 1.0449
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5441,
"form_weight": 0.4559,
"form_reliability": 0.5405,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.881,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5405,
"prior_weight": 0.4595
},
"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.1094,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.791,
"final": 0.3606,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.254,
"final": 0.1158,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.256,
"final": 1.1167,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.071,
"final": 0.0324,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1563,
"final": 2.1563,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0449,
"final": 1.0449,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | José Alvarado |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2318 |
| ESPN Rank | 583 |
| 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 | 2 |
| Season ERA | 5.7000 |
| Season WHIP | 1.6333 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"opponent": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"edges": {
"quality_edge": 0.099,
"offense_edge": -0.0205,
"opponent_offense_edge": 0.104,
"defense_strength": 0.0259,
"opponent_defense_weakness": 0.0722,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0091,
"strikeout": 0.9947
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621237",
"profile": {
"available": true,
"pitcher_id": "621237",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 85.0,
"k_percent": 28.5,
"bb_percent": 7.6,
"woba": 0.366,
"xwoba": 0.295,
"sweet_spot_percent": 37.2,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 29.1,
"avg_best_speed": 76.1994,
"avg_hyper_speed": 93.0868,
"whiff_percent": 30.1,
"swing_percent": 48.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.2436,
"command_and_miss": 0.6875,
"regression_edge": 2.0,
"xwoba_edge": 0.5,
"barrel_edge": 0.8667,
"hard_hit_edge": 1.3143,
"whiff_edge": 0.6571,
"bb_edge": 0.375,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "621237",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2318,
"sample_weight": 0.45,
"run_prevention_factor": 0.9803,
"strikeout_factor": 1.0271,
"walk_factor": 0.9865,
"homer_factor": 0.9384,
"woba_minus_xwoba": 0.071,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "621237",
"espn_id": 36063,
"player_name": "Jose Alvarado",
"team": "PHI",
"role": "pitcher",
"espn_rank": 583,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 583,
"gp_value": 36.0,
"gp_rank": 44,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.7,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 9.0,
"hld_rank": 46,
"ip_value": 30.0,
"ip_rank": 314,
"h_value": 38.0,
"h_rank": 183,
"er_value": 19.0,
"er_rank": 190,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 41.0,
"k_rank": 190,
"k_per_9_value": 12.3,
"k_per_9_rank": 16,
"whip_value": 1.6333,
"whip_rank": null,
"war_value": -0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9911,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9939,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9723,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0122,
"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": 7,
"H": 11,
"BB": 3,
"SO": 15,
"HR": 2,
"ERA": 6.517241379310345,
"WHIP": 1.4482758620689655,
"K9": 13.965517241379311,
"HR9": 1.8620689655172415,
"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-28T00:00:00"
}{
"available": false,
"pitcher_id": "621237",
"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.947,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5433,
"prior_weight": 0.4567
},
"role": "pitcher",
"player_id": "621237",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.4,
"SO": 1.6,
"HR": 0.0,
"BF": 4.8,
"Pitches": 22.6
},
"rates": {
"ERA": 5.4,
"WHIP": 1.6,
"ER_per_IP": 0.6,
"H_per_IP": 1.2,
"BB_per_IP": 0.4,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 7.0,
"R": 7.0,
"H": 11.0,
"BB": 3.0,
"SO": 15.0,
"HR": 2.0,
"BF": 45.0,
"Pitches": 212.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 1.1,
"BB": 0.3,
"SO": 1.5,
"HR": 0.2,
"BF": 4.5,
"Pitches": 21.2
},
"rates": {
"ERA": 6.5172,
"WHIP": 1.4483,
"ER_per_IP": 0.72414,
"H_per_IP": 1.13793,
"BB_per_IP": 0.31034,
"SO_per_IP": 1.55172,
"HR_per_IP": 0.2069
}
},
"season": {
"games": 36,
"totals": {
"IP": 30.0,
"ER": 19.0,
"R": 20.0,
"H": 38.0,
"BB": 11.0,
"SO": 41.0,
"HR": 3.0,
"BF": 144.0,
"Pitches": 613.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5278,
"R": 0.5556,
"H": 1.0556,
"BB": 0.3056,
"SO": 1.1389,
"HR": 0.0833,
"BF": 4.0,
"Pitches": 17.0278
},
"rates": {
"ERA": 5.7,
"WHIP": 1.6333,
"ER_per_IP": 0.63333,
"H_per_IP": 1.26667,
"BB_per_IP": 0.36667,
"SO_per_IP": 1.36667,
"HR_per_IP": 0.1
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.559,
"predicted_H": 1.049,
"predicted_BB": 0.347,
"predicted_SO": 1.224,
"predicted_HR": 0.113,
"predicted_ERA": 5.2243,
"predicted_WHIP": 1.4482
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.543,
"form_weight": 0.457,
"form_reliability": 0.5433,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.947,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5433,
"prior_weight": 0.4567
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.559,
"final": 0.2555,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.049,
"final": 0.4794,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.347,
"final": 0.1586,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.224,
"final": 1.6453,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.113,
"final": 0.0516,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2243,
"final": 5.2243,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4482,
"final": 1.4482,
"source": "form_only"
}
}
}{
"available": false,
"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.3132 |
| ESPN Rank | 81 |
| 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.6214 |
| Season WHIP | 1.1650 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"opponent": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"edges": {
"quality_edge": 0.099,
"offense_edge": -0.0205,
"opponent_offense_edge": 0.104,
"defense_strength": 0.0259,
"opponent_defense_weakness": 0.0722,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0091,
"strikeout": 0.9947
},
"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": 11.6,
"woba": 0.281,
"xwoba": 0.268,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 24.7,
"avg_best_speed": 72.0262,
"avg_hyper_speed": 92.064,
"whiff_percent": 27.7,
"swing_percent": 42.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.0835,
"command_and_miss": 0.2004,
"regression_edge": 0.3714,
"xwoba_edge": 1.2714,
"barrel_edge": 0.1556,
"hard_hit_edge": 1.9429,
"whiff_edge": 0.3143,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "689147",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3132,
"sample_weight": 0.45,
"run_prevention_factor": 0.9734,
"strikeout_factor": 1.0143,
"walk_factor": 1.0225,
"homer_factor": 0.9423,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "689147",
"espn_id": 4630789,
"player_name": "Orion Kerkering",
"team": "PHI",
"role": "pitcher",
"espn_rank": 81,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 81,
"gp_value": 36.0,
"gp_rank": 44,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.6213,
"era_rank": null,
"w_value": 6.0,
"w_rank": 41,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 7.0,
"hld_rank": 67,
"ip_value": 34.1,
"ip_rank": 256,
"h_value": 23.0,
"h_rank": 337,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 17.0,
"bb_rank": 201,
"k_value": 38.0,
"k_rank": 212,
"k_per_9_value": 9.961165,
"k_per_9_rank": 22,
"whip_value": 1.165,
"whip_rank": null,
"war_value": 1.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.988,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.988,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0101,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.974,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0064,
"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": 5,
"BB": 7,
"SO": 13,
"HR": 1,
"ERA": 3.272727272727272,
"WHIP": 1.0909090909090908,
"K9": 10.636363636363635,
"HR9": 0.818181818181818,
"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-07-01T00: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": 6.806,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5765,
"prior_weight": 0.4235
},
"role": "pitcher",
"player_id": "689147",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 3.0,
"R": 3.0,
"H": 3.0,
"BB": 4.0,
"SO": 6.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.6,
"BB": 0.8,
"SO": 1.2,
"HR": 0.2,
"BF": 5.0,
"Pitches": 17.2
},
"rates": {
"ERA": 4.7647,
"WHIP": 1.2353,
"ER_per_IP": 0.52941,
"H_per_IP": 0.52941,
"BB_per_IP": 0.70588,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 4.0,
"R": 4.0,
"H": 5.0,
"BB": 7.0,
"SO": 13.0,
"HR": 1.0,
"BF": 47.0,
"Pitches": 189.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.5,
"BB": 0.7,
"SO": 1.3,
"HR": 0.1,
"BF": 4.7,
"Pitches": 18.9
},
"rates": {
"ERA": 3.2727,
"WHIP": 1.0909,
"ER_per_IP": 0.36364,
"H_per_IP": 0.45455,
"BB_per_IP": 0.63636,
"SO_per_IP": 1.18182,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 36,
"totals": {
"IP": 34.1,
"ER": 10.0,
"R": 11.0,
"H": 23.0,
"BB": 17.0,
"SO": 38.0,
"HR": 3.0,
"BF": 147.0,
"Pitches": 592.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2778,
"R": 0.3056,
"H": 0.6389,
"BB": 0.4722,
"SO": 1.0556,
"HR": 0.0833,
"BF": 4.0833,
"Pitches": 16.4444
},
"rates": {
"ERA": 2.6214,
"WHIP": 1.165,
"ER_per_IP": 0.29126,
"H_per_IP": 0.6699,
"BB_per_IP": 0.49515,
"SO_per_IP": 1.1068,
"HR_per_IP": 0.08738
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.455,
"predicted_H": 0.715,
"predicted_BB": 0.52,
"predicted_SO": 1.044,
"predicted_HR": 0.136,
"predicted_ERA": 4.0954,
"predicted_WHIP": 1.2351
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5289,
"form_weight": 0.4711,
"form_reliability": 0.5765,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.806,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5765,
"prior_weight": 0.4235
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.455,
"final": 0.2143,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.715,
"final": 0.3368,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.52,
"final": 0.245,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.044,
"final": 1.0207,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.136,
"final": 0.0641,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0954,
"final": 4.0954,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2351,
"final": 1.2351,
"source": "form_only"
}
}
}{
"available": false,
"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 Bowlan |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3745 |
| ESPN Rank | 241 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.5526 |
| Season WHIP | 1.1447 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"opponent": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"edges": {
"quality_edge": 0.099,
"offense_edge": -0.0205,
"opponent_offense_edge": 0.104,
"defense_strength": 0.0259,
"opponent_defense_weakness": 0.0722,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0091,
"strikeout": 0.9947
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680742",
"profile": {
"available": true,
"pitcher_id": "680742",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 71.0,
"k_percent": 28.6,
"bb_percent": 5.7,
"woba": 0.275,
"xwoba": 0.26,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 35.3,
"avg_best_speed": 76.9414,
"avg_hyper_speed": 93.013,
"whiff_percent": 33.2,
"swing_percent": 48.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.9714,
"command_and_miss": 0.9439,
"regression_edge": 0.4286,
"xwoba_edge": 1.5,
"barrel_edge": 0.6667,
"hard_hit_edge": 0.4286,
"whiff_edge": 1.1,
"bb_edge": 0.85,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "680742",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3745,
"sample_weight": 0.45,
"run_prevention_factor": 0.9682,
"strikeout_factor": 1.0354,
"walk_factor": 0.9694,
"homer_factor": 0.948,
"woba_minus_xwoba": 0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680742",
"espn_id": 41344,
"player_name": "Jonathan Bowlan",
"team": "PHI",
"role": "pitcher",
"espn_rank": 241,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 241,
"gp_value": 27.0,
"gp_rank": 145,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.5526,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 2.0,
"hld_rank": 172,
"ip_value": 25.1,
"ip_rank": 356,
"h_value": 23.0,
"h_rank": 337,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 6.0,
"bb_rank": 464,
"k_value": 30.0,
"k_rank": 298,
"k_per_9_value": 10.657895,
"k_per_9_rank": 22,
"whip_value": 1.1447,
"whip_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9857,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9857,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9862,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9766,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0159,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 1,
"H": 7,
"BB": 2,
"SO": 14,
"HR": 1,
"ERA": 1.125,
"WHIP": 1.125,
"K9": 15.75,
"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-30T00:00:00"
}{
"available": false,
"pitcher_id": "680742",
"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.022,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5011,
"prior_weight": 0.4989
},
"role": "pitcher",
"player_id": "680742",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 2.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 14.0,
"Pitches": 57.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 2.8,
"Pitches": 11.4
},
"rates": {
"ERA": 3.375,
"WHIP": 1.875,
"ER_per_IP": 0.375,
"H_per_IP": 1.125,
"BB_per_IP": 0.75,
"SO_per_IP": 2.625,
"HR_per_IP": 0.375
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 1.0,
"R": 2.0,
"H": 7.0,
"BB": 2.0,
"SO": 14.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 132.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1,
"R": 0.2,
"H": 0.7,
"BB": 0.2,
"SO": 1.4,
"HR": 0.1,
"BF": 3.4,
"Pitches": 13.2
},
"rates": {
"ERA": 1.125,
"WHIP": 1.125,
"ER_per_IP": 0.125,
"H_per_IP": 0.875,
"BB_per_IP": 0.25,
"SO_per_IP": 1.75,
"HR_per_IP": 0.125
}
},
"season": {
"games": 27,
"totals": {
"IP": 25.1,
"ER": 10.0,
"R": 12.0,
"H": 23.0,
"BB": 6.0,
"SO": 30.0,
"HR": 2.0,
"BF": 105.0,
"Pitches": 428.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3704,
"R": 0.4444,
"H": 0.8519,
"BB": 0.2222,
"SO": 1.1111,
"HR": 0.0741,
"BF": 3.8889,
"Pitches": 15.8519
},
"rates": {
"ERA": 3.5526,
"WHIP": 1.1447,
"ER_per_IP": 0.39474,
"H_per_IP": 0.90789,
"BB_per_IP": 0.23684,
"SO_per_IP": 1.18421,
"HR_per_IP": 0.07895
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.276,
"predicted_H": 0.686,
"predicted_BB": 0.291,
"predicted_SO": 1.045,
"predicted_HR": 0.131,
"predicted_ERA": 3.5488,
"predicted_WHIP": 1.3948
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5608,
"form_weight": 0.4392,
"form_reliability": 0.5011,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.022,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5011,
"prior_weight": 0.4989
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.276,
"final": 0.1212,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.686,
"final": 0.3013,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.291,
"final": 0.1278,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.045,
"final": 1.0198,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.131,
"final": 0.0575,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5488,
"final": 3.5488,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3948,
"final": 1.3948,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tim Mayza |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1538 |
| ESPN Rank | 108 |
| 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 | 2 |
| Season ERA | 2.7931 |
| Season WHIP | 0.9828 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 94,
"wins": 50,
"losses": 44,
"win_pct": 0.5319,
"runs_scored": 417.0,
"runs_allowed": 415.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0213,
"avg_runs_scored": 4.4362,
"avg_runs_allowed": 4.4149,
"offense_index": 0.9795,
"defense_index": 1.0259,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.4,
"avg_runs_allowed": 5.0,
"run_differential": 14.0
},
"available": true,
"quality_score": 0.0997
},
"opponent": {
"team": "PIT",
"games": 93,
"wins": 45,
"losses": 48,
"win_pct": 0.4839,
"runs_scored": 465.0,
"runs_allowed": 454.0,
"run_differential": 11.0,
"run_differential_per_game": 0.1183,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.8817,
"offense_index": 1.104,
"defense_index": 0.9278,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 5.5,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.0007
},
"edges": {
"quality_edge": 0.099,
"offense_edge": -0.0205,
"opponent_offense_edge": 0.104,
"defense_strength": 0.0259,
"opponent_defense_weakness": 0.0722,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0091,
"strikeout": 0.9947
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641835",
"profile": {
"available": true,
"pitcher_id": "641835",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 94.0,
"k_percent": 24.8,
"bb_percent": 5.2,
"woba": 0.26,
"xwoba": 0.28,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 42.5,
"avg_best_speed": 77.0853,
"avg_hyper_speed": 94.4753,
"whiff_percent": 22.6,
"swing_percent": 45.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.6221,
"command_and_miss": 0.1946,
"regression_edge": -0.5714,
"xwoba_edge": 0.9286,
"barrel_edge": 0.1778,
"hard_hit_edge": -0.6,
"whiff_edge": -0.4143,
"bb_edge": 0.975,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641835",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1538,
"sample_weight": 0.45,
"run_prevention_factor": 0.9869,
"strikeout_factor": 0.9983,
"walk_factor": 0.9649,
"homer_factor": 0.9919,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641835",
"espn_id": 35773,
"player_name": "Tim Mayza",
"team": "PHI",
"role": "pitcher",
"espn_rank": 108,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 108,
"gp_value": 33.0,
"gp_rank": 84,
"gs_value": 3.0,
"gs_rank": 202,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.7931,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 38.2,
"ip_rank": 210,
"h_value": 30.0,
"h_rank": 256,
"er_value": 12.0,
"er_rank": 319,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 8.0,
"bb_rank": 407,
"k_value": 38.0,
"k_rank": 212,
"k_per_9_value": 8.844828,
"k_per_9_rank": 27,
"whip_value": 0.9827,
"whip_rank": null,
"war_value": 1.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9842,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9992,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.1,
"ER": 1,
"H": 10,
"BB": 1,
"SO": 12,
"HR": 0,
"ERA": 0.7941176470588236,
"WHIP": 0.9705882352941178,
"K9": 9.529411764705884,
"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-29T00:00:00"
}{
"available": false,
"pitcher_id": "641835",
"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.665,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6052,
"prior_weight": 0.3948
},
"role": "pitcher",
"player_id": "641835",
"report_date": "20260702_P",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 29.0,
"Pitches": 128.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 5.8,
"Pitches": 25.6
},
"rates": {
"ERA": 1.2273,
"WHIP": 0.8182,
"ER_per_IP": 0.13636,
"H_per_IP": 0.68182,
"BB_per_IP": 0.13636,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 1.0,
"R": 1.0,
"H": 10.0,
"BB": 1.0,
"SO": 12.0,
"HR": 0.0,
"BF": 44.0,
"Pitches": 197.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 1.0,
"BB": 0.1,
"SO": 1.2,
"HR": 0.0,
"BF": 4.4,
"Pitches": 19.7
},
"rates": {
"ERA": 0.7941,
"WHIP": 0.9706,
"ER_per_IP": 0.08824,
"H_per_IP": 0.88235,
"BB_per_IP": 0.08824,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"season": {
"games": 33,
"totals": {
"IP": 38.2,
"ER": 12.0,
"R": 13.0,
"H": 30.0,
"BB": 8.0,
"SO": 38.0,
"HR": 4.0,
"BF": 153.0,
"Pitches": 609.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3636,
"R": 0.3939,
"H": 0.9091,
"BB": 0.2424,
"SO": 1.1515,
"HR": 0.1212,
"BF": 4.6364,
"Pitches": 18.4545
},
"rates": {
"ERA": 2.7931,
"WHIP": 0.9828,
"ER_per_IP": 0.31034,
"H_per_IP": 0.77586,
"BB_per_IP": 0.2069,
"SO_per_IP": 0.98276,
"HR_per_IP": 0.10345
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.29,
"predicted_H": 0.847,
"predicted_BB": 0.222,
"predicted_SO": 1.016,
"predicted_HR": 0.07,
"predicted_ERA": 2.6087,
"predicted_WHIP": 1.0696
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5168,
"form_weight": 0.4832,
"form_reliability": 0.6052,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.665,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6052,
"prior_weight": 0.3948
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.29,
"final": 0.1401,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.847,
"final": 0.9261,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.222,
"final": 0.1073,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.016,
"final": 1.5245,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0338,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6087,
"final": 2.6087,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0696,
"final": 1.0696,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.187 | 1.000 | -0.187 | -1.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.730 | 4.000 | 4.000 | Hitting_AB | 3.611 | 4.000 | 0.389 | 0.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.278 | 0.250 | -0.278 | -0.250 |
| predicted_BB | 0.624 | 0.000 | 1.000 | Hitting_BB | 0.656 | 1.000 | -0.656 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 1.004 | 1.000 | -1.004 | -1.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_OBP | 0.348 | 0.000 | 0.400 | Hitting_OBP | 0.385 | 0.400 | -0.385 | -0.400 |
| predicted_R | 0.659 | 0.000 | 1.000 | Hitting_R | 0.649 | 0.000 | -0.649 | 0.000 |
| predicted_RBI | 0.780 | 0.000 | 1.000 | Hitting_RBI | 0.649 | 2.000 | -0.649 | -2.000 |
| predicted_SLG | 0.582 | 0.000 | 0.250 | Hitting_SLG | 0.543 | 0.500 | -0.543 | -0.500 |
| predicted_SO | 0.835 | 0.000 | 1.000 | Hitting_SO | 0.779 | 3.000 | -0.779 | -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.7300 -> 4.0000 (boost 0.2700, better) |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 3 | 2 | predicted_SO: 0.8350 -> 0.8991 (boost 0.0641, worse) | predicted_SLG: 0.5820 -> 0.5700 (deboost -0.0120, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3575 -> 0.3718 (boost 0.0143, better) | predicted_SLG: 0.5700 -> 0.5239 (deboost -0.0461, 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.6031 -> 1.0000 (boost 0.3969, better) | predicted_HR: 0.2433 -> 0.0000 (deboost -0.2433, worse) | AB rounded to 4 (raw=3.73), rates preserved: AVG=0.268 HR/AB=0.065 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6372 -> 1.0000 (boost 0.3628, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3718 -> 0.4000 (boost 0.0282, better) | predicted_SLG: 0.5239 -> 0.2500 (deboost -0.2739, 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_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.5239 (boost 0.2739, better) | predicted_OBP: 0.4000 -> 0.3718 (deboost -0.0282, 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.176,
"predicted_3B": 0.024,
"predicted_AB": 3.73,
"predicted_AVG": 0.256,
"predicted_BB": 0.624,
"predicted_H": 0.95,
"predicted_HR": 0.22,
"predicted_OBP": 0.348,
"predicted_R": 0.659,
"predicted_RBI": 0.78,
"predicted_SLG": 0.582,
"predicted_SO": 0.835
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0202,
"predicted_AB": 3.7095,
"predicted_AVG": 0.2669,
"predicted_BB": 0.6018,
"predicted_H": 0.9868,
"predicted_HBP": 0.002,
"predicted_HR": 0.241,
"predicted_OBP": 0.3575,
"predicted_R": 0.6227,
"predicted_RBI": 0.8356,
"predicted_SLG": 0.57,
"predicted_SO": 0.8991
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1726,
"delta": -0.0034,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0202,
"delta": -0.0038,
"percent_delta": -0.1583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.73,
"after": 3.7095,
"delta": -0.0205,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2669,
"delta": 0.0109,
"percent_delta": 0.0426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.624,
"after": 0.6018,
"delta": -0.0222,
"percent_delta": -0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9868,
"delta": 0.0368,
"percent_delta": 0.0387,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.241,
"delta": 0.021,
"percent_delta": 0.0955,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3575,
"delta": 0.0095,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.659,
"after": 0.6227,
"delta": -0.0363,
"percent_delta": -0.0551,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.8356,
"delta": 0.0556,
"percent_delta": 0.0713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.582,
"after": 0.57,
"delta": -0.012,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.835,
"after": 0.8991,
"delta": 0.0641,
"percent_delta": 0.0768,
"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.835,
"after": 0.8991,
"delta": 0.0641,
"percent_delta": 0.0768,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.582,
"after": 0.57,
"delta": -0.012,
"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": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1726,
"predicted_3B": 0.0202,
"predicted_AB": 3.7095,
"predicted_AVG": 0.2697,
"predicted_BB": 0.6031,
"predicted_H": 1.0003,
"predicted_HBP": 0.002,
"predicted_HR": 0.2433,
"predicted_OBP": 0.3718,
"predicted_R": 0.6372,
"predicted_RBI": 0.8551,
"predicted_SLG": 0.5239,
"predicted_SO": 0.8972
},
"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.0202,
"after": 0.0202,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7095,
"after": 3.7095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2669,
"after": 0.2697,
"delta": 0.0028,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6018,
"after": 0.6031,
"delta": 0.0013,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9868,
"after": 1.0003,
"delta": 0.0135,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.241,
"after": 0.2433,
"delta": 0.0023,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3575,
"after": 0.3718,
"delta": 0.0143,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6227,
"after": 0.6372,
"delta": 0.0145,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8356,
"after": 0.8551,
"delta": 0.0195,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.5239,
"delta": -0.0461,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8991,
"after": 0.8972,
"delta": -0.0019,
"percent_delta": -0.0021,
"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.3575,
"after": 0.3718,
"delta": 0.0143,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.5239,
"delta": -0.0461,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.268 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.1726,
"after": 0.0,
"delta": -0.1726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0202,
"after": 0.0,
"delta": -0.0202,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7095,
"after": 4.0,
"delta": 0.2905,
"percent_delta": 0.0783,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6031,
"after": 1.0,
"delta": 0.3969,
"percent_delta": 0.6581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0003,
"after": 1.0,
"delta": -0.0003,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2433,
"after": 0.0,
"delta": -0.2433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8551,
"after": 1.0,
"delta": 0.1449,
"percent_delta": 0.1695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8972,
"after": 1.0,
"delta": 0.1028,
"percent_delta": 0.1146,
"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.6031,
"after": 1.0,
"delta": 0.3969,
"percent_delta": 0.6581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2433,
"after": 0.0,
"delta": -0.2433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6372,
"after": 1.0,
"delta": 0.3628,
"percent_delta": 0.5694,
"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.6372,
"after": 1.0,
"delta": 0.3628,
"percent_delta": 0.5694,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2697,
"after": 0.25,
"delta": -0.0197,
"percent_delta": -0.073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3718,
"after": 0.4,
"delta": 0.0282,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5239,
"after": 0.25,
"delta": -0.2739,
"percent_delta": -0.5228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3718,
"after": 0.4,
"delta": 0.0282,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5239,
"after": 0.25,
"delta": -0.2739,
"percent_delta": -0.5228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 8,
"step": "current_json_final",
"description": "Final 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_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3718,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5239,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2697,
"delta": 0.0197,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3718,
"delta": -0.0282,
"percent_delta": -0.0705,
"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.5239,
"delta": 0.2739,
"percent_delta": 1.0955,
"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.5239,
"delta": 0.2739,
"percent_delta": 1.0955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3718,
"delta": -0.0282,
"percent_delta": -0.0705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.73,
"after": 4.0,
"delta": 0.27,
"percent_delta": 0.0724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2697,
"delta": 0.0137,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.624,
"after": 0.0,
"delta": -0.624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3718,
"delta": 0.0238,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.659,
"after": 0.0,
"delta": -0.659,
"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.582,
"after": 0.5239,
"delta": -0.0581,
"percent_delta": -0.0998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.835,
"after": 0.0,
"delta": -0.835,
"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.73,
"after": 4.0,
"delta": 0.27,
"percent_delta": 0.0724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.730 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.624 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 0.659 | - |
| predicted_RBI | 0.780 | - |
| predicted_SLG | 0.582 | - |
| predicted_SO | 0.835 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.709 | -0.021 |
| predicted_AVG | 0.267 | 0.011 |
| predicted_BB | 0.602 | -0.022 |
| predicted_H | 0.987 | 0.037 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.241 | 0.021 |
| predicted_OBP | 0.357 | 0.010 |
| predicted_R | 0.623 | -0.036 |
| predicted_RBI | 0.836 | 0.056 |
| predicted_SLG | 0.570 | -0.012 |
| predicted_SO | 0.899 | 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.173 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.709 | 0.000 |
| predicted_AVG | 0.270 | 0.003 |
| predicted_BB | 0.603 | 0.001 |
| predicted_H | 1.000 | 0.013 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.243 | 0.002 |
| predicted_OBP | 0.372 | 0.014 |
| predicted_R | 0.637 | 0.014 |
| predicted_RBI | 0.855 | 0.019 |
| predicted_SLG | 0.524 | -0.046 |
| predicted_SO | 0.897 | -0.002 |
AB rounded to 4 (raw=3.73), rates preserved: AVG=0.268 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 | - |
Enforced H<=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.173 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.291 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 1.000 | 0.397 |
| predicted_H | 1.000 | -0.000 |
| predicted_HR | 0.000 | -0.243 |
| predicted_OBP | 0.400 | 0.028 |
| predicted_R | 1.000 | 0.363 |
| predicted_RBI | 1.000 | 0.145 |
| predicted_SLG | 0.250 | -0.274 |
| predicted_SO | 1.000 | 0.103 |
Attached 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 | 5.000 | 1.000 | 0.000 | 2.000 | 8.000 | 2.000 | 3.000 | 7.000 | 0.2632 | 0.3478 | 0.6316 | 0.2632 | 0.1053 | 0.4210 | 0.1579 | 0.3684 |
| last_10 | 0.20 | 10 | - | 39.000 | 13.000 | 1.000 | 0.000 | 3.000 | 12.000 | 5.000 | 5.000 | 11.000 | 0.3333 | 0.4000 | 0.5897 | 0.3333 | 0.0769 | 0.3077 | 0.1282 | 0.2821 |
| season | 0.60 | 85 | - | 302.000 | 83.000 | 15.000 | 2.000 | 20.000 | 56.000 | 56.000 | 53.000 | 71.000 | 0.2748 | 0.3767 | 0.5364 | 0.2748 | 0.0662 | 0.1854 | 0.1755 | 0.2351 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.6820 |
| predicted_AVG | 0.2814 |
| predicted_BB | 0.5720 |
| predicted_H | 1.0360 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.2690 |
| predicted_OBP | 0.3702 |
| predicted_R | 0.5740 |
| predicted_RBI | 0.9100 |
| predicted_SLG | 0.5540 |
| predicted_SO | 0.9850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1680 | 0.1726 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0202 | model_form_blend |
| predicted_AB | 3.7300 | 3.6820 | 3.7095 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2814 | 0.2669 | model_form_blend |
| predicted_BB | 0.6240 | 0.5720 | 0.6018 | model_form_blend |
| predicted_H | 0.9500 | 1.0360 | 0.9868 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.2200 | 0.2690 | 0.2410 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3702 | 0.3575 | model_form_blend |
| predicted_R | 0.6590 | 0.5740 | 0.6227 | model_form_blend |
| predicted_RBI | 0.7800 | 0.9100 | 0.8356 | model_form_blend |
| predicted_SLG | 0.5820 | 0.5540 | 0.5700 | model_form_blend |
| predicted_SO | 0.8350 | 0.9850 | 0.8991 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 262 |
| Season rows before report date | 262 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 547180 |
| playerID | 547180 |
| playerName | Bryce Harper |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 14.5 |
| sl_woba | 0.388 |
| sl_xwoba | 0.409 |
| sl_xba | 0.293 |
| sl_xslg | 0.554 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 12.4 |
| sl_hard_hit_percent | 47.3 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 30.5 |
| 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.173 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 3.850 | 4.000 | 4.000 | Hitting_AB | 3.771 | 4.000 | 0.229 | 0.000 |
| predicted_AVG | 0.268 | 0.250 | 0.250 | Hitting_AVG | 0.334 | 0.500 | -0.084 | -0.250 |
| predicted_BB | 0.185 | 0.000 | 0.000 | Hitting_BB | 0.202 | 1.000 | -0.202 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 1.260 | 2.000 | -0.260 | -1.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.148 | 1.000 | -0.148 | -1.000 |
| predicted_OBP | 0.337 | 0.250 | 0.250 | Hitting_OBP | 0.366 | 0.600 | -0.116 | -0.350 |
| predicted_R | 0.617 | 0.000 | 1.000 | Hitting_R | 0.646 | 2.000 | -0.646 | -2.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.596 | 1.000 | -0.596 | -1.000 |
| predicted_SLG | 0.607 | 0.250 | 0.250 | Hitting_SLG | 0.523 | 1.250 | -0.273 | -1.000 |
| predicted_SO | 1.012 | 0.000 | 1.000 | Hitting_SO | 0.848 | 1.000 | -0.848 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.8500 -> 4.0000 (boost 0.1500, better) |
| Biggest Deboost | predicted_SO: 1.0120 -> 0.0000 (deboost -1.0120, 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 | 4 | 1 | predicted_H: 1.0300 -> 1.1341 (boost 0.1041, better) | - | Final model input calibrated with local 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.6126 -> 0.5604 (deboost -0.0522, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_RBI: 0.6737 -> 1.0000 (boost 0.3263, better) | predicted_HR: 0.2704 -> 0.0000 (deboost -0.2704, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.295 HR/AB=0.069 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6696 -> 1.0000 (boost 0.3304, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5604 -> 0.2500 (deboost -0.3104, 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.5604 (boost 0.3104, 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.173,
"predicted_3B": 0.025,
"predicted_AB": 3.85,
"predicted_AVG": 0.268,
"predicted_BB": 0.185,
"predicted_H": 1.03,
"predicted_HR": 0.23,
"predicted_OBP": 0.337,
"predicted_R": 0.617,
"predicted_RBI": 0.61,
"predicted_SLG": 0.607,
"predicted_SO": 1.012
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1777,
"predicted_3B": 0.0212,
"predicted_AB": 3.8916,
"predicted_AVG": 0.2914,
"predicted_BB": 0.1909,
"predicted_H": 1.1341,
"predicted_HBP": 0.017,
"predicted_HR": 0.2678,
"predicted_OBP": 0.3454,
"predicted_R": 0.6544,
"predicted_RBI": 0.6584,
"predicted_SLG": 0.6126,
"predicted_SO": 1.091
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.1777,
"delta": 0.0047,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0212,
"delta": -0.0038,
"percent_delta": -0.152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 3.8916,
"delta": 0.0416,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2914,
"delta": 0.0234,
"percent_delta": 0.0873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.1909,
"delta": 0.0059,
"percent_delta": 0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.1341,
"delta": 0.1041,
"percent_delta": 0.1011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2678,
"delta": 0.0378,
"percent_delta": 0.1643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3454,
"delta": 0.0084,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 0.6544,
"delta": 0.0374,
"percent_delta": 0.0606,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6584,
"delta": 0.0484,
"percent_delta": 0.0793,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.607,
"after": 0.6126,
"delta": 0.0056,
"percent_delta": 0.0092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 1.091,
"delta": 0.079,
"percent_delta": 0.0781,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.03,
"after": 1.1341,
"delta": 0.1041,
"percent_delta": 0.1011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1777,
"predicted_3B": 0.0212,
"predicted_AB": 3.8916,
"predicted_AVG": 0.2954,
"predicted_BB": 0.1913,
"predicted_H": 1.1496,
"predicted_HBP": 0.017,
"predicted_HR": 0.2704,
"predicted_OBP": 0.3284,
"predicted_R": 0.6696,
"predicted_RBI": 0.6737,
"predicted_SLG": 0.5604,
"predicted_SO": 1.0887
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1777,
"after": 0.1777,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0212,
"after": 0.0212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8916,
"after": 3.8916,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2914,
"after": 0.2954,
"delta": 0.004,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1909,
"after": 0.1913,
"delta": 0.0004,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1341,
"after": 1.1496,
"delta": 0.0155,
"percent_delta": 0.0137,
"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.2678,
"after": 0.2704,
"delta": 0.0026,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3454,
"after": 0.3284,
"delta": -0.017,
"percent_delta": -0.0492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6544,
"after": 0.6696,
"delta": 0.0152,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6584,
"after": 0.6737,
"delta": 0.0153,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6126,
"after": 0.5604,
"delta": -0.0522,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.091,
"after": 1.0887,
"delta": -0.0023,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6126,
"after": 0.5604,
"delta": -0.0522,
"percent_delta": -0.0852,
"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.295 HR/AB=0.069",
"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.1777,
"after": 0.0,
"delta": -0.1777,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0212,
"after": 0.0,
"delta": -0.0212,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8916,
"after": 4.0,
"delta": 0.1084,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1913,
"after": 0.0,
"delta": -0.1913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1496,
"after": 1.0,
"delta": -0.1496,
"percent_delta": -0.1301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2704,
"after": 0.0,
"delta": -0.2704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6737,
"after": 1.0,
"delta": 0.3263,
"percent_delta": 0.4843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0887,
"after": 1.0,
"delta": -0.0887,
"percent_delta": -0.0815,
"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.6737,
"after": 1.0,
"delta": 0.3263,
"percent_delta": 0.4843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2704,
"after": 0.0,
"delta": -0.2704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6696,
"after": 1.0,
"delta": 0.3304,
"percent_delta": 0.4934,
"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.6696,
"after": 1.0,
"delta": 0.3304,
"percent_delta": 0.4934,
"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.2954,
"after": 0.25,
"delta": -0.0454,
"percent_delta": -0.1537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3284,
"after": 0.25,
"delta": -0.0784,
"percent_delta": -0.2387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5604,
"after": 0.25,
"delta": -0.3104,
"percent_delta": -0.5539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5604,
"after": 0.25,
"delta": -0.3104,
"percent_delta": -0.5539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2954,
"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.3284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5604,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2954,
"delta": 0.0454,
"percent_delta": 0.1817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3284,
"delta": 0.0784,
"percent_delta": 0.3137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5604,
"delta": 0.3104,
"percent_delta": 1.2417,
"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.5604,
"delta": 0.3104,
"percent_delta": 1.2417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2954,
"delta": 0.0274,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3284,
"delta": -0.0086,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.617,
"after": 0.0,
"delta": -0.617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.607,
"after": 0.5604,
"delta": -0.0466,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.012,
"after": 0.0,
"delta": -1.012,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.012,
"after": 0.0,
"delta": -1.012,
"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.173 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.185 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.617 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.607 | - |
| predicted_SO | 1.012 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.005 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.892 | 0.042 |
| predicted_AVG | 0.291 | 0.023 |
| predicted_BB | 0.191 | 0.006 |
| predicted_H | 1.134 | 0.104 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.268 | 0.038 |
| predicted_OBP | 0.345 | 0.008 |
| predicted_R | 0.654 | 0.037 |
| predicted_RBI | 0.658 | 0.048 |
| predicted_SLG | 0.613 | 0.006 |
| predicted_SO | 1.091 | 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.178 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.892 | 0.000 |
| predicted_AVG | 0.295 | 0.004 |
| predicted_BB | 0.191 | 0.000 |
| predicted_H | 1.150 | 0.015 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.270 | 0.003 |
| predicted_OBP | 0.328 | -0.017 |
| predicted_R | 0.670 | 0.015 |
| predicted_RBI | 0.674 | 0.015 |
| predicted_SLG | 0.560 | -0.052 |
| predicted_SO | 1.089 | -0.002 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.295 HR/AB=0.069
| 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.178 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.108 |
| predicted_AVG | 0.250 | -0.045 |
| predicted_BB | 0.000 | -0.191 |
| predicted_H | 1.000 | -0.150 |
| predicted_HR | 0.000 | -0.270 |
| predicted_OBP | 0.250 | -0.078 |
| predicted_R | 1.000 | 0.330 |
| predicted_RBI | 1.000 | 0.326 |
| predicted_SLG | 0.250 | -0.310 |
| 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 | 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 | - | 22.000 | 7.000 | 1.000 | 0.000 | 3.000 | 5.000 | 4.000 | 1.000 | 9.000 | 0.3182 | 0.3478 | 0.7727 | 0.3182 | 0.1364 | 0.2273 | 0.0454 | 0.4091 |
| last_10 | 0.20 | 10 | - | 43.000 | 16.000 | 2.000 | 0.000 | 6.000 | 11.000 | 10.000 | 2.000 | 14.000 | 0.3721 | 0.4000 | 0.8372 | 0.3721 | 0.1395 | 0.2558 | 0.0465 | 0.3256 |
| season | 0.60 | 81 | - | 300.000 | 96.000 | 14.000 | 2.000 | 15.000 | 46.000 | 50.000 | 15.000 | 82.000 | 0.3200 | 0.3531 | 0.5300 | 0.3200 | 0.0500 | 0.1533 | 0.0500 | 0.2733 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1840 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.9480 |
| predicted_AVG | 0.3230 |
| predicted_BB | 0.1990 |
| predicted_H | 1.2750 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.3190 |
| predicted_OBP | 0.3567 |
| predicted_R | 0.7050 |
| predicted_RBI | 0.7240 |
| predicted_SLG | 0.6201 |
| predicted_SO | 1.1980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1730 | 0.1840 | 0.1777 | model_form_blend |
| predicted_3B | 0.0250 | 0.0160 | 0.0212 | model_form_blend |
| predicted_AB | 3.8500 | 3.9480 | 3.8916 | model_form_blend |
| predicted_AVG | 0.2680 | 0.3230 | 0.2914 | model_form_blend |
| predicted_BB | 0.1850 | 0.1990 | 0.1909 | model_form_blend |
| predicted_H | 1.0300 | 1.2750 | 1.1341 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.2300 | 0.3190 | 0.2678 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3567 | 0.3454 | model_form_blend |
| predicted_R | 0.6170 | 0.7050 | 0.6544 | model_form_blend |
| predicted_RBI | 0.6100 | 0.7240 | 0.6584 | model_form_blend |
| predicted_SLG | 0.6070 | 0.6201 | 0.6126 | model_form_blend |
| predicted_SO | 1.0120 | 1.1980 | 1.0910 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 223 |
| Season rows before report date | 223 |
| Report year | 2026 |
| Profile rows used | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.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.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 669016 |
| playerID | 669016 |
| playerName | Brandon Marsh |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.378 |
| sl_xwoba | 0.331 |
| sl_xba | 0.28 |
| sl_xslg | 0.457 |
| sl_sweet_spot_percent | 46.8 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 46.4 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 54.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.183 | 0.000 | 0.000 | Hitting_2B | 0.173 | 0.000 | -0.173 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.580 | 5.000 | 5.000 | Hitting_AB | 4.277 | 5.000 | 0.723 | 0.000 |
| predicted_AVG | 0.237 | 0.200 | 0.200 | Hitting_AVG | 0.236 | 0.400 | -0.036 | -0.200 |
| predicted_BB | 0.256 | 0.000 | 0.000 | Hitting_BB | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.090 | 1.000 | 1.000 | Hitting_H | 1.007 | 2.000 | -0.007 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.137 | 1.000 | -0.137 | -1.000 |
| predicted_OBP | 0.301 | 0.200 | 0.200 | Hitting_OBP | 0.282 | 0.400 | -0.082 | -0.200 |
| predicted_R | 0.707 | 1.000 | 1.000 | Hitting_R | 0.701 | 2.000 | 0.299 | -1.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.373 | 3.000 | -0.373 | -3.000 |
| predicted_SLG | 0.511 | 0.200 | 0.200 | Hitting_SLG | 0.372 | 1.000 | -0.172 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 0.993 | 1.000 | 0.007 | 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 | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 4.5800 -> 5.0000 (boost 0.4200, 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 | 4 | 2 | 2 | 2 | 2 | predicted_R: 0.7070 -> 0.7965 (boost 0.0895, better) | predicted_AB: 4.5800 -> 4.4833 (deboost -0.0967, worse) | Final model input calibrated with local 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.4977 -> 0.4394 (deboost -0.0583, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_AB: 4.4833 -> 5.0000 (boost 0.5167, better) | predicted_BB: 0.2415 -> 0.0000 (deboost -0.2415, worse) | AB rounded to 5 (raw=4.58), rates preserved: AVG=0.249 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8151 -> 1.0000 (boost 0.1849, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4394 -> 0.2000 (deboost -0.2394, 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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4394 (boost 0.2394, 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.183,
"predicted_3B": 0.0,
"predicted_AB": 4.58,
"predicted_AVG": 0.237,
"predicted_BB": 0.256,
"predicted_H": 1.09,
"predicted_HR": 0.19,
"predicted_OBP": 0.301,
"predicted_R": 0.707,
"predicted_RBI": 0.59,
"predicted_SLG": 0.511,
"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.1928,
"predicted_3B": 0.0004,
"predicted_AB": 4.4833,
"predicted_AVG": 0.2504,
"predicted_BB": 0.241,
"predicted_H": 1.1234,
"predicted_HBP": 0.01,
"predicted_HR": 0.2105,
"predicted_OBP": 0.3028,
"predicted_R": 0.7965,
"predicted_RBI": 0.6187,
"predicted_SLG": 0.4977,
"predicted_SO": 1.033
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.1928,
"delta": 0.0098,
"percent_delta": 0.0536,
"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.4833,
"delta": -0.0967,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2504,
"delta": 0.0134,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.256,
"after": 0.241,
"delta": -0.015,
"percent_delta": -0.0586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.1234,
"delta": 0.0334,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.2105,
"delta": 0.0205,
"percent_delta": 0.1079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3028,
"delta": 0.0018,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.707,
"after": 0.7965,
"delta": 0.0895,
"percent_delta": 0.1266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6187,
"delta": 0.0287,
"percent_delta": 0.0486,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.4977,
"delta": -0.0133,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.033,
"delta": 0.033,
"percent_delta": 0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.707,
"after": 0.7965,
"delta": 0.0895,
"percent_delta": 0.1266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 4.4833,
"delta": -0.0967,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 82
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1928,
"predicted_3B": 0.0004,
"predicted_AB": 4.4833,
"predicted_AVG": 0.254,
"predicted_BB": 0.2415,
"predicted_H": 1.1388,
"predicted_HBP": 0.01,
"predicted_HR": 0.2125,
"predicted_OBP": 0.2921,
"predicted_R": 0.8151,
"predicted_RBI": 0.6331,
"predicted_SLG": 0.4394,
"predicted_SO": 1.0308
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1928,
"after": 0.1928,
"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.4833,
"after": 4.4833,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2504,
"after": 0.254,
"delta": 0.0036,
"percent_delta": 0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.2415,
"delta": 0.0005,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1234,
"after": 1.1388,
"delta": 0.0154,
"percent_delta": 0.0137,
"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.2105,
"after": 0.2125,
"delta": 0.002,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3028,
"after": 0.2921,
"delta": -0.0107,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7965,
"after": 0.8151,
"delta": 0.0186,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6187,
"after": 0.6331,
"delta": 0.0144,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4977,
"after": 0.4394,
"delta": -0.0583,
"percent_delta": -0.1171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.033,
"after": 1.0308,
"delta": -0.0022,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4977,
"after": 0.4394,
"delta": -0.0583,
"percent_delta": -0.1171,
"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.249 HR/AB=0.046",
"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.1928,
"after": 0.0,
"delta": -0.1928,
"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.4833,
"after": 5.0,
"delta": 0.5167,
"percent_delta": 0.1152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2415,
"after": 0.0,
"delta": -0.2415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1388,
"after": 1.0,
"delta": -0.1388,
"percent_delta": -0.1219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2125,
"after": 0.0,
"delta": -0.2125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6331,
"after": 1.0,
"delta": 0.3669,
"percent_delta": 0.5795,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0308,
"after": 1.0,
"delta": -0.0308,
"percent_delta": -0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.4833,
"after": 5.0,
"delta": 0.5167,
"percent_delta": 0.1152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2415,
"after": 0.0,
"delta": -0.2415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.8151,
"after": 1.0,
"delta": 0.1849,
"percent_delta": 0.2268,
"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.8151,
"after": 1.0,
"delta": 0.1849,
"percent_delta": 0.2268,
"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.254,
"after": 0.2,
"delta": -0.054,
"percent_delta": -0.2126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2921,
"after": 0.2,
"delta": -0.0921,
"percent_delta": -0.3153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4394,
"after": 0.2,
"delta": -0.2394,
"percent_delta": -0.5448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4394,
"after": 0.2,
"delta": -0.2394,
"percent_delta": -0.5448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 8,
"step": "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.254,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2921,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4394,
"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.2,
"after": 0.254,
"delta": 0.054,
"percent_delta": 0.27,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2921,
"delta": 0.0921,
"percent_delta": 0.4607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4394,
"delta": 0.2394,
"percent_delta": 1.1971,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4394,
"delta": 0.2394,
"percent_delta": 1.1971,
"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.58,
"after": 5.0,
"delta": 0.42,
"percent_delta": 0.0917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.254,
"delta": 0.017,
"percent_delta": 0.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.256,
"after": 0.0,
"delta": -0.256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"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.301,
"after": 0.2921,
"delta": -0.0089,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.707,
"after": 1.0,
"delta": 0.293,
"percent_delta": 0.4144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.4394,
"delta": -0.0716,
"percent_delta": -0.1401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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": 3,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 5.0,
"delta": 0.42,
"percent_delta": 0.0917,
"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.183 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.580 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.256 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.707 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.511 | - |
| 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.193 | 0.010 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.483 | -0.097 |
| predicted_AVG | 0.250 | 0.013 |
| predicted_BB | 0.241 | -0.015 |
| predicted_H | 1.123 | 0.033 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.210 | 0.020 |
| predicted_OBP | 0.303 | 0.002 |
| predicted_R | 0.796 | 0.090 |
| predicted_RBI | 0.619 | 0.029 |
| predicted_SLG | 0.498 | -0.013 |
| predicted_SO | 1.033 | 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.193 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.483 | 0.000 |
| predicted_AVG | 0.254 | 0.004 |
| predicted_BB | 0.241 | 0.001 |
| predicted_H | 1.139 | 0.015 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.212 | 0.002 |
| predicted_OBP | 0.292 | -0.011 |
| predicted_R | 0.815 | 0.019 |
| predicted_RBI | 0.633 | 0.014 |
| predicted_SLG | 0.439 | -0.058 |
| predicted_SO | 1.031 | -0.002 |
AB rounded to 5 (raw=4.58), rates preserved: AVG=0.249 HR/AB=0.046
| 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.193 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.517 |
| predicted_AVG | 0.200 | -0.054 |
| predicted_BB | 0.000 | -0.241 |
| predicted_H | 1.000 | -0.139 |
| predicted_HR | 0.000 | -0.212 |
| predicted_OBP | 0.200 | -0.092 |
| predicted_R | 1.000 | 0.185 |
| predicted_RBI | 1.000 | 0.367 |
| predicted_SLG | 0.200 | -0.239 |
| predicted_SO | 1.000 | -0.031 |
Attached 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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 3.000 | 7.000 | 8.000 | 1.000 | 6.000 | 0.3043 | 0.3333 | 0.7391 | 0.3044 | 0.1304 | 0.3044 | 0.0435 | 0.2609 |
| last_10 | 0.20 | 10 | - | 47.000 | 15.000 | 3.000 | 0.000 | 3.000 | 9.000 | 11.000 | 1.000 | 13.000 | 0.3191 | 0.3333 | 0.5745 | 0.3191 | 0.0638 | 0.1915 | 0.0213 | 0.2766 |
| season | 0.60 | 82 | - | 347.000 | 84.000 | 15.000 | 0.000 | 10.000 | 31.000 | 58.000 | 21.000 | 82.000 | 0.2421 | 0.2865 | 0.3718 | 0.2421 | 0.0288 | 0.0893 | 0.0605 | 0.2363 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.3540 |
| predicted_AVG | 0.2683 |
| predicted_BB | 0.2210 |
| predicted_H | 1.1680 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.2380 |
| predicted_OBP | 0.3053 |
| predicted_R | 0.9160 |
| predicted_RBI | 0.6570 |
| predicted_SLG | 0.4800 |
| predicted_SO | 1.0770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.2060 | 0.1928 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5800 | 4.3540 | 4.4833 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2683 | 0.2504 | model_form_blend |
| predicted_BB | 0.2560 | 0.2210 | 0.2410 | model_form_blend |
| predicted_H | 1.0900 | 1.1680 | 1.1234 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1900 | 0.2380 | 0.2105 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3053 | 0.3028 | model_form_blend |
| predicted_R | 0.7070 | 0.9160 | 0.7965 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6570 | 0.6187 | model_form_blend |
| predicted_SLG | 0.5110 | 0.4800 | 0.4977 | model_form_blend |
| predicted_SO | 1.0000 | 1.0770 | 1.0330 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 271 |
| Season rows before report date | 271 |
| Report year | 2026 |
| Profile rows used | 82 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| 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.4 |
| 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 | 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 |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 607208 |
| playerID | 607208 |
| playerName | Trea Turner |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.29 |
| sl_xwoba | 0.286 |
| sl_xba | 0.24 |
| sl_xslg | 0.359 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 39.7 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 10.6 |
| sl_whiff_percent | 27.2 |
| 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.111 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.140 | 3.000 | 4.000 | Hitting_AB | 3.877 | 4.000 | -0.877 | -1.000 |
| predicted_AVG | 0.235 | 0.333 | 0.250 | Hitting_AVG | 0.250 | 0.000 | 0.083 | 0.333 |
| predicted_BB | 0.617 | 1.000 | 1.000 | Hitting_BB | 0.613 | 1.000 | 0.387 | 0.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 | 0.970 | 0.000 | 0.030 | 1.000 |
| predicted_HR | 0.290 | 1.000 | 0.000 | Hitting_HR | 0.394 | 0.000 | 0.606 | 1.000 |
| predicted_OBP | 0.333 | 0.500 | 0.400 | Hitting_OBP | 0.363 | 0.200 | 0.137 | 0.300 |
| predicted_R | 0.667 | 1.000 | 1.000 | Hitting_R | 0.695 | 0.000 | 0.305 | 1.000 |
| predicted_RBI | 0.680 | 3.000 | 1.000 | Hitting_RBI | 0.747 | 0.000 | 2.253 | 3.000 |
| predicted_SLG | 0.570 | 1.333 | 0.250 | Hitting_SLG | 0.613 | 0.000 | 0.721 | 1.333 |
| predicted_SO | 1.568 | 1.000 | 2.000 | Hitting_SO | 1.535 | 3.000 | -0.535 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.6800 -> 3.0000 (boost 2.3200, better) |
| 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 | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2350 -> 0.2421 (boost 0.0071, better) | predicted_AB: 4.1400 -> 4.0275 (deboost -0.1125, worse) | Final model input calibrated with local 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.5561 -> 0.5077 (deboost -0.0484, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 3 | 2 | 2 | 3 | predicted_SO: 1.5690 -> 2.0000 (boost 0.4310, worse) | predicted_HR: 0.3140 -> 0.0000 (deboost -0.3140, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.238 HR/AB=0.076 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6987 -> 1.0000 (boost 0.3013, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3433 -> 0.4000 (boost 0.0567, better) | predicted_SLG: 0.5077 -> 0.2500 (deboost -0.2577, 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_RBI: 1.0000 -> 3.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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.5077 (boost 0.2577, better) | predicted_OBP: 0.4000 -> 0.3433 (deboost -0.0567, 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.111,
"predicted_3B": 0.012,
"predicted_AB": 4.14,
"predicted_AVG": 0.235,
"predicted_BB": 0.617,
"predicted_H": 0.97,
"predicted_HR": 0.29,
"predicted_OBP": 0.333,
"predicted_R": 0.667,
"predicted_RBI": 0.68,
"predicted_SLG": 0.57,
"predicted_SO": 1.568
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.096,
"predicted_3B": 0.0103,
"predicted_AB": 4.0275,
"predicted_AVG": 0.2421,
"predicted_BB": 0.6029,
"predicted_H": 0.9726,
"predicted_HBP": 0.03,
"predicted_HR": 0.311,
"predicted_OBP": 0.34,
"predicted_R": 0.6828,
"predicted_RBI": 0.7052,
"predicted_SLG": 0.5561,
"predicted_SO": 1.5723
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.096,
"delta": -0.015,
"percent_delta": -0.1351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0275,
"delta": -0.1125,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2421,
"delta": 0.0071,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.617,
"after": 0.6029,
"delta": -0.0141,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9726,
"delta": 0.0026,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.29,
"after": 0.311,
"delta": 0.021,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.34,
"delta": 0.007,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6828,
"delta": 0.0158,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.7052,
"delta": 0.0252,
"percent_delta": 0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.5561,
"delta": -0.0139,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.568,
"after": 1.5723,
"delta": 0.0043,
"percent_delta": 0.0027,
"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_AVG",
"before": 0.235,
"after": 0.2421,
"delta": 0.0071,
"percent_delta": 0.0302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0275,
"delta": -0.1125,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.096,
"predicted_3B": 0.0103,
"predicted_AB": 4.0275,
"predicted_AVG": 0.2448,
"predicted_BB": 0.6042,
"predicted_H": 0.9859,
"predicted_HBP": 0.03,
"predicted_HR": 0.314,
"predicted_OBP": 0.3433,
"predicted_R": 0.6987,
"predicted_RBI": 0.7216,
"predicted_SLG": 0.5077,
"predicted_SO": 1.569
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.096,
"after": 0.096,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0275,
"after": 4.0275,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2421,
"after": 0.2448,
"delta": 0.0027,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6029,
"after": 0.6042,
"delta": 0.0013,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9726,
"after": 0.9859,
"delta": 0.0133,
"percent_delta": 0.0137,
"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.311,
"after": 0.314,
"delta": 0.003,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3433,
"delta": 0.0033,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6828,
"after": 0.6987,
"delta": 0.0159,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7052,
"after": 0.7216,
"delta": 0.0164,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5561,
"after": 0.5077,
"delta": -0.0484,
"percent_delta": -0.087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5723,
"after": 1.569,
"delta": -0.0033,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5561,
"after": 0.5077,
"delta": -0.0484,
"percent_delta": -0.087,
"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.238 HR/AB=0.076",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.096,
"after": 0.0,
"delta": -0.096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0275,
"after": 4.0,
"delta": -0.0275,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6042,
"after": 1.0,
"delta": 0.3958,
"percent_delta": 0.6551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9859,
"after": 1.0,
"delta": 0.0141,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7216,
"after": 1.0,
"delta": 0.2784,
"percent_delta": 0.3858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.569,
"after": 2.0,
"delta": 0.431,
"percent_delta": 0.2747,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.569,
"after": 2.0,
"delta": 0.431,
"percent_delta": 0.2747,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.314,
"after": 0.0,
"delta": -0.314,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.6987,
"after": 1.0,
"delta": 0.3013,
"percent_delta": 0.4312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6987,
"after": 1.0,
"delta": 0.3013,
"percent_delta": 0.4312,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2448,
"after": 0.25,
"delta": 0.0052,
"percent_delta": 0.0212,
"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.3433,
"after": 0.4,
"delta": 0.0567,
"percent_delta": 0.1652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5077,
"after": 0.25,
"delta": -0.2577,
"percent_delta": -0.5076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3433,
"after": 0.4,
"delta": 0.0567,
"percent_delta": 0.1652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5077,
"after": 0.25,
"delta": -0.2577,
"percent_delta": -0.5076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2448,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3433,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5077,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2448,
"delta": -0.0052,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3433,
"delta": -0.0567,
"percent_delta": -0.1417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.5077,
"delta": 0.2577,
"percent_delta": 1.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.5077,
"delta": 0.2577,
"percent_delta": 1.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3433,
"delta": -0.0567,
"percent_delta": -0.1417,
"direction": "deboost",
"projection_effect": "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.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"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.235,
"after": 0.2448,
"delta": 0.0098,
"percent_delta": 0.0417,
"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": 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.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3433,
"delta": 0.0103,
"percent_delta": 0.0309,
"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.68,
"after": 3.0,
"delta": 2.32,
"percent_delta": 3.4118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.5077,
"delta": -0.0623,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.568,
"after": 1.0,
"delta": -0.568,
"percent_delta": -0.3622,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.68,
"after": 3.0,
"delta": 2.32,
"percent_delta": 3.4118,
"direction": "boost",
"projection_effect": "better",
"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": "better"
}
}
}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.012 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.617 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.290 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.570 | - |
| predicted_SO | 1.568 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.015 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.027 | -0.112 |
| predicted_AVG | 0.242 | 0.007 |
| predicted_BB | 0.603 | -0.014 |
| predicted_H | 0.973 | 0.003 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.311 | 0.021 |
| predicted_OBP | 0.340 | 0.007 |
| predicted_R | 0.683 | 0.016 |
| predicted_RBI | 0.705 | 0.025 |
| predicted_SLG | 0.556 | -0.014 |
| predicted_SO | 1.572 | 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.096 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.027 | 0.000 |
| predicted_AVG | 0.245 | 0.003 |
| predicted_BB | 0.604 | 0.001 |
| predicted_H | 0.986 | 0.013 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.314 | 0.003 |
| predicted_OBP | 0.343 | 0.003 |
| predicted_R | 0.699 | 0.016 |
| predicted_RBI | 0.722 | 0.016 |
| predicted_SLG | 0.508 | -0.048 |
| predicted_SO | 1.569 | -0.003 |
AB rounded to 4 (raw=4.14), rates preserved: AVG=0.238 HR/AB=0.076
| 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 | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.096 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.027 |
| predicted_AVG | 0.250 | 0.005 |
| predicted_BB | 1.000 | 0.396 |
| predicted_H | 1.000 | 0.014 |
| predicted_HR | 0.000 | -0.314 |
| predicted_OBP | 0.400 | 0.057 |
| predicted_R | 1.000 | 0.301 |
| predicted_RBI | 1.000 | 0.278 |
| predicted_SLG | 0.250 | -0.258 |
| predicted_SO | 2.000 | 0.431 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.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 | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 10.000 | 0.2000 | 0.2917 | 0.3500 | 0.2000 | 0.0500 | 0.1500 | 0.1500 | 0.5000 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 0.000 | 0.000 | 5.000 | 12.000 | 10.000 | 6.000 | 15.000 | 0.3077 | 0.3913 | 0.6923 | 0.3077 | 0.1282 | 0.3077 | 0.1538 | 0.3846 |
| season | 0.60 | 81 | - | 311.000 | 78.000 | 9.000 | 1.000 | 29.000 | 54.000 | 54.000 | 50.000 | 127.000 | 0.2508 | 0.3607 | 0.5659 | 0.2508 | 0.0932 | 0.1736 | 0.1608 | 0.4084 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0760 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.8770 |
| predicted_AVG | 0.2517 |
| predicted_BB | 0.5840 |
| predicted_H | 0.9760 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.3390 |
| predicted_OBP | 0.3494 |
| predicted_R | 0.7040 |
| predicted_RBI | 0.7390 |
| predicted_SLG | 0.5374 |
| predicted_SO | 1.5780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.0760 | 0.0960 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.1400 | 3.8770 | 4.0275 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2517 | 0.2421 | model_form_blend |
| predicted_BB | 0.6170 | 0.5840 | 0.6029 | model_form_blend |
| predicted_H | 0.9700 | 0.9760 | 0.9726 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.2900 | 0.3390 | 0.3110 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3494 | 0.3400 | model_form_blend |
| predicted_R | 0.6670 | 0.7040 | 0.6828 | model_form_blend |
| predicted_RBI | 0.6800 | 0.7390 | 0.7052 | model_form_blend |
| predicted_SLG | 0.5700 | 0.5374 | 0.5561 | model_form_blend |
| predicted_SO | 1.5680 | 1.5780 | 1.5723 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 1 |
| SO | 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.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 656941 |
| playerID | 656941 |
| playerName | Kyle Schwarber |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 34.2 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.4 |
| sl_xwoba | 0.383 |
| sl_xba | 0.249 |
| sl_xslg | 0.535 |
| sl_sweet_spot_percent | 40.1 |
| sl_barrel_batted_rate | 19.9 |
| sl_hard_hit_percent | 52.9 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 21.5 |
| sl_whiff_percent | 34.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.136 | 0.000 | 0.000 | Hitting_2B | 0.151 | 0.000 | -0.151 | 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.757 | 4.000 | 0.243 | 0.000 |
| predicted_AVG | 0.225 | 0.250 | 0.250 | Hitting_AVG | 0.219 | 0.250 | 0.031 | 0.000 |
| predicted_BB | 0.259 | 0.000 | 0.000 | Hitting_BB | 0.285 | 0.000 | -0.285 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.850 | 1.000 | 1.000 | Hitting_H | 0.824 | 1.000 | 0.176 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.092 | 1.000 | -0.092 | -1.000 |
| predicted_OBP | 0.283 | 0.250 | 0.250 | Hitting_OBP | 0.277 | 0.400 | -0.027 | -0.150 |
| predicted_R | 0.346 | 0.000 | 0.000 | Hitting_R | 0.331 | 2.000 | -0.331 | -2.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.506 | 2.000 | -0.506 | -2.000 |
| predicted_SLG | 0.444 | 0.250 | 0.250 | Hitting_SLG | 0.333 | 1.000 | -0.083 | -0.750 |
| predicted_SO | 0.593 | 1.000 | 1.000 | Hitting_SO | 0.565 | 2.000 | 0.435 | -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.5930 -> 1.0000 (boost 0.4070, worse) |
| Biggest Deboost | predicted_RBI: 0.4900 -> 0.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 | 3 | 1 | 2 | 1 | 2 | predicted_R: 0.3460 -> 0.3983 (boost 0.0523, better) | predicted_SLG: 0.4440 -> 0.4074 (deboost -0.0366, worse) | Final model input calibrated with local 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.4074 -> 0.3604 (deboost -0.0470, 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.5153 -> 1.0000 (boost 0.4847, better) | predicted_BB: 0.2586 -> 0.0000 (deboost -0.2586, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.221 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4076 -> 0.0000 (deboost -0.4076, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2219 -> 0.2500 (boost 0.0281, better) | 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3604 (boost 0.1104, better) | predicted_AVG: 0.2500 -> 0.2219 (deboost -0.0281, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664761",
"player_name": "Alec Bohm",
"position": "3B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.136,
"predicted_3B": 0.0,
"predicted_AB": 3.79,
"predicted_AVG": 0.225,
"predicted_BB": 0.259,
"predicted_H": 0.85,
"predicted_HR": 0.12,
"predicted_OBP": 0.283,
"predicted_R": 0.346,
"predicted_RBI": 0.49,
"predicted_SLG": 0.444,
"predicted_SO": 0.593
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1394,
"predicted_3B": 0.0004,
"predicted_AB": 3.767,
"predicted_AVG": 0.2192,
"predicted_BB": 0.2581,
"predicted_H": 0.8245,
"predicted_HBP": 0.103,
"predicted_HR": 0.126,
"predicted_OBP": 0.2816,
"predicted_R": 0.3983,
"predicted_RBI": 0.5036,
"predicted_SLG": 0.4074,
"predicted_SO": 0.6262
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1394,
"delta": 0.0034,
"percent_delta": 0.025,
"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.767,
"delta": -0.023,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.2192,
"delta": -0.0058,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.259,
"after": 0.2581,
"delta": -0.0009,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8245,
"delta": -0.0255,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.126,
"delta": 0.006,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2816,
"delta": -0.0014,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.346,
"after": 0.3983,
"delta": 0.0523,
"percent_delta": 0.1512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.5036,
"delta": 0.0136,
"percent_delta": 0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4074,
"delta": -0.0366,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.593,
"after": 0.6262,
"delta": 0.0332,
"percent_delta": 0.056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.346,
"after": 0.3983,
"delta": 0.0523,
"percent_delta": 0.1512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4074,
"delta": -0.0366,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1394,
"predicted_3B": 0.0004,
"predicted_AB": 3.767,
"predicted_AVG": 0.2219,
"predicted_BB": 0.2586,
"predicted_H": 0.8358,
"predicted_HBP": 0.103,
"predicted_HR": 0.1272,
"predicted_OBP": 0.2719,
"predicted_R": 0.4076,
"predicted_RBI": 0.5153,
"predicted_SLG": 0.3604,
"predicted_SO": 0.6249
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1394,
"after": 0.1394,
"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.767,
"after": 3.767,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2192,
"after": 0.2219,
"delta": 0.0027,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2581,
"after": 0.2586,
"delta": 0.0005,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8245,
"after": 0.8358,
"delta": 0.0113,
"percent_delta": 0.0137,
"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.126,
"after": 0.1272,
"delta": 0.0012,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2816,
"after": 0.2719,
"delta": -0.0097,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3983,
"after": 0.4076,
"delta": 0.0093,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5036,
"after": 0.5153,
"delta": 0.0117,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4074,
"after": 0.3604,
"delta": -0.047,
"percent_delta": -0.1154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6262,
"after": 0.6249,
"delta": -0.0013,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4074,
"after": 0.3604,
"delta": -0.047,
"percent_delta": -0.1154,
"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.221 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.1394,
"after": 0.0,
"delta": -0.1394,
"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.767,
"after": 4.0,
"delta": 0.233,
"percent_delta": 0.0619,
"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.8358,
"after": 1.0,
"delta": 0.1642,
"percent_delta": 0.1965,
"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.1272,
"after": 0.0,
"delta": -0.1272,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5153,
"after": 1.0,
"delta": 0.4847,
"percent_delta": 0.9406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6249,
"after": 1.0,
"delta": 0.3751,
"percent_delta": 0.6003,
"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.5153,
"after": 1.0,
"delta": 0.4847,
"percent_delta": 0.9406,
"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.4076,
"after": 0.0,
"delta": -0.4076,
"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.4076,
"after": 0.0,
"delta": -0.4076,
"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.2219,
"after": 0.25,
"delta": 0.0281,
"percent_delta": 0.1266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2719,
"after": 0.25,
"delta": -0.0219,
"percent_delta": -0.0805,
"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": 1.0,
"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.2219,
"after": 0.25,
"delta": 0.0281,
"percent_delta": 0.1266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 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": 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": 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": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2219,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2719,
"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_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.2219,
"delta": -0.0281,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2719,
"delta": 0.0219,
"percent_delta": 0.0875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"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": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2219,
"delta": -0.0281,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "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.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.225,
"after": 0.2219,
"delta": -0.0031,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"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.283,
"after": 0.2719,
"delta": -0.0111,
"percent_delta": -0.0392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.346,
"after": 0.0,
"delta": -0.346,
"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.444,
"after": 0.3604,
"delta": -0.0836,
"percent_delta": -0.1883,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.593,
"after": 1.0,
"delta": 0.407,
"percent_delta": 0.6863,
"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.593,
"after": 1.0,
"delta": 0.407,
"percent_delta": 0.6863,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.000 | - |
| predicted_AB | 3.790 | - |
| predicted_AVG | 0.225 | - |
| predicted_BB | 0.259 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.346 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.444 | - |
| predicted_SO | 0.593 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.767 | -0.023 |
| predicted_AVG | 0.219 | -0.006 |
| predicted_BB | 0.258 | -0.001 |
| predicted_H | 0.825 | -0.025 |
| predicted_HBP | 0.103 | - |
| predicted_HR | 0.126 | 0.006 |
| predicted_OBP | 0.282 | -0.001 |
| predicted_R | 0.398 | 0.052 |
| predicted_RBI | 0.504 | 0.014 |
| predicted_SLG | 0.407 | -0.037 |
| predicted_SO | 0.626 | 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.139 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.767 | 0.000 |
| predicted_AVG | 0.222 | 0.003 |
| predicted_BB | 0.259 | 0.001 |
| predicted_H | 0.836 | 0.011 |
| predicted_HBP | 0.103 | 0.000 |
| predicted_HR | 0.127 | 0.001 |
| predicted_OBP | 0.272 | -0.010 |
| predicted_R | 0.408 | 0.009 |
| predicted_RBI | 0.515 | 0.012 |
| predicted_SLG | 0.360 | -0.047 |
| predicted_SO | 0.625 | -0.001 |
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.221 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 | 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.139 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.233 |
| predicted_AVG | 0.250 | 0.028 |
| predicted_BB | 0.000 | -0.259 |
| predicted_H | 1.000 | 0.164 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.250 | -0.022 |
| predicted_R | 0.000 | -0.408 |
| predicted_RBI | 1.000 | 0.485 |
| predicted_SLG | 0.250 | -0.110 |
| predicted_SO | 1.000 | 0.375 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | -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 | 1.000 | 3.000 | 4.000 | 1.000 | 4.000 | 0.2105 | 0.2857 | 0.4211 | 0.2105 | 0.0526 | 0.1579 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 5.000 | 3.000 | 7.000 | 0.1622 | 0.2619 | 0.2703 | 0.1622 | 0.0270 | 0.1081 | 0.0811 | 0.1892 |
| season | 0.60 | 81 | - | 301.000 | 67.000 | 11.000 | 0.000 | 10.000 | 44.000 | 28.000 | 21.000 | 48.000 | 0.2226 | 0.2796 | 0.3588 | 0.2226 | 0.0332 | 0.1462 | 0.0698 | 0.1595 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7360 |
| predicted_AVG | 0.2114 |
| predicted_BB | 0.2570 |
| predicted_H | 0.7900 |
| predicted_HBP | 0.1030 |
| predicted_HR | 0.1340 |
| predicted_OBP | 0.2797 |
| predicted_R | 0.4690 |
| predicted_RBI | 0.5220 |
| predicted_SLG | 0.3581 |
| predicted_SO | 0.6710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.1440 | 0.1394 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7900 | 3.7360 | 3.7670 | model_form_blend |
| predicted_AVG | 0.2250 | 0.2114 | 0.2192 | model_form_blend |
| predicted_BB | 0.2590 | 0.2570 | 0.2581 | model_form_blend |
| predicted_H | 0.8500 | 0.7900 | 0.8245 | model_form_blend |
| predicted_HBP | - | 0.1030 | 0.1030 | form_only |
| predicted_HR | 0.1200 | 0.1340 | 0.1260 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2797 | 0.2816 | model_form_blend |
| predicted_R | 0.3460 | 0.4690 | 0.3983 | model_form_blend |
| predicted_RBI | 0.4900 | 0.5220 | 0.5036 | model_form_blend |
| predicted_SLG | 0.4440 | 0.3581 | 0.4074 | model_form_blend |
| predicted_SO | 0.5930 | 0.6710 | 0.6262 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| 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 | 3B |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 664761 |
| playerID | 664761 |
| playerName | Alec Bohm |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 14.5 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.282 |
| sl_xwoba | 0.293 |
| sl_xba | 0.241 |
| sl_xslg | 0.359 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 9.5 |
| sl_whiff_percent | 16.8 |
| sl_swing_percent | 45.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.188 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.530 | 3.000 | 4.000 | Hitting_AB | 3.593 | 5.000 | -0.593 | -2.000 |
| predicted_AVG | 0.251 | 0.333 | 0.250 | Hitting_AVG | 0.228 | 0.400 | 0.105 | -0.067 |
| predicted_BB | 0.287 | 1.000 | 0.000 | Hitting_BB | 0.264 | 0.000 | 0.736 | 1.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.819 | 2.000 | 0.181 | -1.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.102 | 0.000 | 0.898 | 1.000 |
| predicted_OBP | 0.320 | 0.500 | 0.250 | Hitting_OBP | 0.284 | 0.400 | 0.216 | 0.100 |
| predicted_R | 0.400 | 1.000 | 0.000 | Hitting_R | 0.356 | 1.000 | 0.644 | 0.000 |
| predicted_RBI | 0.400 | 1.000 | 0.000 | Hitting_RBI | 0.523 | 0.000 | 0.477 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_SLG | 0.463 | 1.333 | 0.250 | Hitting_SLG | 0.378 | 0.400 | 0.956 | 0.933 |
| predicted_SO | 0.637 | 1.000 | 1.000 | Hitting_SO | 0.593 | 0.000 | 0.407 | 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_HR: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | predicted_AB: 3.5300 -> 3.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 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2510 -> 0.2577 (boost 0.0067, better) | predicted_SLG: 0.4630 -> 0.4276 (deboost -0.0354, worse) | Final model input calibrated with local 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.4276 -> 0.3981 (deboost -0.0295, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.5643 -> 4.0000 (boost 0.4357, better) | predicted_RBI: 0.4041 -> 0.0000 (deboost -0.4041, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.262 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4592 -> 0.0000 (deboost -0.4592, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3981 -> 0.2500 (deboost -0.1481, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 4 | 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.3981 (boost 0.1481, 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.188,
"predicted_3B": 0.025,
"predicted_AB": 3.53,
"predicted_AVG": 0.251,
"predicted_BB": 0.287,
"predicted_H": 0.89,
"predicted_HR": 0.1,
"predicted_OBP": 0.32,
"predicted_R": 0.4,
"predicted_RBI": 0.4,
"predicted_SLG": 0.463,
"predicted_SO": 0.637
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1672,
"predicted_3B": 0.0208,
"predicted_AB": 3.5643,
"predicted_AVG": 0.2577,
"predicted_BB": 0.3035,
"predicted_H": 0.9214,
"predicted_HBP": 0.035,
"predicted_HR": 0.0911,
"predicted_OBP": 0.3254,
"predicted_R": 0.4487,
"predicted_RBI": 0.3949,
"predicted_SLG": 0.4276,
"predicted_SO": 0.6624
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.1672,
"delta": -0.0208,
"percent_delta": -0.1106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0208,
"delta": -0.0042,
"percent_delta": -0.168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.53,
"after": 3.5643,
"delta": 0.0343,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2577,
"delta": 0.0067,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 0.3035,
"delta": 0.0165,
"percent_delta": 0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9214,
"delta": 0.0314,
"percent_delta": 0.0353,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0911,
"delta": -0.0089,
"percent_delta": -0.089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3254,
"delta": 0.0054,
"percent_delta": 0.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4487,
"delta": 0.0487,
"percent_delta": 0.1217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3949,
"delta": -0.0051,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.4276,
"delta": -0.0354,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.637,
"after": 0.6624,
"delta": 0.0254,
"percent_delta": 0.0399,
"direction": "no_change",
"projection_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.251,
"after": 0.2577,
"delta": 0.0067,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.4276,
"delta": -0.0354,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 80
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1672,
"predicted_3B": 0.0208,
"predicted_AB": 3.5643,
"predicted_AVG": 0.262,
"predicted_BB": 0.3041,
"predicted_H": 0.934,
"predicted_HBP": 0.035,
"predicted_HR": 0.092,
"predicted_OBP": 0.3201,
"predicted_R": 0.4592,
"predicted_RBI": 0.4041,
"predicted_SLG": 0.3981,
"predicted_SO": 0.661
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1672,
"after": 0.1672,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0208,
"after": 0.0208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5643,
"after": 3.5643,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2577,
"after": 0.262,
"delta": 0.0043,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3035,
"after": 0.3041,
"delta": 0.0006,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9214,
"after": 0.934,
"delta": 0.0126,
"percent_delta": 0.0137,
"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.0911,
"after": 0.092,
"delta": 0.0009,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3254,
"after": 0.3201,
"delta": -0.0053,
"percent_delta": -0.0163,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4487,
"after": 0.4592,
"delta": 0.0105,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3949,
"after": 0.4041,
"delta": 0.0092,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4276,
"after": 0.3981,
"delta": -0.0295,
"percent_delta": -0.069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6624,
"after": 0.661,
"delta": -0.0014,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4276,
"after": 0.3981,
"delta": -0.0295,
"percent_delta": -0.069,
"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.262 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.1672,
"after": 0.0,
"delta": -0.1672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0208,
"after": 0.0,
"delta": -0.0208,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5643,
"after": 4.0,
"delta": 0.4357,
"percent_delta": 0.1222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3041,
"after": 0.0,
"delta": -0.3041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.934,
"after": 1.0,
"delta": 0.066,
"percent_delta": 0.0707,
"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.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4041,
"after": 0.0,
"delta": -0.4041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.661,
"after": 1.0,
"delta": 0.339,
"percent_delta": 0.5129,
"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.5643,
"after": 4.0,
"delta": 0.4357,
"percent_delta": 0.1222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4041,
"after": 0.0,
"delta": -0.4041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4592,
"after": 0.0,
"delta": -0.4592,
"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.4592,
"after": 0.0,
"delta": -0.4592,
"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.262,
"after": 0.25,
"delta": -0.012,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3201,
"after": 0.25,
"delta": -0.0701,
"percent_delta": -0.219,
"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.3981,
"after": 0.25,
"delta": -0.1481,
"percent_delta": -0.372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3981,
"after": 0.25,
"delta": -0.1481,
"percent_delta": -0.372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.262,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3201,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3981,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.262,
"delta": 0.012,
"percent_delta": 0.0482,
"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.3201,
"delta": 0.0701,
"percent_delta": 0.2803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3981,
"delta": 0.1481,
"percent_delta": 0.5922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3981,
"delta": 0.1481,
"percent_delta": 0.5922,
"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.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.53,
"after": 3.0,
"delta": -0.53,
"percent_delta": -0.1501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.262,
"delta": 0.011,
"percent_delta": 0.0438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.287,
"after": 1.0,
"delta": 0.713,
"percent_delta": 2.4843,
"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.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3201,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.3981,
"delta": -0.0649,
"percent_delta": -0.1402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.637,
"after": 1.0,
"delta": 0.363,
"percent_delta": 0.5699,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.53,
"after": 3.0,
"delta": -0.53,
"percent_delta": -0.1501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.530 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.287 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.463 | - |
| predicted_SO | 0.637 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | -0.021 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.564 | 0.034 |
| predicted_AVG | 0.258 | 0.007 |
| predicted_BB | 0.303 | 0.017 |
| predicted_H | 0.921 | 0.031 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.091 | -0.009 |
| predicted_OBP | 0.325 | 0.005 |
| predicted_R | 0.449 | 0.049 |
| predicted_RBI | 0.395 | -0.005 |
| predicted_SLG | 0.428 | -0.035 |
| predicted_SO | 0.662 | 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.167 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.564 | 0.000 |
| predicted_AVG | 0.262 | 0.004 |
| predicted_BB | 0.304 | 0.001 |
| predicted_H | 0.934 | 0.013 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.092 | 0.001 |
| predicted_OBP | 0.320 | -0.005 |
| predicted_R | 0.459 | 0.011 |
| predicted_RBI | 0.404 | 0.009 |
| predicted_SLG | 0.398 | -0.029 |
| predicted_SO | 0.661 | -0.001 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.262 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 | 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.021 |
| predicted_AB | 4.000 | 0.436 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 0.000 | -0.304 |
| predicted_H | 1.000 | 0.066 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.250 | -0.070 |
| predicted_R | 0.000 | -0.459 |
| predicted_RBI | 0.000 | -0.404 |
| predicted_SLG | 0.250 | -0.148 |
| predicted_SO | 1.000 | 0.339 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 19.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 3.000 | 0.3158 | 0.3810 | 0.3158 | 0.3158 | 0.0000 | 0.0000 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 1.000 | 0.000 | 1.000 | 4.000 | 8.000 | 4.000 | 9.000 | 0.2973 | 0.3810 | 0.4054 | 0.2973 | 0.0270 | 0.1081 | 0.1081 | 0.2432 |
| season | 0.60 | 80 | - | 279.000 | 68.000 | 15.000 | 2.000 | 7.000 | 39.000 | 32.000 | 23.000 | 51.000 | 0.2437 | 0.3049 | 0.3871 | 0.2437 | 0.0251 | 0.1398 | 0.0824 | 0.1828 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1390 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.6110 |
| predicted_AVG | 0.2669 |
| predicted_BB | 0.3260 |
| predicted_H | 0.9640 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.0790 |
| predicted_OBP | 0.3327 |
| predicted_R | 0.5150 |
| predicted_RBI | 0.3880 |
| predicted_SLG | 0.3794 |
| predicted_SO | 0.6970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1390 | 0.1672 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0208 | model_form_blend |
| predicted_AB | 3.5300 | 3.6110 | 3.5643 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2669 | 0.2577 | model_form_blend |
| predicted_BB | 0.2870 | 0.3260 | 0.3035 | model_form_blend |
| predicted_H | 0.8900 | 0.9640 | 0.9214 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.1000 | 0.0790 | 0.0911 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3327 | 0.3254 | model_form_blend |
| predicted_R | 0.4000 | 0.5150 | 0.4487 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3880 | 0.3949 | model_form_blend |
| predicted_SLG | 0.4630 | 0.3794 | 0.4276 | model_form_blend |
| predicted_SO | 0.6370 | 0.6970 | 0.6624 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.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 | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 681082 |
| playerID | 681082 |
| playerName | Bryson Stott |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.307 |
| sl_xwoba | 0.322 |
| sl_xba | 0.264 |
| sl_xslg | 0.408 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 43.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.154 | 4.000 | 3.000 | Hitting_AB | 3.154 | 3.000 | 0.846 | 1.000 |
| predicted_AVG | 0.233 | 0.000 | 0.333 | Hitting_AVG | 0.171 | 0.667 | -0.171 | -0.667 |
| predicted_BB | 0.154 | 0.000 | 0.000 | Hitting_BB | 0.154 | 1.000 | -0.154 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.720 | 0.000 | 1.000 | Hitting_H | 0.538 | 2.000 | -0.538 | -2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.275 | 0.000 | 0.333 | Hitting_OBP | 0.209 | 0.750 | -0.209 | -0.750 |
| predicted_R | 0.308 | 0.000 | 0.000 | Hitting_R | 0.308 | 2.000 | -0.308 | -2.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_SLG | 0.403 | 0.000 | 0.333 | Hitting_SLG | 0.244 | 0.667 | -0.244 | -0.667 |
| predicted_SO | 0.923 | 1.000 | 1.000 | Hitting_SO | 0.923 | 1.000 | 0.077 | 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.1540 -> 4.0000 (boost 0.8460, better) |
| Biggest Deboost | predicted_H: 0.7200 -> 0.0000 (deboost -0.7200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1540 -> 3.2180 (boost 0.0640, better) | predicted_SLG: 0.4030 -> 0.3704 (deboost -0.0326, worse) | Final model input calibrated with local 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.3704 -> 0.3142 (deboost -0.0562, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.7265 -> 1.0000 (boost 0.2735, better) | predicted_RBI: 0.3055 -> 0.0000 (deboost -0.3055, worse) | AB rounded to 3 (raw=3.22), rates preserved: AVG=0.226 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3449 -> 0.0000 (deboost -0.3449, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2258 -> 0.3330 (boost 0.1072, 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.2258 (deboost -0.1072, 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.154,
"predicted_AVG": 0.233,
"predicted_BB": 0.154,
"predicted_H": 0.72,
"predicted_HR": 0.09,
"predicted_OBP": 0.275,
"predicted_R": 0.308,
"predicted_RBI": 0.31,
"predicted_SLG": 0.403,
"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.0218,
"predicted_3B": 0.0016,
"predicted_AB": 3.218,
"predicted_AVG": 0.2261,
"predicted_BB": 0.1827,
"predicted_H": 0.7167,
"predicted_HBP": 0.012,
"predicted_HR": 0.0857,
"predicted_OBP": 0.2725,
"predicted_R": 0.337,
"predicted_RBI": 0.2985,
"predicted_SLG": 0.3704,
"predicted_SO": 0.922
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0218,
"delta": 0.0218,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0016,
"delta": 0.0016,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.154,
"after": 3.218,
"delta": 0.064,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2261,
"delta": -0.0069,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.1827,
"delta": 0.0287,
"percent_delta": 0.1864,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7167,
"delta": -0.0033,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.275,
"after": 0.2725,
"delta": -0.0025,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.337,
"delta": 0.029,
"percent_delta": 0.0942,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.2985,
"delta": -0.0115,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3704,
"delta": -0.0326,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.923,
"after": 0.922,
"delta": -0.001,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_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.154,
"after": 3.218,
"delta": 0.064,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3704,
"delta": -0.0326,
"percent_delta": -0.0809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0218,
"predicted_3B": 0.0016,
"predicted_AB": 3.218,
"predicted_AVG": 0.2258,
"predicted_BB": 0.1831,
"predicted_H": 0.7265,
"predicted_HBP": 0.012,
"predicted_HR": 0.0865,
"predicted_OBP": 0.2674,
"predicted_R": 0.3449,
"predicted_RBI": 0.3055,
"predicted_SLG": 0.3142,
"predicted_SO": 0.9201
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0218,
"after": 0.0218,
"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.218,
"after": 3.218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2261,
"after": 0.2258,
"delta": -0.0003,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1827,
"after": 0.1831,
"delta": 0.0004,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7167,
"after": 0.7265,
"delta": 0.0098,
"percent_delta": 0.0137,
"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.0857,
"after": 0.0865,
"delta": 0.0008,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2725,
"after": 0.2674,
"delta": -0.0051,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.337,
"after": 0.3449,
"delta": 0.0079,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2985,
"after": 0.3055,
"delta": 0.007,
"percent_delta": 0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3704,
"after": 0.3142,
"delta": -0.0562,
"percent_delta": -0.1517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.922,
"after": 0.9201,
"delta": -0.0019,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3704,
"after": 0.3142,
"delta": -0.0562,
"percent_delta": -0.1517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.22), rates preserved: AVG=0.226 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.0218,
"after": 0.0,
"delta": -0.0218,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.218,
"after": 3.0,
"delta": -0.218,
"percent_delta": -0.0677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1831,
"after": 0.0,
"delta": -0.1831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7265,
"after": 1.0,
"delta": 0.2735,
"percent_delta": 0.3765,
"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.0865,
"after": 0.0,
"delta": -0.0865,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3055,
"after": 0.0,
"delta": -0.3055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9201,
"after": 1.0,
"delta": 0.0799,
"percent_delta": 0.0868,
"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.7265,
"after": 1.0,
"delta": 0.2735,
"percent_delta": 0.3765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3055,
"after": 0.0,
"delta": -0.3055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3449,
"after": 0.0,
"delta": -0.3449,
"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.3449,
"after": 0.0,
"delta": -0.3449,
"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.2258,
"after": 0.333,
"delta": 0.1072,
"percent_delta": 0.4748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2674,
"after": 0.333,
"delta": 0.0656,
"percent_delta": 0.2453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3142,
"after": 0.333,
"delta": 0.0188,
"percent_delta": 0.0598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2258,
"after": 0.333,
"delta": 0.1072,
"percent_delta": 0.4748,
"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.2258,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2674,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3142,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2258,
"delta": -0.1072,
"percent_delta": -0.322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2674,
"delta": -0.0656,
"percent_delta": -0.1969,
"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.3142,
"delta": -0.0188,
"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": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2258,
"delta": -0.1072,
"percent_delta": -0.322,
"direction": "deboost",
"projection_effect": "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.154,
"after": 4.0,
"delta": 0.846,
"percent_delta": 0.2682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2258,
"delta": -0.0072,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2674,
"delta": -0.0076,
"percent_delta": -0.0276,
"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.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3142,
"delta": -0.0888,
"percent_delta": -0.2203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.923,
"after": 1.0,
"delta": 0.077,
"percent_delta": 0.0834,
"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.154,
"after": 4.0,
"delta": 0.846,
"percent_delta": 0.2682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.154 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.154 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.308 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.403 | - |
| 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.022 | 0.022 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.218 | 0.064 |
| predicted_AVG | 0.226 | -0.007 |
| predicted_BB | 0.183 | 0.029 |
| predicted_H | 0.717 | -0.003 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.086 | -0.004 |
| predicted_OBP | 0.273 | -0.003 |
| predicted_R | 0.337 | 0.029 |
| predicted_RBI | 0.298 | -0.012 |
| predicted_SLG | 0.370 | -0.033 |
| predicted_SO | 0.922 | -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.022 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.218 | 0.000 |
| predicted_AVG | 0.226 | -0.000 |
| predicted_BB | 0.183 | 0.000 |
| predicted_H | 0.727 | 0.010 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.086 | 0.001 |
| predicted_OBP | 0.267 | -0.005 |
| predicted_R | 0.345 | 0.008 |
| predicted_RBI | 0.305 | 0.007 |
| predicted_SLG | 0.314 | -0.056 |
| predicted_SO | 0.920 | -0.002 |
AB rounded to 3 (raw=3.22), rates preserved: AVG=0.226 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.022 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.218 |
| predicted_AVG | 0.333 | 0.107 |
| predicted_BB | 0.000 | -0.183 |
| predicted_H | 1.000 | 0.273 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.333 | 0.066 |
| predicted_R | 0.000 | -0.345 |
| predicted_RBI | 0.000 | -0.305 |
| predicted_SLG | 0.333 | 0.019 |
| predicted_SO | 1.000 | 0.080 |
Attached 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 | - | 13.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 5.000 | 0.2308 | 0.3333 | 0.2308 | 0.2308 | 0.0000 | 0.0000 | 0.1538 | 0.3846 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 9.000 | 0.1935 | 0.2424 | 0.1935 | 0.1935 | 0.0000 | 0.0323 | 0.0645 | 0.2903 |
| season | 0.60 | 13 | - | 41.000 | 7.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 12.000 | 0.1707 | 0.2093 | 0.2439 | 0.1707 | 0.0244 | 0.0732 | 0.0488 | 0.2927 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0660 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.3480 |
| predicted_AVG | 0.2121 |
| predicted_BB | 0.2410 |
| predicted_H | 0.7100 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.2675 |
| predicted_R | 0.3960 |
| predicted_RBI | 0.2750 |
| predicted_SLG | 0.3040 |
| predicted_SO | 0.9200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0660 | 0.0218 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0016 | model_form_blend |
| predicted_AB | 3.1540 | 3.3480 | 3.2180 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2121 | 0.2261 | model_form_blend |
| predicted_BB | 0.1540 | 0.2410 | 0.1827 | model_form_blend |
| predicted_H | 0.7200 | 0.7100 | 0.7167 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0900 | 0.0770 | 0.0857 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2675 | 0.2725 | model_form_blend |
| predicted_R | 0.3080 | 0.3960 | 0.3370 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2750 | 0.2985 | model_form_blend |
| predicted_SLG | 0.4030 | 0.3040 | 0.3704 | model_form_blend |
| predicted_SO | 0.9230 | 0.9200 | 0.9220 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.171 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 687282 |
| playerID | 687282 |
| playerName | Gabriel Rincones Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.205 |
| sl_xwoba | 0.176 |
| sl_xba | 0.137 |
| sl_xslg | 0.214 |
| sl_sweet_spot_percent | 13.8 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 60.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.154 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_AB | 3.103 | 4.000 | 3.000 | Hitting_AB | 3.338 | 4.000 | 0.662 | 0.000 |
| predicted_AVG | 0.274 | 0.500 | 0.333 | Hitting_AVG | 0.245 | 0.250 | 0.255 | 0.250 |
| predicted_BB | 0.205 | 0.000 | 0.000 | Hitting_BB | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.770 | 2.000 | 1.000 | Hitting_H | 0.819 | 1.000 | 1.181 | 1.000 |
| predicted_HR | 0.060 | 1.000 | 0.000 | Hitting_HR | 0.039 | 0.000 | 0.961 | 1.000 |
| predicted_OBP | 0.323 | 0.500 | 0.333 | Hitting_OBP | 0.305 | 0.250 | 0.195 | 0.250 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.299 | 1.000 | 0.701 | 0.000 |
| predicted_RBI | 0.320 | 1.000 | 0.000 | Hitting_RBI | 0.250 | 0.000 | 0.750 | 1.000 |
| predicted_SLG | 0.450 | 1.250 | 0.333 | Hitting_SLG | 0.364 | 0.250 | 0.886 | 1.000 |
| predicted_SO | 0.705 | 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 | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.7700 -> 2.0000 (boost 1.2300, better) |
| Biggest Deboost | predicted_BB: 0.2050 -> 0.0000 (deboost -0.2050, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.7700 -> 0.8602 (boost 0.0902, better) | predicted_SLG: 0.4500 -> 0.4226 (deboost -0.0274, worse) | Final model input calibrated with local form: 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.4226 -> 0.3821 (deboost -0.0405, 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.6892 -> 1.0000 (boost 0.3108, worse) | predicted_RBI: 0.3309 -> 0.0000 (deboost -0.3309, worse) | AB rounded to 3 (raw=3.19), rates preserved: AVG=0.274 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3940 -> 0.0000 (deboost -0.3940, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2738 -> 0.3330 (boost 0.0592, better) | predicted_SLG: 0.3821 -> 0.3330 (deboost -0.0491, 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_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.3821 (boost 0.0491, better) | predicted_AVG: 0.3330 -> 0.2738 (deboost -0.0592, 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.154,
"predicted_3B": 0.026,
"predicted_AB": 3.103,
"predicted_AVG": 0.274,
"predicted_BB": 0.205,
"predicted_H": 0.77,
"predicted_HR": 0.06,
"predicted_OBP": 0.323,
"predicted_R": 0.333,
"predicted_RBI": 0.32,
"predicted_SLG": 0.45,
"predicted_SO": 0.705
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0218,
"predicted_AB": 3.1853,
"predicted_AVG": 0.2842,
"predicted_BB": 0.1857,
"predicted_H": 0.8602,
"predicted_HBP": 0.018,
"predicted_HR": 0.0461,
"predicted_OBP": 0.3285,
"predicted_R": 0.385,
"predicted_RBI": 0.3234,
"predicted_SLG": 0.4226,
"predicted_SO": 0.6907
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.162,
"delta": 0.008,
"percent_delta": 0.0519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0218,
"delta": -0.0042,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.103,
"after": 3.1853,
"delta": 0.0823,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2842,
"delta": 0.0102,
"percent_delta": 0.0372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.1857,
"delta": -0.0193,
"percent_delta": -0.0941,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.8602,
"delta": 0.0902,
"percent_delta": 0.1171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0461,
"delta": -0.0139,
"percent_delta": -0.2317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3285,
"delta": 0.0055,
"percent_delta": 0.017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.385,
"delta": 0.052,
"percent_delta": 0.1562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3234,
"delta": 0.0034,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4226,
"delta": -0.0274,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.705,
"after": 0.6907,
"delta": -0.0143,
"percent_delta": -0.0203,
"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.77,
"after": 0.8602,
"delta": 0.0902,
"percent_delta": 0.1171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4226,
"delta": -0.0274,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 78
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0218,
"predicted_AB": 3.1853,
"predicted_AVG": 0.2738,
"predicted_BB": 0.1861,
"predicted_H": 0.872,
"predicted_HBP": 0.018,
"predicted_HR": 0.0465,
"predicted_OBP": 0.3138,
"predicted_R": 0.394,
"predicted_RBI": 0.3309,
"predicted_SLG": 0.3821,
"predicted_SO": 0.6892
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0218,
"after": 0.0218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1853,
"after": 3.1853,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2842,
"after": 0.2738,
"delta": -0.0104,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1857,
"after": 0.1861,
"delta": 0.0004,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8602,
"after": 0.872,
"delta": 0.0118,
"percent_delta": 0.0137,
"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.0461,
"after": 0.0465,
"delta": 0.0004,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3285,
"after": 0.3138,
"delta": -0.0147,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.394,
"delta": 0.009,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3234,
"after": 0.3309,
"delta": 0.0075,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4226,
"after": 0.3821,
"delta": -0.0405,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6907,
"after": 0.6892,
"delta": -0.0015,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4226,
"after": 0.3821,
"delta": -0.0405,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.19), rates preserved: AVG=0.274 HR/AB=0.015",
"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.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0218,
"after": 0.0,
"delta": -0.0218,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1853,
"after": 3.0,
"delta": -0.1853,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1861,
"after": 0.0,
"delta": -0.1861,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.872,
"after": 1.0,
"delta": 0.128,
"percent_delta": 0.1468,
"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.0465,
"after": 0.0,
"delta": -0.0465,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3309,
"after": 0.0,
"delta": -0.3309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6892,
"after": 1.0,
"delta": 0.3108,
"percent_delta": 0.451,
"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.6892,
"after": 1.0,
"delta": 0.3108,
"percent_delta": 0.451,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3309,
"after": 0.0,
"delta": -0.3309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.394,
"after": 0.0,
"delta": -0.394,
"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.394,
"after": 0.0,
"delta": -0.394,
"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.2738,
"after": 0.333,
"delta": 0.0592,
"percent_delta": 0.2162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3138,
"after": 0.333,
"delta": 0.0192,
"percent_delta": 0.0612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3821,
"after": 0.333,
"delta": -0.0491,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2738,
"after": 0.333,
"delta": 0.0592,
"percent_delta": 0.2162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3821,
"after": 0.333,
"delta": -0.0491,
"percent_delta": -0.1285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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": 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.2738,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3138,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3821,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2738,
"delta": -0.0592,
"percent_delta": -0.1779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3138,
"delta": -0.0192,
"percent_delta": -0.0575,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3821,
"delta": 0.0491,
"percent_delta": 0.1476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3821,
"delta": 0.0491,
"percent_delta": 0.1476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2738,
"delta": -0.0592,
"percent_delta": -0.1779,
"direction": "deboost",
"projection_effect": "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.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.103,
"after": 4.0,
"delta": 0.897,
"percent_delta": 0.2891,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2738,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.77,
"after": 2.0,
"delta": 1.23,
"percent_delta": 1.5974,
"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.323,
"after": 0.3138,
"delta": -0.0092,
"percent_delta": -0.0285,
"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.32,
"after": 1.0,
"delta": 0.68,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.3821,
"delta": -0.0679,
"percent_delta": -0.1509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.705,
"after": 1.0,
"delta": 0.295,
"percent_delta": 0.4184,
"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.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.205,
"after": 0.0,
"delta": -0.205,
"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.154 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.103 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.205 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 0.705 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.008 |
| predicted_3B | 0.022 | -0.004 |
| predicted_AB | 3.185 | 0.082 |
| predicted_AVG | 0.284 | 0.010 |
| predicted_BB | 0.186 | -0.019 |
| predicted_H | 0.860 | 0.090 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.046 | -0.014 |
| predicted_OBP | 0.329 | 0.006 |
| predicted_R | 0.385 | 0.052 |
| predicted_RBI | 0.323 | 0.003 |
| predicted_SLG | 0.423 | -0.027 |
| predicted_SO | 0.691 | -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.162 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.185 | 0.000 |
| predicted_AVG | 0.274 | -0.010 |
| predicted_BB | 0.186 | 0.000 |
| predicted_H | 0.872 | 0.012 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.046 | 0.000 |
| predicted_OBP | 0.314 | -0.015 |
| predicted_R | 0.394 | 0.009 |
| predicted_RBI | 0.331 | 0.008 |
| predicted_SLG | 0.382 | -0.040 |
| predicted_SO | 0.689 | -0.001 |
AB rounded to 3 (raw=3.19), rates preserved: AVG=0.274 HR/AB=0.015
| 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.162 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | -0.185 |
| predicted_AVG | 0.333 | 0.059 |
| predicted_BB | 0.000 | -0.186 |
| predicted_H | 1.000 | 0.128 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | 0.019 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 0.000 | -0.331 |
| predicted_SLG | 0.333 | -0.049 |
| predicted_SO | 1.000 | 0.311 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 8.000 | 1.000 | 0.000 | 0.000 | 3.000 | 4.000 | 0.000 | 2.000 | 0.4444 | 0.4444 | 0.5000 | 0.4444 | 0.0000 | 0.1667 | 0.0000 | 0.1111 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 2.000 | 0.000 | 0.000 | 3.000 | 5.000 | 1.000 | 7.000 | 0.3333 | 0.3529 | 0.3939 | 0.3333 | 0.0000 | 0.0909 | 0.0303 | 0.2121 |
| season | 0.60 | 78 | - | 242.000 | 60.000 | 12.000 | 2.000 | 2.000 | 18.000 | 26.000 | 16.000 | 55.000 | 0.2479 | 0.3000 | 0.3388 | 0.2479 | 0.0083 | 0.0744 | 0.0661 | 0.2273 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.2990 |
| predicted_AVG | 0.2984 |
| predicted_BB | 0.1590 |
| predicted_H | 0.9850 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0270 |
| predicted_OBP | 0.3360 |
| predicted_R | 0.4570 |
| predicted_RBI | 0.3280 |
| predicted_SLG | 0.3848 |
| predicted_SO | 0.6710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1730 | 0.1620 | model_form_blend |
| predicted_3B | 0.0260 | 0.0160 | 0.0218 | model_form_blend |
| predicted_AB | 3.1030 | 3.2990 | 3.1853 | model_form_blend |
| predicted_AVG | 0.2740 | 0.2984 | 0.2842 | model_form_blend |
| predicted_BB | 0.2050 | 0.1590 | 0.1857 | model_form_blend |
| predicted_H | 0.7700 | 0.9850 | 0.8602 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0600 | 0.0270 | 0.0461 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3360 | 0.3285 | model_form_blend |
| predicted_R | 0.3330 | 0.4570 | 0.3850 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3280 | 0.3234 | model_form_blend |
| predicted_SLG | 0.4500 | 0.3848 | 0.4226 | model_form_blend |
| predicted_SO | 0.7050 | 0.6710 | 0.6907 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 204 |
| Season rows before report date | 204 |
| Report year | 2026 |
| Profile rows used | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.248 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 702222 |
| playerID | 702222 |
| playerName | Justin Crawford |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.292 |
| sl_xwoba | 0.272 |
| sl_xba | 0.246 |
| sl_xslg | 0.308 |
| sl_sweet_spot_percent | 30.7 |
| sl_barrel_batted_rate | 1.0 |
| sl_hard_hit_percent | 33.9 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 2.9 |
| sl_whiff_percent | 19.7 |
| 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.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.120 | 3.000 | 3.000 | Hitting_AB | 3.278 | 3.000 | -0.278 | 0.000 |
| predicted_AVG | 0.227 | 1.000 | 0.333 | Hitting_AVG | 0.089 | 0.333 | 0.911 | 0.667 |
| predicted_BB | 0.040 | 1.000 | 0.000 | Hitting_BB | 0.056 | 0.000 | 0.944 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.610 | 3.000 | 1.000 | Hitting_H | 0.292 | 1.000 | 2.708 | 2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_OBP | 0.233 | 1.000 | 0.333 | Hitting_OBP | 0.130 | 0.333 | 0.870 | 0.667 |
| predicted_R | 0.160 | 1.000 | 0.000 | Hitting_R | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_SLG | 0.398 | 1.000 | 0.333 | Hitting_SLG | 0.153 | 0.333 | 0.847 | 0.667 |
| predicted_SO | 0.560 | 0.000 | 1.000 | Hitting_SO | 0.681 | 0.000 | -0.681 | 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.6100 -> 3.0000 (boost 2.3900, better) |
| Biggest Deboost | predicted_SO: 0.5600 -> 0.0000 (deboost -0.5600, 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.3980 -> 0.3618 (deboost -0.0362, worse) | Final model input calibrated with local form: 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.3618 -> 0.2985 (deboost -0.0633, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.5477 -> 1.0000 (boost 0.4523, worse) | predicted_RBI: 0.3468 -> 0.0000 (deboost -0.3468, worse) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.191 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1930 -> 0.0000 (deboost -0.1930, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1907 -> 0.3330 (boost 0.1423, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_H: 1.0000 -> 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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1907 (deboost -0.1423, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665561",
"player_name": "Rafael Marchán",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 3.12,
"predicted_AVG": 0.227,
"predicted_BB": 0.04,
"predicted_H": 0.61,
"predicted_HR": 0.1,
"predicted_OBP": 0.233,
"predicted_R": 0.16,
"predicted_RBI": 0.33,
"predicted_SLG": 0.398,
"predicted_SO": 0.56
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0152,
"predicted_3B": 0.0011,
"predicted_AB": 3.1482,
"predicted_AVG": 0.208,
"predicted_BB": 0.0545,
"predicted_H": 0.5922,
"predicted_HBP": 0.043,
"predicted_HR": 0.1063,
"predicted_OBP": 0.2229,
"predicted_R": 0.1886,
"predicted_RBI": 0.3389,
"predicted_SLG": 0.3618,
"predicted_SO": 0.5489
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0152,
"delta": 0.0152,
"percent_delta": null,
"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.12,
"after": 3.1482,
"delta": 0.0282,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.208,
"delta": -0.019,
"percent_delta": -0.0837,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.04,
"after": 0.0545,
"delta": 0.0145,
"percent_delta": 0.3625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.5922,
"delta": -0.0178,
"percent_delta": -0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1063,
"delta": 0.0063,
"percent_delta": 0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.233,
"after": 0.2229,
"delta": -0.0101,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.16,
"after": 0.1886,
"delta": 0.0286,
"percent_delta": 0.1787,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3389,
"delta": 0.0089,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3618,
"delta": -0.0362,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.56,
"after": 0.5489,
"delta": -0.0111,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3618,
"delta": -0.0362,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0152,
"predicted_3B": 0.0011,
"predicted_AB": 3.1482,
"predicted_AVG": 0.1907,
"predicted_BB": 0.0546,
"predicted_H": 0.6003,
"predicted_HBP": 0.043,
"predicted_HR": 0.1073,
"predicted_OBP": 0.2045,
"predicted_R": 0.193,
"predicted_RBI": 0.3468,
"predicted_SLG": 0.2985,
"predicted_SO": 0.5477
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0152,
"after": 0.0152,
"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.1482,
"after": 3.1482,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.208,
"after": 0.1907,
"delta": -0.0173,
"percent_delta": -0.0832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0545,
"after": 0.0546,
"delta": 0.0001,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5922,
"after": 0.6003,
"delta": 0.0081,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1063,
"after": 0.1073,
"delta": 0.001,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2229,
"after": 0.2045,
"delta": -0.0184,
"percent_delta": -0.0825,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1886,
"after": 0.193,
"delta": 0.0044,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3389,
"after": 0.3468,
"delta": 0.0079,
"percent_delta": 0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3618,
"after": 0.2985,
"delta": -0.0633,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5489,
"after": 0.5477,
"delta": -0.0012,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3618,
"after": 0.2985,
"delta": -0.0633,
"percent_delta": -0.175,
"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.191 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.0152,
"after": 0.0,
"delta": -0.0152,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1482,
"after": 3.0,
"delta": -0.1482,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0546,
"after": 0.0,
"delta": -0.0546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6003,
"after": 1.0,
"delta": 0.3997,
"percent_delta": 0.6658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1073,
"after": 0.0,
"delta": -0.1073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3468,
"after": 0.0,
"delta": -0.3468,
"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": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5477,
"after": 1.0,
"delta": 0.4523,
"percent_delta": 0.8258,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3468,
"after": 0.0,
"delta": -0.3468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.193,
"after": 0.0,
"delta": -0.193,
"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.193,
"after": 0.0,
"delta": -0.193,
"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.1907,
"after": 0.333,
"delta": 0.1423,
"percent_delta": 0.7462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2045,
"after": 0.333,
"delta": 0.1285,
"percent_delta": 0.6284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2985,
"after": 0.333,
"delta": 0.0345,
"percent_delta": 0.1156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1907,
"after": 0.333,
"delta": 0.1423,
"percent_delta": 0.7462,
"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": 3.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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1907,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2045,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2985,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1907,
"delta": -0.1423,
"percent_delta": -0.4274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2045,
"delta": -0.1285,
"percent_delta": -0.3859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.2985,
"delta": -0.0345,
"percent_delta": -0.1036,
"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.1907,
"delta": -0.1423,
"percent_delta": -0.4274,
"direction": "deboost",
"projection_effect": "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.12,
"after": 3.0,
"delta": -0.12,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.1907,
"delta": -0.0363,
"percent_delta": -0.1599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.04,
"after": 1.0,
"delta": 0.96,
"percent_delta": 24.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 3.0,
"delta": 2.39,
"percent_delta": 3.918,
"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.233,
"after": 0.2045,
"delta": -0.0285,
"percent_delta": -0.1223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.2985,
"delta": -0.0995,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"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.61,
"after": 3.0,
"delta": 2.39,
"percent_delta": 3.918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"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.120 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.040 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.233 | - |
| predicted_R | 0.160 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.398 | - |
| predicted_SO | 0.560 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.015 | 0.015 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.148 | 0.028 |
| predicted_AVG | 0.208 | -0.019 |
| predicted_BB | 0.054 | 0.014 |
| predicted_H | 0.592 | -0.018 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.106 | 0.006 |
| predicted_OBP | 0.223 | -0.010 |
| predicted_R | 0.189 | 0.029 |
| predicted_RBI | 0.339 | 0.009 |
| predicted_SLG | 0.362 | -0.036 |
| predicted_SO | 0.549 | -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.015 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.148 | 0.000 |
| predicted_AVG | 0.191 | -0.017 |
| predicted_BB | 0.055 | 0.000 |
| predicted_H | 0.600 | 0.008 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.107 | 0.001 |
| predicted_OBP | 0.204 | -0.018 |
| predicted_R | 0.193 | 0.004 |
| predicted_RBI | 0.347 | 0.008 |
| predicted_SLG | 0.298 | -0.063 |
| predicted_SO | 0.548 | -0.001 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.191 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.015 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.148 |
| predicted_AVG | 0.333 | 0.142 |
| predicted_BB | 0.000 | -0.055 |
| predicted_H | 1.000 | 0.400 |
| predicted_HR | 0.000 | -0.107 |
| predicted_OBP | 0.333 | 0.129 |
| predicted_R | 0.000 | -0.193 |
| predicted_RBI | 0.000 | -0.347 |
| predicted_SLG | 0.333 | 0.035 |
| 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 | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.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 | - | 14.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 1.000 | 0.2143 | 0.2143 | 0.4286 | 0.2143 | 0.0714 | 0.1429 | 0.0000 | 0.0714 |
| last_10 | 0.20 | 10 | - | 27.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 3.000 | 0.1852 | 0.1852 | 0.2963 | 0.1852 | 0.0370 | 0.1482 | 0.0000 | 0.1111 |
| season | 0.60 | 25 | - | 78.000 | 9.000 | 0.000 | 0.000 | 2.000 | 6.000 | 4.000 | 1.000 | 14.000 | 0.1154 | 0.1481 | 0.1923 | 0.1154 | 0.0256 | 0.0769 | 0.0128 | 0.1795 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0410 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.1960 |
| predicted_AVG | 0.1758 |
| predicted_BB | 0.0790 |
| predicted_H | 0.5620 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.2058 |
| predicted_R | 0.2370 |
| predicted_RBI | 0.3540 |
| predicted_SLG | 0.3004 |
| predicted_SO | 0.5300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0410 | 0.0152 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 3.1200 | 3.1960 | 3.1482 | model_form_blend |
| predicted_AVG | 0.2270 | 0.1758 | 0.2080 | model_form_blend |
| predicted_BB | 0.0400 | 0.0790 | 0.0545 | model_form_blend |
| predicted_H | 0.6100 | 0.5620 | 0.5922 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.1000 | 0.1170 | 0.1063 | model_form_blend |
| predicted_OBP | 0.2330 | 0.2058 | 0.2229 | model_form_blend |
| predicted_R | 0.1600 | 0.2370 | 0.1886 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3540 | 0.3389 | model_form_blend |
| predicted_SLG | 0.3980 | 0.3004 | 0.3618 | model_form_blend |
| predicted_SO | 0.5600 | 0.5300 | 0.5489 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 72 |
| Season rows before report date | 72 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.115 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260627_PHI@NYM |
| game_type | full |
| mlbID | 665561 |
| playerID | 665561 |
| playerName | Rafael Marchán |
| pos | C |
| started | True |
| startingPosition | C |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-27 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 1.2 |
| sl_woba | 0.154 |
| sl_xwoba | 0.205 |
| sl_xba | 0.18 |
| sl_xslg | 0.251 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 3.1 |
| sl_hard_hit_percent | 21.9 |
| sl_exit_velocity_avg | 84.3 |
| sl_launch_angle_avg | 24.7 |
| sl_whiff_percent | 16.2 |
| sl_swing_percent | 48.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.667 | 2.000 | 1.333 | 0.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.000 | 4.000 | 2.000 | 0.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.000 | 4.000 | 2.000 | 2.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 4.000 | 4.000 | 0.000 | 0.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.333 | 4.000 | 0.667 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.0000 (deboost -0.6667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.0000 (deboost -0.6667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "660604",
"player_name": "Alan Rangel",
"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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_R": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.0,
"delta": -0.6667,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.667 | - |
| predicted_SO | 5.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.000 | -0.667 |
| predicted_SO | 5.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 3 | 12.000 | 6.000 | 12.000 | 2.000 | 13.000 | 1.000 | 4.5000 | 1.1667 | 0.5000 | 1.0000 | 0.1667 | 1.0833 | 0.0833 |
| last_10 | 0.35 | 3 | 12.000 | 6.000 | 12.000 | 2.000 | 13.000 | 1.000 | 4.5000 | 1.1667 | 0.5000 | 1.0000 | 0.1667 | 1.0833 | 0.0833 |
| season | 0.20 | 3 | 12.000 | 6.000 | 12.000 | 2.000 | 13.000 | 1.000 | 4.5000 | 1.1667 | 0.5000 | 1.0000 | 0.1667 | 1.0833 | 0.0833 |
| Metric | Value |
|---|---|
| predicted_BB | 1.2630 |
| predicted_ER | 2.2020 |
| predicted_ERA | 4.4867 |
| predicted_H | 4.3210 |
| predicted_HR | 0.5440 |
| predicted_IP | 4.1000 |
| predicted_SO | 4.4260 |
| predicted_WHIP | 1.2643 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.2630 | 1.7156 | model_form_blend |
| predicted_ER | 4.0000 | 2.2020 | 3.3061 | model_form_blend |
| predicted_ERA | - | 4.4867 | 4.4867 | form_only |
| predicted_H | 6.0000 | 4.3210 | 5.3520 | model_form_blend |
| predicted_HR | 1.0000 | 0.5440 | 0.8240 | model_form_blend |
| predicted_IP | 4.2000 | 4.1000 | 4.2000 | model_form_blend |
| predicted_SO | 5.0000 | 4.4260 | 4.7785 | model_form_blend |
| predicted_WHIP | - | 1.2643 | 1.2643 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 6 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 5 |
| HR | 1 |
| BF | 20 |
| Pitches | 76 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 18 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 3 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 70 |
| Pitching_R | 4 |
| Pitching_SO | 4 |
| Pitching_Strikes | 46 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260627_PHI@NYM |
| game_type | full |
| mlbID | 660604 |
| playerID | 660604 |
| playerName | Alan Rangel |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-27 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.303 |
| sl_xwoba | 0.27 |
| sl_sweet_spot_percent | 22.9 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 25.7 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 53.8 |
| sl_avg_best_speed | 74.785245294 |
| sl_avg_hyper_speed | 92.549583529 |
| 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.188 | 0.000 | -0.188 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.688 | 1.000 | -0.688 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.912 | 1.000 | 0.088 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.406 | 1.000 | -0.406 | 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": "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": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 3.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.6000 | 0.2000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 7.000 | 1.000 | 14.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.7000 | 0.1000 | 1.4000 | 0.0000 |
| season | 0.20 | 30 | 29.200 | 3.000 | 19.000 | 6.000 | 45.000 | 1.000 | 0.9101 | 0.8427 | 0.1011 | 0.6404 | 0.2023 | 1.5169 | 0.0337 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2540 |
| predicted_ER | 0.2400 |
| predicted_ERA | 2.1563 |
| predicted_H | 0.7910 |
| predicted_HR | 0.0710 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2560 |
| predicted_WHIP | 1.0449 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2540 | 0.1158 | model_form_blend |
| predicted_ER | 0.0000 | 0.2400 | 0.1094 | model_form_blend |
| predicted_ERA | - | 2.1563 | 2.1563 | form_only |
| predicted_H | 0.0000 | 0.7910 | 0.3606 | model_form_blend |
| predicted_HR | 0.0000 | 0.0710 | 0.0324 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2560 | 1.1167 | model_form_blend |
| predicted_WHIP | - | 1.0449 | 1.0449 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 32 |
| Season rows before report date | 32 |
| Report year | 2026 |
| Profile rows used | 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 | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.52 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 661395 |
| playerID | 661395 |
| playerName | Jhoan Duran |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 39.5 |
| sl_bb_percent | 5.3 |
| sl_woba | 0.229 |
| sl_xwoba | 0.233 |
| sl_sweet_spot_percent | 25.4 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 49.2 |
| sl_whiff_percent | 40.4 |
| sl_swing_percent | 51.5 |
| sl_avg_best_speed | 82.902942813 |
| sl_avg_hyper_speed | 95.094758254 |
| 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.306 | 0.000 | -0.306 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.528 | 0.000 | -0.528 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.056 | 1.000 | -1.056 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.697 | 1.000 | 0.303 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.139 | 2.000 | 0.861 | 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": "621237",
"player_name": "José Alvarado",
"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": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 6.000 | 2.000 | 8.000 | 0.000 | 5.4000 | 1.6000 | 0.6000 | 1.2000 | 0.4000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 7.000 | 11.000 | 3.000 | 15.000 | 2.000 | 6.5172 | 1.4483 | 0.7241 | 1.1379 | 0.3103 | 1.5517 | 0.2069 |
| season | 0.20 | 36 | 30.000 | 19.000 | 38.000 | 11.000 | 41.000 | 3.000 | 5.7000 | 1.6333 | 0.6333 | 1.2667 | 0.3667 | 1.3667 | 0.1000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3470 |
| predicted_ER | 0.5590 |
| predicted_ERA | 5.2243 |
| predicted_H | 1.0490 |
| predicted_HR | 0.1130 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2240 |
| predicted_WHIP | 1.4482 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3470 | 0.1586 | model_form_blend |
| predicted_ER | 0.0000 | 0.5590 | 0.2555 | model_form_blend |
| predicted_ERA | - | 5.2243 | 5.2243 | form_only |
| predicted_H | 0.0000 | 1.0490 | 0.4794 | model_form_blend |
| predicted_HR | 0.0000 | 0.1130 | 0.0516 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2240 | 1.6453 | model_form_blend |
| predicted_WHIP | - | 1.4482 | 1.4482 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.70 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 24 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260628_PHI@NYM |
| game_type | full |
| mlbID | 621237 |
| playerID | 621237 |
| playerName | José Alvarado |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-28 |
| sl_k_percent | 28.5 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.366 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 37.2 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 29.1 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 76.199395476 |
| sl_avg_hyper_speed | 93.086837831 |
| 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.472 | 0.000 | -0.472 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.639 | 0.000 | -0.639 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.869 | 1.200 | 0.131 | -0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.056 | 0.000 | -0.056 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "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": 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 | 3.000 | 3.000 | 4.000 | 6.000 | 1.000 | 4.7647 | 1.2353 | 0.5294 | 0.5294 | 0.7059 | 1.0588 | 0.1765 |
| last_10 | 0.35 | 10 | 11.000 | 4.000 | 5.000 | 7.000 | 13.000 | 1.000 | 3.2727 | 1.0909 | 0.3636 | 0.4546 | 0.6364 | 1.1818 | 0.0909 |
| season | 0.20 | 36 | 34.100 | 10.000 | 23.000 | 17.000 | 38.000 | 3.000 | 2.6214 | 1.1650 | 0.2913 | 0.6699 | 0.4951 | 1.1068 | 0.0874 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5200 |
| predicted_ER | 0.4550 |
| predicted_ERA | 4.0954 |
| predicted_H | 0.7150 |
| predicted_HR | 0.1360 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0440 |
| predicted_WHIP | 1.2351 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5200 | 0.2450 | model_form_blend |
| predicted_ER | 0.0000 | 0.4550 | 0.2143 | model_form_blend |
| predicted_ERA | - | 4.0954 | 4.0954 | form_only |
| predicted_H | 0.0000 | 0.7150 | 0.3368 | model_form_blend |
| predicted_HR | 0.0000 | 0.1360 | 0.0641 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0440 | 1.0207 | model_form_blend |
| predicted_WHIP | - | 1.2351 | 1.2351 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.62 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260701_PIT@PHI |
| game_type | full |
| mlbID | 689147 |
| playerID | 689147 |
| playerName | Orion Kerkering |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-07-01 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.281 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 24.7 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 42.7 |
| sl_avg_best_speed | 72.026225227 |
| sl_avg_hyper_speed | 92.063952184 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.222 | 1.000 | -0.222 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.852 | 1.000 | -0.852 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.800 | 1.000 | -0.600 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.111 | 3.000 | -0.111 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "680742",
"player_name": "Jonathan Bowlan",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 2.200 | 1.000 | 3.000 | 2.000 | 7.000 | 1.000 | 3.3750 | 1.8750 | 0.3750 | 1.1250 | 0.7500 | 2.6250 | 0.3750 |
| last_10 | 0.35 | 10 | 8.000 | 1.000 | 7.000 | 2.000 | 14.000 | 1.000 | 1.1250 | 1.1250 | 0.1250 | 0.8750 | 0.2500 | 1.7500 | 0.1250 |
| season | 0.20 | 27 | 25.100 | 10.000 | 23.000 | 6.000 | 30.000 | 2.000 | 3.5526 | 1.1447 | 0.3947 | 0.9079 | 0.2368 | 1.1842 | 0.0790 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2910 |
| predicted_ER | 0.2760 |
| predicted_ERA | 3.5488 |
| predicted_H | 0.6860 |
| predicted_HR | 0.1310 |
| predicted_IP | 0.2000 |
| predicted_SO | 1.0450 |
| predicted_WHIP | 1.3948 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2910 | 0.1278 | model_form_blend |
| predicted_ER | 0.0000 | 0.2760 | 0.1212 | model_form_blend |
| predicted_ERA | - | 3.5488 | 3.5488 | form_only |
| predicted_H | 0.0000 | 0.6860 | 0.3013 | model_form_blend |
| predicted_HR | 0.0000 | 0.1310 | 0.0575 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0450 | 1.0198 | model_form_blend |
| predicted_WHIP | - | 1.3948 | 1.3948 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.55 |
| 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 | 26 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260630_PIT@PHI |
| game_type | full |
| mlbID | 680742 |
| playerID | 680742 |
| playerName | Jonathan Bowlan |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-30 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 5.7 |
| sl_woba | 0.275 |
| sl_xwoba | 0.26 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 35.3 |
| sl_whiff_percent | 33.2 |
| sl_swing_percent | 48.6 |
| sl_avg_best_speed | 76.941447273 |
| sl_avg_hyper_speed | 93.013001515 |
| 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.242 | 1.000 | -0.242 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.364 | 0.000 | -0.364 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.909 | 1.000 | 0.091 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.073 | 2.000 | 0.027 | -0.900 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.152 | 2.000 | 0.848 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.1000 (boost 0.4333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641835",
"player_name": "Tim Mayza",
"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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.65,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.1,
"delta": 0.4333,
"percent_delta": 0.6499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.100 | 1.000 | 5.000 | 1.000 | 8.000 | 0.000 | 1.2273 | 0.8182 | 0.1364 | 0.6818 | 0.1364 | 1.0909 | 0.0000 |
| last_10 | 0.35 | 10 | 11.100 | 1.000 | 10.000 | 1.000 | 12.000 | 0.000 | 0.7941 | 0.9706 | 0.0882 | 0.8823 | 0.0882 | 1.0588 | 0.0000 |
| season | 0.20 | 33 | 38.200 | 12.000 | 30.000 | 8.000 | 38.000 | 4.000 | 2.7931 | 0.9828 | 0.3103 | 0.7759 | 0.2069 | 0.9828 | 0.1035 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2220 |
| predicted_ER | 0.2900 |
| predicted_ERA | 2.6087 |
| predicted_H | 0.8470 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0160 |
| predicted_WHIP | 1.0696 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2220 | 0.1073 | model_form_blend |
| predicted_ER | 0.0000 | 0.2900 | 0.1401 | model_form_blend |
| predicted_ERA | - | 2.6087 | 2.6087 | form_only |
| predicted_H | 1.0000 | 0.8470 | 0.9261 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0338 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0160 | 1.5245 | model_form_blend |
| predicted_WHIP | - | 1.0696 | 1.0696 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 2.79 |
| Pitching_Flyouts | 2 |
| 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 | 35 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 24 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260629_PIT@PHI |
| game_type | full |
| mlbID | 641835 |
| playerID | 641835 |
| playerName | Tim Mayza |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-29 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.26 |
| sl_xwoba | 0.28 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 42.5 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 45.0 |
| sl_avg_best_speed | 77.085311923 |
| sl_avg_hyper_speed | 94.475291346 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SD 1 - 6 LAD | LAD | 0.660 | scoring_simulation.final_score | True |
| Simulation draw | SD 1 - 7 LAD | LAD | - | reconciled_final_score | 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.6600 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | reconciled_final_score |
| 10. Score evolution rendered | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 5.180 | 5.134 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 5 | 0.6600 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 6 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 1 | 6 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 1 | 6 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 1 | 7 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4188868194842407,
"base_low_score_probability": 0.419054441260745,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": -0.00016762177650425647,
"confidence": 0.6002,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 0.9996
},
"prediction": "normal_scoring",
"expected_total_runs": 8,
"pre_simulation_expected_total_runs": 9.8,
"low_score_model_expected_total_runs": 9.8,
"final_simulation_total_runs": 8,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 88,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 88,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5341,
"bayesian_hit_rate": 0.5283,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8302,
"confidence_cap": 0.78,
"raw_pick_probability": 0.8613,
"calibrated_pick_probability": 0.6453,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "LAD",
"games": 86,
"wins": 56,
"losses": 30,
"win_pct": 0.6511627906976745,
"runs_scored": 461,
"runs_allowed": 298,
"run_differential": 163,
"run_differential_per_game": 1.8953488372093024,
"available": true
},
"away": {
"team": "SD",
"games": 85,
"wins": 43,
"losses": 42,
"win_pct": 0.5058823529411764,
"runs_scored": 333,
"runs_allowed": 369,
"run_differential": -36,
"run_differential_per_game": -0.4235294117647059,
"available": true
},
"run_differential_edge_per_game": 2.3189,
"win_pct_edge": 0.1453,
"quality_edge": 2.5368,
"margin_adjustment": 1.0655,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.667,
"home_runs": 9.037,
"home_win_probability": 0.92
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "LAD",
"guardrail_predicted_team": "LAD",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "LAD",
"output_opponent_team": "SD",
"final_score_winner": "LAD",
"pre_simulation_winner": "LAD",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 6,
"score_text": "SD 1 - 6 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 7,
"score_text": "SD 1 - 7 LAD",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 5,
"final_margin": 6,
"winner_quality_edge": 2.5368,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "LAD",
"games": 86,
"wins": 56,
"losses": 30,
"win_pct": 0.6511627906976745,
"runs_scored": 461,
"runs_allowed": 298,
"run_differential": 163,
"run_differential_per_game": 1.8953488372093024,
"available": true
},
"away": {
"team": "SD",
"games": 85,
"wins": 43,
"losses": 42,
"win_pct": 0.5058823529411764,
"runs_scored": 333,
"runs_allowed": 369,
"run_differential": -36,
"run_differential_per_game": -0.4235294117647059,
"available": true
}
}
}{
"applied": true,
"raw_margin": 6.3708,
"final_margin": 4.25,
"margin_cap": 4.25,
"season_quality_edge": 2.5368,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 3.727,
"home_runs": 7.977
}
}{
"applied": false,
"raw_confidence": 0.645333,
"final_confidence": 0.645333,
"confidence_cap": 0.66,
"score_gap": 4.25,
"calibration_sample_size": 88,
"calibration_empirical_hit_rate": 0.5341,
"calibration_bayesian_hit_rate": 0.5283,
"calibration_sparse_bucket": false,
"season_quality_edge": 2.5368,
"reasons": [
"unvalidated probabilities are capped for production display",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 6,
"score_text": "SD 1 - 6 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 7,
"score_text": "SD 1 - 7 LAD",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 5,
"final_margin": 6,
"winner_quality_edge": 2.5368,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 1,
"home_runs": 7,
"confidence": 0.66,
"home_win_probability": 0.66,
"away_win_probability": 0.33999999999999997,
"predicted_score_text": "SD 1 - 7 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": "SD",
"original_runs": 1,
"run_delta": 0.0816,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.1569838646280006,
"contact": 0.015447405358375191,
"power": 0.016587390508517947,
"discipline": 0.10892072010243632,
"xwoba": 0.3175483870967742,
"recent_xwoba": 0.3175483870967742,
"barrel": 7.741935483870969,
"ab_hard_contact": -0.07514619904623199,
"ab_bat_speed": 70.7462383809118,
"ab_strikeout_rate": 0.22888342736300143,
"available_players": 8,
"top_players": [
{
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"weight": 4.0,
"quality": 0.904661514076355,
"contact": 1.1747642781553902,
"power": 0.9195066951093218,
"discipline": -0.140514652014652,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 11.1,
"ab_hard_contact": 0.8141339021864324,
"ab_bat_speed": 72.76390277777777,
"ab_strikeout_rate": 0.22403846153846155,
"available": 1.0
},
{
"player_id": "666023",
"player_name": "Freddy Fermin",
"position": "C",
"weight": 3.0,
"quality": -0.45175730216570914,
"contact": -1.2636824134260163,
"power": -1.239338678089438,
"discipline": 0.305471264367816,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 2.8,
"ab_hard_contact": -0.7166783236935291,
"ab_bat_speed": 67.52339285714285,
"ab_strikeout_rate": 0.20919540229885056,
"available": 1.0
},
{
"player_id": "630105",
"player_name": "Jake Cronenworth",
"position": "2B",
"weight": 3.0,
"quality": -0.21931315549741812,
"contact": -0.6087797491694351,
"power": -0.7581943337922766,
"discipline": 0.4605407066052227,
"xwoba": 0.299,
"recent_xwoba": 0.299,
"barrel": 4.9,
"ab_hard_contact": -0.7280771520360148,
"ab_bat_speed": 68.85162972085386,
"ab_strikeout_rate": 0.2252688172043011,
"available": 1.0
},
{
"player_id": "657757",
"player_name": "Gavin Sheets",
"position": "DH",
"weight": 3.0,
"quality": 0.3111129691796552,
"contact": 0.42567805070575715,
"power": 0.4593631064045464,
"discipline": 0.33966269841269836,
"xwoba": 0.337,
"recent_xwoba": 0.337,
"barrel": 8.8,
"ab_hard_contact": 0.976214509043313,
"ab_bat_speed": 73.19456219806763,
"ab_strikeout_rate": 0.21736111111111112,
"available": 1.0
},
{
"player_id": "664034",
"player_name": "Ty France",
"position": "1B",
"weight": 3.0,
"quality": 0.1483417820930551,
"contact": 0.3511853563605186,
"power": 0.8304490086700662,
"discipline": -0.6966190476190478,
"xwoba": 0.33,
"recent_xwoba": 0.33,
"barrel": 11.7,
"ab_hard_contact": 0.022694459115615448,
"ab_bat_speed": 69.51782840722495,
"ab_strikeout_rate": 0.3,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "808963",
"player_name": "Roki Sasaki",
"quality": -0.25513380467649405,
"contact": -0.768049629457143,
"command": 0.16914285714285704,
"movement": 0.15276168302329846,
"xwoba": 0.331,
"whiff": 28.8,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "LAD",
"original_runs": 5,
"run_delta": 0.8782,
"adjusted_runs": 6,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.5303639412458777,
"contact": 0.7869475550341635,
"power": 0.7519514026491919,
"discipline": 0.3479510448701625,
"xwoba": 0.3590882352941177,
"recent_xwoba": 0.3590882352941177,
"barrel": 10.573529411764707,
"ab_hard_contact": 0.26764033917954405,
"ab_bat_speed": 70.54314328456587,
"ab_strikeout_rate": 0.21506156017185432,
"available_players": 8,
"top_players": [
{
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"weight": 4.0,
"quality": 1.5733266139084656,
"contact": 1.6128889001700424,
"power": 2.0,
"discipline": 0.6612380952380952,
"xwoba": 0.41200000000000003,
"recent_xwoba": 0.412,
"barrel": 16.4,
"ab_hard_contact": 1.2664425279015912,
"ab_bat_speed": 73.65034166666666,
"ab_strikeout_rate": 0.221,
"available": 1.0
},
{
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"weight": 4.0,
"quality": 1.1960114894960743,
"contact": 1.4352892140528262,
"power": 1.2161263936201363,
"discipline": 0.7981227106227107,
"xwoba": 0.393,
"recent_xwoba": 0.393,
"barrel": 11.9,
"ab_hard_contact": 0.7952897771646296,
"ab_bat_speed": 69.57375961538462,
"ab_strikeout_rate": 0.15961538461538463,
"available": 1.0
},
{
"player_id": "571970",
"player_name": "Max Muncy",
"position": "3B",
"weight": 3.0,
"quality": 0.707105404949602,
"contact": 0.7113799614200426,
"power": 1.2484517749238173,
"discipline": 0.250670634920635,
"xwoba": 0.368,
"recent_xwoba": 0.368,
"barrel": 14.4,
"ab_hard_contact": 1.0890354984763466,
"ab_bat_speed": 70.70347280092592,
"ab_strikeout_rate": 0.2576388888888889,
"available": 1.0
},
{
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"weight": 4.0,
"quality": 0.5011943753191049,
"contact": 0.6396692693475322,
"power": 0.6031023420205658,
"discipline": -0.07841558441558442,
"xwoba": 0.342,
"recent_xwoba": 0.342,
"barrel": 9.0,
"ab_hard_contact": 0.7111896975541705,
"ab_bat_speed": 71.2382103909465,
"ab_strikeout_rate": 0.20393939393939395,
"available": 1.0
},
{
"player_id": "606192",
"player_name": "Teoscar Hernández",
"position": "LF",
"weight": 4.0,
"quality": 0.2886771412318793,
"contact": 0.32665996302718564,
"power": 0.5778464085606124,
"discipline": -0.2961190476190475,
"xwoba": 0.333,
"recent_xwoba": 0.333,
"barrel": 10.6,
"ab_hard_contact": 0.2693091235932026,
"ab_bat_speed": 70.83195555555557,
"ab_strikeout_rate": 0.278,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "681190",
"player_name": "Randy Vásquez",
"quality": -1.0535175717773348,
"contact": -1.8505804799537298,
"command": -0.4470000000000002,
"movement": -0.0884580213563263,
"xwoba": 0.397,
"whiff": 20.7,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 1,
"home_runs": 6,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 1,
"home_runs": 6,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 2.5368,
"recent_form_edge_home_minus_away": 0.912,
"pitcher_matchup_edge_home_minus_away": 0.1649,
"composite_home_edge": 2.886,
"existing_home_win_probability": 0.6453,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 2.886
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 1,
"home_runs": 6,
"predicted_score_text": "SD 1 - 6 LAD",
"confidence": 0.66,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 6,
"score_text": "SD 1 - 6 LAD",
"winner": "LAD"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 7,
"score_text": "SD 1 - 7 LAD",
"winner": "LAD"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 5,
"final_margin": 6,
"winner_quality_edge": 2.5368,
"winner": "LAD",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "LAD",
"display_confidence": 0.66,
"internal_fair_probability": 0.72,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.196,
"moneyline_fit": "press",
"margin_fit": "volatile_margin_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 6,
"winner_quality_edge": 2.5368,
"winner_recent_form_edge": 0.912,
"winner_pitcher_matchup_edge": 0.1649,
"winner_simulation_draw_rate": 0.8125,
"blowout_draw_rate_margin_4_plus": 0.1875,
"high_total_draw_rate_11_plus": 0.25,
"low_total_draw_rate_6_or_less": 0.375,
"total_runs_spread": {
"min": 5,
"median": 8,
"max": 13,
"range": 8
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}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.0196 | 1.0196 | 1 | 9 | 0 |
| Home LAD | True | 1.0591 | 1.0591 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Fernando Tatis Jr. | 163 | 1.0902 | 1.2022 | positive_batter_regression | 0.3570 | 0.2900 | 0.4430 | 11.10 | 53.30 | 91.90 | 5 | 28.70 | 19.90 | 8.20 | 1.0857 |
| DH | Gavin Sheets | 202 | 1.0335 | 0.4465 | neutral | 0.3370 | 0.2490 | 0.4310 | 8.80 | 44.20 | 89.30 | 15.50 | 21.10 | 22.80 | 10.50 | -0.1714 |
| 2B | Jake Cronenworth | 455 | 0.9960 | -0.0539 | positive_batter_regression | 0.2990 | 0.2200 | 0.3230 | 4.90 | 30.50 | 87.20 | 6.90 | 23.10 | 19.50 | 11.40 | 1.7429 |
| 3B | Manny Machado | 392 | 1.0319 | 0.4256 | neutral | 0.3150 | 0.2300 | 0.4140 | 10.30 | 43.60 | 90 | 12.20 | 26.20 | 22.10 | 10.60 | 0.6571 |
| 1B | Ty France | 69 | 1.0185 | 0.2471 | negative_batter_regression | 0.3300 | 0.2470 | 0.4460 | 11.70 | 47.30 | 91.30 | 10.20 | 29.70 | 24.60 | 5.60 | -0.9429 |
| CF | Jackson Merrill | 217 | 1.0303 | 0.4042 | positive_batter_regression | 0.3050 | 0.2360 | 0.4100 | 9.40 | 46.60 | 89.90 | 13.20 | 27.80 | 24.90 | 7.20 | 1 |
| SS | Xander Bogaerts | 122 | 1.0140 | 0.1866 | neutral | 0.3190 | 0.2470 | 0.3750 | 5.80 | 38.70 | 88 | 6.20 | 23 | 17.80 | 11.20 | 0.5714 |
| C | Freddy Fermin | 267 | 0.9702 | -0.3977 | neutral | 0.2630 | 0.1900 | 0.2800 | 2.80 | 25.70 | 86.20 | 16.20 | 24.80 | 20 | 10.60 | 0.8000 |
| LF | Samad Taylor | 201 | 0.9917 | -0.1112 | negative_batter_regression | 0.3230 | 0.2770 | 0.3460 | 3.70 | 24.10 | 85 | 7.20 | 24.10 | 28.60 | 12.10 | -1.4000 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Mookie Betts | 85 | 1.0290 | 0.3864 | neutral | 0.3390 | 0.2830 | 0.4470 | 8.40 | 38.20 | 90.40 | 19.10 | 12.90 | 12.60 | 7.20 | 0.4857 |
| DH | Shohei Ohtani | 28 | 1.1409 | 1.8791 | neutral | 0.4120 | 0.2920 | 0.5630 | 16.40 | 53.40 | 93.60 | 11.40 | 28.60 | 23 | 15.20 | 0.3714 |
| CF | Andy Pages | 4 | 1.0556 | 0.7413 | neutral | 0.3420 | 0.2710 | 0.4580 | 9 | 44.90 | 89.20 | 17.20 | 23.10 | 19.90 | 7 | -0.1714 |
| 1B | Freddie Freeman | 30 | 1.1176 | 1.5684 | neutral | 0.3930 | 0.2970 | 0.5190 | 11.90 | 46.20 | 90.80 | 12.60 | 21 | 16.10 | 12.30 | 0.2286 |
| 3B | Max Muncy | 13 | 1.0731 | 0.9741 | neutral | 0.3680 | 0.2550 | 0.5020 | 14.40 | 44.80 | 90 | 14.80 | 27.40 | 23.10 | 11.90 | -0.2571 |
| LF | Teoscar Hernández | 183 | 1.0395 | 0.5265 | neutral | 0.3330 | 0.2560 | 0.4280 | 10.60 | 45.10 | 90 | 13.30 | 29.90 | 27.60 | 9.30 | -0.1714 |
| RF | Kyle Tucker | 149 | 1.0270 | 0.3600 | neutral | 0.3310 | 0.2510 | 0.3780 | 5.80 | 39.70 | 89.10 | 16.30 | 23.60 | 20.90 | 13.40 | 0.2000 |
| C | Dalton Rushing | 141 | 1.0160 | 0.2135 | neutral | 0.3350 | 0.2490 | 0.4250 | 10.10 | 41.30 | 88.70 | 18.80 | 32.40 | 26.70 | 9.10 | -0.3429 |
| 2B | Tommy Edman | 198 | 1.0334 | 0.4458 | negative_batter_regression | 0.3750 | 0.3190 | 0.4610 | 9.40 | 37.50 | 89.80 | 12.80 | 19 | 19.60 | 10.90 | -1.3714 |
{
"home": {
"applied": true,
"offense_factor": 1.0591,
"raw_average_factor": 1.0591,
"team_espn_average_rank": 92.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.029,
"quality_score": 0.3864,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605141",
"espn_id": 33039,
"player_name": "Mookie Betts",
"team": "LAD",
"role": "batter",
"espn_rank": 85,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 85,
"gp_value": 51.0,
"gp_rank": 275,
"ab_value": 205.0,
"ab_rank": 186,
"r_value": 31.0,
"r_rank": 148,
"h_value": 50.0,
"h_rank": 191,
"avg_value": 0.2439024,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 11.0,
"hr_rank": 82,
"rbi_value": 28.0,
"rbi_rank": 172,
"tb_value": 91.0,
"tb_rank": 1075,
"bb_value": 16.0,
"bb_rank": 224,
"so_value": 28.0,
"so_rank": 317,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3004484,
"obp_rank": "-",
"slg_value": 0.4439024,
"slg_rank": "-",
"ops_value": 0.7443508,
"ops_rank": null,
"war_value": 1.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 12.6,
"bb_percent": 7.2,
"woba": 0.322,
"xwoba": 0.339,
"xba": 0.283,
"xslg": 0.447,
"sweet_spot_percent": 43.8,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 19.1,
"whiff_percent": 12.9,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.9194,
"regression_edge": 0.4857,
"xwoba_edge": 1.0286,
"xba_edge": 1.2571,
"xslg_edge": 1.0857,
"barrel_edge": 0.3333,
"hard_hit_edge": 0.0143,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 1.7667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.1409,
"quality_score": 1.8791,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660271",
"espn_id": 39832,
"player_name": "Shohei Ohtani",
"team": "LAD",
"role": "batter",
"espn_rank": 28,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 28,
"gp_value": 79.0,
"gp_rank": 109,
"ab_value": 302.0,
"ab_rank": 72,
"r_value": 60.0,
"r_rank": 2,
"h_value": 88.0,
"h_rank": 25,
"avg_value": 0.2913907,
"avg_rank": 20.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 18.0,
"hr_rank": 21,
"rbi_value": 50.0,
"rbi_rank": 33,
"tb_value": 161.0,
"tb_rank": 203,
"bb_value": 56.0,
"bb_rank": 7,
"so_value": 85.0,
"so_rank": 32,
"sb_value": 6.0,
"sb_rank": 87,
"obp_value": 0.4059945,
"obp_rank": "4",
"slg_value": 0.5331125,
"slg_rank": "9",
"ops_value": 0.939107,
"ops_rank": 5.0,
"war_value": 2.82,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 23.0,
"bb_percent": 15.2,
"woba": 0.399,
"xwoba": 0.412,
"xba": 0.292,
"xslg": 0.563,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 16.4,
"hard_hit_percent": 53.4,
"exit_velocity_avg": 93.6,
"launch_angle_avg": 11.4,
"whiff_percent": 28.6,
"swing_percent": 44.0
},
"components": {
"expected_quality": 2.1245,
"regression_edge": 0.3714,
"xwoba_edge": 2.5,
"xba_edge": 1.5143,
"xslg_edge": 2.5,
"barrel_edge": 2.1111,
"hard_hit_edge": 2.1857,
"exit_velocity_edge": 1.92,
"sweet_spot_edge": 1.1,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0556,
"quality_score": 0.7413,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 4,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 4,
"gp_value": 86.0,
"gp_rank": 14,
"ab_value": 336.0,
"ab_rank": 9,
"r_value": 52.0,
"r_rank": 27,
"h_value": 91.0,
"h_rank": 15,
"avg_value": 0.2708333,
"avg_rank": 47.0,
"2b_value": 20.0,
"2b_rank": 9,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 16.0,
"hr_rank": 32,
"rbi_value": 60.0,
"rbi_rank": 2,
"tb_value": 161.0,
"tb_rank": 298,
"bb_value": 26.0,
"bb_rank": 115,
"so_value": 74.0,
"so_rank": 72,
"sb_value": 8.0,
"sb_rank": 64,
"obp_value": 0.3279569,
"obp_rank": "83",
"slg_value": 0.4791666,
"slg_rank": "36",
"ops_value": 0.8071235,
"ops_rank": 47.0,
"war_value": 4.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 19.9,
"bb_percent": 7.0,
"woba": 0.348,
"xwoba": 0.342,
"xba": 0.271,
"xslg": 0.458,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 44.9,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 17.2,
"whiff_percent": 23.1,
"swing_percent": 49.1
},
"components": {
"expected_quality": 0.8898,
"regression_edge": -0.1714,
"xwoba_edge": 1.1143,
"xba_edge": 0.9143,
"xslg_edge": 1.2429,
"barrel_edge": 0.4667,
"hard_hit_edge": 0.9714,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.65,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.1176,
"quality_score": 1.5684,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 30,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 30,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 316.0,
"ab_rank": 33,
"r_value": 50.0,
"r_rank": 33,
"h_value": 93.0,
"h_rank": 10,
"avg_value": 0.2943037,
"avg_rank": 13.0,
"2b_value": 22.0,
"2b_rank": 2,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 47.0,
"rbi_rank": 40,
"tb_value": 159.0,
"tb_rank": 316,
"bb_value": 45.0,
"bb_rank": 22,
"so_value": 59.0,
"so_rank": 128,
"sb_value": 3.0,
"sb_rank": 169,
"obp_value": 0.3841961,
"obp_rank": "14",
"slg_value": 0.5031645,
"slg_rank": "23",
"ops_value": 0.8873606,
"ops_rank": 9.0,
"war_value": 2.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 16.1,
"bb_percent": 12.3,
"woba": 0.385,
"xwoba": 0.393,
"xba": 0.297,
"xslg": 0.519,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 46.2,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 12.6,
"whiff_percent": 21.0,
"swing_percent": 49.3
},
"components": {
"expected_quality": 1.7865,
"regression_edge": 0.2286,
"xwoba_edge": 2.5,
"xba_edge": 1.6571,
"xslg_edge": 2.1143,
"barrel_edge": 1.1111,
"hard_hit_edge": 1.1571,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.75,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "571970",
"player_name": "Max Muncy",
"offense_factor": 1.0731,
"quality_score": 0.9741,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571970",
"espn_id": 33303,
"player_name": "Max Muncy",
"team": "LAD",
"role": "batter",
"espn_rank": 13,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 13,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 264.0,
"ab_rank": 118,
"r_value": 51.0,
"r_rank": 29,
"h_value": 70.0,
"h_rank": 93,
"avg_value": 0.2651515,
"avg_rank": 59.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 17.0,
"hr_rank": 26,
"rbi_value": 37.0,
"rbi_rank": 91,
"tb_value": 135.0,
"tb_rank": 467,
"bb_value": 36.0,
"bb_rank": 49,
"so_value": 70.0,
"so_rank": 85,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3597359,
"obp_rank": "33",
"slg_value": 0.5113636,
"slg_rank": "20",
"ops_value": 0.8710995,
"ops_rank": 53.0,
"war_value": 3.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 189.0,
"k_percent": 23.1,
"bb_percent": 11.9,
"woba": 0.377,
"xwoba": 0.368,
"xba": 0.255,
"xslg": 0.502,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 14.4,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 14.8,
"whiff_percent": 27.4,
"swing_percent": 43.8
},
"components": {
"expected_quality": 1.3603,
"regression_edge": -0.2571,
"xwoba_edge": 1.8571,
"xba_edge": 0.4571,
"xslg_edge": 1.8714,
"barrel_edge": 1.6667,
"hard_hit_edge": 0.9571,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"offense_factor": 1.0395,
"quality_score": 0.5265,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606192",
"espn_id": 33377,
"player_name": "Teoscar Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 183,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 183,
"gp_value": 53.0,
"gp_rank": 262,
"ab_value": 189.0,
"ab_rank": 219,
"r_value": 32.0,
"r_rank": 141,
"h_value": 52.0,
"h_rank": 179,
"avg_value": 0.2751322,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 32.0,
"rbi_rank": 131,
"tb_value": 81.0,
"tb_rank": 1261,
"bb_value": 20.0,
"bb_rank": 178,
"so_value": 59.0,
"so_rank": 128,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3457943,
"obp_rank": "-",
"slg_value": 0.4285714,
"slg_rank": "-",
"ops_value": 0.7743657,
"ops_rank": null,
"war_value": 0.73,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 198.0,
"k_percent": 27.6,
"bb_percent": 9.3,
"woba": 0.339,
"xwoba": 0.333,
"xba": 0.256,
"xslg": 0.428,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 45.1,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 13.3,
"whiff_percent": 29.9,
"swing_percent": 44.8
},
"components": {
"expected_quality": 0.7082,
"regression_edge": -0.1714,
"xwoba_edge": 0.8571,
"xba_edge": 0.4857,
"xslg_edge": 0.8143,
"barrel_edge": 0.8222,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.027,
"quality_score": 0.36,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 149,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 149,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 293.0,
"ab_rank": 88,
"r_value": 47.0,
"r_rank": 43,
"h_value": 70.0,
"h_rank": 93,
"avg_value": 0.2389078,
"avg_rank": 115.0,
"2b_value": 16.0,
"2b_rank": 42,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 44.0,
"rbi_rank": 52,
"tb_value": 111.0,
"tb_rank": 631,
"bb_value": 46.0,
"bb_rank": 20,
"so_value": 72.0,
"so_rank": 78,
"sb_value": 6.0,
"sb_rank": 87,
"obp_value": 0.3430232,
"obp_rank": "55",
"slg_value": 0.3788395,
"slg_rank": "119",
"ops_value": 0.7218627,
"ops_rank": 174.0,
"war_value": 1.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 20.9,
"bb_percent": 13.4,
"woba": 0.324,
"xwoba": 0.331,
"xba": 0.251,
"xslg": 0.378,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 39.7,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 16.3,
"whiff_percent": 23.6,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.386,
"regression_edge": 0.2,
"xwoba_edge": 0.8,
"xba_edge": 0.3429,
"xslg_edge": 0.1,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.2286,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "687221",
"player_name": "Dalton Rushing",
"offense_factor": 1.016,
"quality_score": 0.2135,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687221",
"espn_id": 4619839,
"player_name": "Dalton Rushing",
"team": "LAD",
"role": "batter",
"espn_rank": 141,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 141,
"gp_value": 52.0,
"gp_rank": 270,
"ab_value": 156.0,
"ab_rank": 263,
"r_value": 24.0,
"r_rank": 206,
"h_value": 38.0,
"h_rank": 246,
"avg_value": 0.2435897,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 9.0,
"hr_rank": 112,
"rbi_value": 25.0,
"rbi_rank": 194,
"tb_value": 72.0,
"tb_rank": 1245,
"bb_value": 16.0,
"bb_rank": 224,
"so_value": 47.0,
"so_rank": 192,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3295454,
"obp_rank": "-",
"slg_value": 0.4615384,
"slg_rank": "-",
"ops_value": 0.7910838,
"ops_rank": null,
"war_value": 1.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 26.7,
"bb_percent": 9.1,
"woba": 0.347,
"xwoba": 0.335,
"xba": 0.249,
"xslg": 0.425,
"sweet_spot_percent": 35.8,
"barrel_batted_rate": 10.1,
"hard_hit_percent": 41.3,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 18.8,
"whiff_percent": 32.4,
"swing_percent": 50.5
},
"components": {
"expected_quality": 0.6074,
"regression_edge": -0.3429,
"xwoba_edge": 0.9143,
"xba_edge": 0.2857,
"xslg_edge": 0.7714,
"barrel_edge": 0.7111,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "669242",
"player_name": "Tommy Edman",
"offense_factor": 1.0334,
"quality_score": 0.4458,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669242",
"espn_id": 39907,
"player_name": "Tommy Edman",
"team": "LAD",
"role": "batter",
"espn_rank": 198,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 198,
"gp_value": 12.0,
"gp_rank": 496,
"ab_value": 41.0,
"ab_rank": 460,
"r_value": 3.0,
"r_rank": 468,
"h_value": 15.0,
"h_rank": 396,
"avg_value": 0.3658536,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 412,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 8.0,
"rbi_rank": 374,
"tb_value": 22.0,
"tb_rank": 2144,
"bb_value": 5.0,
"bb_rank": 404,
"so_value": 9.0,
"so_rank": 479,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.4347826,
"obp_rank": "-",
"slg_value": 0.5365853,
"slg_rank": "-",
"ops_value": 0.9713679,
"ops_rank": null,
"war_value": 0.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 19.6,
"bb_percent": 10.9,
"woba": 0.423,
"xwoba": 0.375,
"xba": 0.319,
"xslg": 0.461,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 12.8,
"whiff_percent": 19.0,
"swing_percent": 47.5
},
"components": {
"expected_quality": 1.3751,
"regression_edge": -1.3714,
"xwoba_edge": 2.0571,
"xba_edge": 2.2857,
"xslg_edge": 1.2857,
"barrel_edge": 0.5556,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 1.2333,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0196,
"raw_average_factor": 1.0196,
"team_espn_average_rank": 232.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"offense_factor": 1.0902,
"quality_score": 1.2022,
"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": 163,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 163,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 328.0,
"ab_rank": 15,
"r_value": 37.0,
"r_rank": 108,
"h_value": 92.0,
"h_rank": 13,
"avg_value": 0.2804878,
"avg_rank": 31.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 33.0,
"rbi_rank": 121,
"tb_value": 124.0,
"tb_rank": 887,
"bb_value": 30.0,
"bb_rank": 79,
"so_value": 73.0,
"so_rank": 74,
"sb_value": 19.0,
"sb_rank": 7,
"obp_value": 0.34153,
"obp_rank": "58",
"slg_value": 0.3780487,
"slg_rank": "122",
"ops_value": 0.7195787,
"ops_rank": 180.0,
"war_value": 0.88,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 19.9,
"bb_percent": 8.2,
"woba": 0.319,
"xwoba": 0.357,
"xba": 0.29,
"xslg": 0.443,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 53.3,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 5.0,
"whiff_percent": 28.7,
"swing_percent": 47.8
},
"components": {
"expected_quality": 1.2211,
"regression_edge": 1.0857,
"xwoba_edge": 1.5429,
"xba_edge": 1.4571,
"xslg_edge": 1.0286,
"barrel_edge": 0.9333,
"hard_hit_edge": 2.1714,
"exit_velocity_edge": 1.24,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "657757",
"player_name": "Gavin Sheets",
"offense_factor": 1.0335,
"quality_score": 0.4465,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657757",
"espn_id": 40700,
"player_name": "Gavin Sheets",
"team": "SD",
"role": "batter",
"espn_rank": 202,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 202,
"gp_value": 79.0,
"gp_rank": 109,
"ab_value": 244.0,
"ab_rank": 142,
"r_value": 32.0,
"r_rank": 141,
"h_value": 57.0,
"h_rank": 155,
"avg_value": 0.2336065,
"avg_rank": 123.0,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 38.0,
"rbi_rank": 84,
"tb_value": 113.0,
"tb_rank": 796,
"bb_value": 29.0,
"bb_rank": 90,
"so_value": 63.0,
"so_rank": 109,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.3224637,
"obp_rank": "94",
"slg_value": 0.4631147,
"slg_rank": "52",
"ops_value": 0.7855784,
"ops_rank": 146.0,
"war_value": 0.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 165.0,
"k_percent": 22.8,
"bb_percent": 10.5,
"woba": 0.343,
"xwoba": 0.337,
"xba": 0.249,
"xslg": 0.431,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 44.2,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 15.5,
"whiff_percent": 21.1,
"swing_percent": 43.6
},
"components": {
"expected_quality": 0.7202,
"regression_edge": -0.1714,
"xwoba_edge": 0.9714,
"xba_edge": 0.2857,
"xslg_edge": 0.8571,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.8714,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "630105",
"player_name": "Jake Cronenworth",
"offense_factor": 0.996,
"quality_score": -0.0539,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "630105",
"espn_id": 36364,
"player_name": "Jake Cronenworth",
"team": "SD",
"role": "batter",
"espn_rank": 455,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 455,
"gp_value": 35.0,
"gp_rank": 359,
"ab_value": 105.0,
"ab_rank": 341,
"r_value": 13.0,
"r_rank": 331,
"h_value": 17.0,
"h_rank": 380,
"avg_value": 0.1619047,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 412,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 4.0,
"rbi_rank": 446,
"tb_value": 22.0,
"tb_rank": 2378,
"bb_value": 14.0,
"bb_rank": 245,
"so_value": 24.0,
"so_rank": 350,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.2786885,
"obp_rank": "-",
"slg_value": 0.2095238,
"slg_rank": "-",
"ops_value": 0.4882123,
"ops_rank": null,
"war_value": -0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 114.0,
"k_percent": 19.5,
"bb_percent": 11.4,
"woba": 0.238,
"xwoba": 0.299,
"xba": 0.22,
"xslg": 0.323,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 30.5,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 6.9,
"whiff_percent": 23.1,
"swing_percent": 44.6
},
"components": {
"expected_quality": -0.4047,
"regression_edge": 1.7429,
"xwoba_edge": -0.1143,
"xba_edge": -0.5429,
"xslg_edge": -0.6857,
"barrel_edge": -0.4444,
"hard_hit_edge": -1.0857,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": -0.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "592518",
"player_name": "Manny Machado",
"offense_factor": 1.0319,
"quality_score": 0.4256,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592518",
"espn_id": 31097,
"player_name": "Manny Machado",
"team": "SD",
"role": "batter",
"espn_rank": 392,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 392,
"gp_value": 83.0,
"gp_rank": 48,
"ab_value": 305.0,
"ab_rank": 66,
"r_value": 41.0,
"r_rank": 78,
"h_value": 58.0,
"h_rank": 145,
"avg_value": 0.1901639,
"avg_rank": 159.0,
"2b_value": 16.0,
"2b_rank": 42,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 16.0,
"hr_rank": 32,
"rbi_value": 46.0,
"rbi_rank": 43,
"tb_value": 122.0,
"tb_rank": 711,
"bb_value": 37.0,
"bb_rank": 44,
"so_value": 77.0,
"so_rank": 62,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.2737752,
"obp_rank": "155",
"slg_value": 0.4,
"slg_rank": "104",
"ops_value": 0.6737752,
"ops_rank": 51.0,
"war_value": -0.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 22.1,
"bb_percent": 10.6,
"woba": 0.292,
"xwoba": 0.315,
"xba": 0.23,
"xslg": 0.414,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 12.2,
"whiff_percent": 26.2,
"swing_percent": 48.2
},
"components": {
"expected_quality": 0.4042,
"regression_edge": 0.6571,
"xwoba_edge": 0.3429,
"xba_edge": -0.2571,
"xslg_edge": 0.6143,
"barrel_edge": 0.7556,
"hard_hit_edge": 0.7857,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.2667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "664034",
"player_name": "Ty France",
"offense_factor": 1.0185,
"quality_score": 0.2471,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "664034",
"espn_id": 35591,
"player_name": "Ty France",
"team": "SD",
"role": "batter",
"espn_rank": 69,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 69,
"gp_value": 62.0,
"gp_rank": 213,
"ab_value": 176.0,
"ab_rank": 241,
"r_value": 21.0,
"r_rank": 233,
"h_value": 48.0,
"h_rank": 199,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 10.0,
"hr_rank": 94,
"rbi_value": 30.0,
"rbi_rank": 152,
"tb_value": 90.0,
"tb_rank": 743,
"bb_value": 11.0,
"bb_rank": 293,
"so_value": 48.0,
"so_rank": 184,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3350515,
"obp_rank": "-",
"slg_value": 0.5113636,
"slg_rank": "-",
"ops_value": 0.8464151,
"ops_rank": null,
"war_value": 1.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 98.0,
"k_percent": 24.6,
"bb_percent": 5.6,
"woba": 0.363,
"xwoba": 0.33,
"xba": 0.247,
"xslg": 0.446,
"sweet_spot_percent": 37.2,
"barrel_batted_rate": 11.7,
"hard_hit_percent": 47.3,
"exit_velocity_avg": 91.3,
"launch_angle_avg": 10.2,
"whiff_percent": 29.7,
"swing_percent": 52.4
},
"components": {
"expected_quality": 0.792,
"regression_edge": -0.9429,
"xwoba_edge": 0.7714,
"xba_edge": 0.2286,
"xslg_edge": 1.0714,
"barrel_edge": 1.0667,
"hard_hit_edge": 1.3143,
"exit_velocity_edge": 1.0,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "701538",
"player_name": "Jackson Merrill",
"offense_factor": 1.0303,
"quality_score": 0.4042,
"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": 217,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 217,
"gp_value": 82.0,
"gp_rank": 62,
"ab_value": 317.0,
"ab_rank": 29,
"r_value": 35.0,
"r_rank": 118,
"h_value": 67.0,
"h_rank": 106,
"avg_value": 0.2113564,
"avg_rank": 151.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 31.0,
"rbi_rank": 142,
"tb_value": 108.0,
"tb_rank": 716,
"bb_value": 25.0,
"bb_rank": 123,
"so_value": 86.0,
"so_rank": 29,
"sb_value": 18.0,
"sb_rank": 11,
"obp_value": 0.271137,
"obp_rank": "156",
"slg_value": 0.340694,
"slg_rank": "143",
"ops_value": 0.611831,
"ops_rank": 299.0,
"war_value": 0.51,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 24.9,
"bb_percent": 7.2,
"woba": 0.27,
"xwoba": 0.305,
"xba": 0.236,
"xslg": 0.41,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 46.6,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 13.2,
"whiff_percent": 27.8,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.3296,
"regression_edge": 1.0,
"xwoba_edge": 0.0571,
"xba_edge": -0.0857,
"xslg_edge": 0.5571,
"barrel_edge": 0.5556,
"hard_hit_edge": 1.2143,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"offense_factor": 1.014,
"quality_score": 0.1866,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "593428",
"espn_id": 31606,
"player_name": "Xander Bogaerts",
"team": "SD",
"role": "batter",
"espn_rank": 122,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 122,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 280.0,
"ab_rank": 103,
"r_value": 35.0,
"r_rank": 118,
"h_value": 65.0,
"h_rank": 116,
"avg_value": 0.2321428,
"avg_rank": 127.0,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 32.0,
"rbi_rank": 131,
"tb_value": 94.0,
"tb_rank": 1212,
"bb_value": 36.0,
"bb_rank": 49,
"so_value": 57.0,
"so_rank": 142,
"sb_value": 10.0,
"sb_rank": 46,
"obp_value": 0.3239875,
"obp_rank": "89",
"slg_value": 0.3357142,
"slg_rank": "148",
"ops_value": 0.6597017,
"ops_rank": 59.0,
"war_value": 1.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 17.8,
"bb_percent": 11.2,
"woba": 0.299,
"xwoba": 0.319,
"xba": 0.247,
"xslg": 0.375,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 38.7,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 6.2,
"whiff_percent": 23.0,
"swing_percent": 42.8
},
"components": {
"expected_quality": 0.1398,
"regression_edge": 0.5714,
"xwoba_edge": 0.4571,
"xba_edge": 0.2286,
"xslg_edge": 0.0571,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.0857,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": -0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "666023",
"player_name": "Freddy Fermin",
"offense_factor": 0.9702,
"quality_score": -0.3977,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666023",
"espn_id": 41928,
"player_name": "Freddy Fermin",
"team": "SD",
"role": "batter",
"espn_rank": 267,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 267,
"gp_value": 57.0,
"gp_rank": 230,
"ab_value": 136.0,
"ab_rank": 290,
"r_value": 15.0,
"r_rank": 310,
"h_value": 20.0,
"h_rank": 358,
"avg_value": 0.1470588,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 266,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 11.0,
"rbi_rank": 337,
"tb_value": 35.0,
"tb_rank": 1865,
"bb_value": 17.0,
"bb_rank": 211,
"so_value": 32.0,
"so_rank": 292,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2484076,
"obp_rank": "-",
"slg_value": 0.2573529,
"slg_rank": "-",
"ops_value": 0.5057605,
"ops_rank": null,
"war_value": 0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 105.0,
"k_percent": 20.0,
"bb_percent": 10.6,
"woba": 0.235,
"xwoba": 0.263,
"xba": 0.19,
"xslg": 0.28,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 2.8,
"hard_hit_percent": 25.7,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 16.2,
"whiff_percent": 24.8,
"swing_percent": 49.1
},
"components": {
"expected_quality": -1.0992,
"regression_edge": 0.8,
"xwoba_edge": -1.1429,
"xba_edge": -1.4,
"xslg_edge": -1.3,
"barrel_edge": -0.9111,
"hard_hit_edge": -1.7714,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.8,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "669392",
"player_name": "Samad Taylor",
"offense_factor": 0.9917,
"quality_score": -0.1112,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669392",
"espn_id": 39710,
"player_name": "Samad Taylor",
"team": "SD",
"role": "batter",
"espn_rank": 201,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 201,
"gp_value": 22.0,
"gp_rank": 426,
"ab_value": 78.0,
"ab_rank": 384,
"r_value": 13.0,
"r_rank": 331,
"h_value": 26.0,
"h_rank": 322,
"avg_value": 0.3333333,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 455,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 11.0,
"rbi_rank": 337,
"tb_value": 32.0,
"tb_rank": 2113,
"bb_value": 11.0,
"bb_rank": 293,
"so_value": 26.0,
"so_rank": 332,
"sb_value": 6.0,
"sb_rank": 87,
"obp_value": 0.4157303,
"obp_rank": "-",
"slg_value": 0.4102564,
"slg_rank": "-",
"ops_value": 0.8259867,
"ops_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 28.6,
"bb_percent": 12.1,
"woba": 0.372,
"xwoba": 0.323,
"xba": 0.277,
"xslg": 0.346,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 24.1,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 7.2,
"whiff_percent": 24.1,
"swing_percent": 40.3
},
"components": {
"expected_quality": -0.0594,
"regression_edge": -1.4,
"xwoba_edge": 0.5714,
"xba_edge": 1.0857,
"xslg_edge": -0.3571,
"barrel_edge": -0.7111,
"hard_hit_edge": -2.0,
"exit_velocity_edge": -1.52,
"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 SD | True | 248 | -1.0986 | 0.9080 | 1.0934 | 0.9463 | 0.9691 | 1.2061 | negative_pitcher_regression | 0.3970 | 0.3610 | 17 | 7.40 | 20.70 | 13.30 | 47 | |
| Home LAD | True | 555 | -0.2183 | 0.8000 | 1.0186 | 1.0181 | 1.0080 | 1.0992 | neutral | 0.3310 | 0.3410 | 23.20 | 9.60 | 28.80 | 11.30 | 45.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SD | True | None | 99 | 90.80 | 2607 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0584 | |
| Home LAD | True | None | 87 | 91.47 | 1659 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0957 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0149 |
| home_runs_vs_away_pitcher | 1.0848 |
| home_pitcher_quality_edge | 0.8803 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "808963",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 200.0,
"k_percent": 23.2,
"bb_percent": 9.6,
"woba": 0.341,
"xwoba": 0.331,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 45.1,
"avg_best_speed": 79.7808,
"avg_hyper_speed": 94.6455,
"whiff_percent": 28.8,
"swing_percent": 49.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.6365,
"command_and_miss": 0.1818,
"regression_edge": 0.2857,
"xwoba_edge": -0.5286,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.9714,
"whiff_edge": 0.4714,
"bb_edge": -0.125,
"pitch_design_score": 0.0957
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808963",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 91.46821205363209,
"release_spin_rate": 1659.4554725748967,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 91.46821205363209,
"release_spin_rate": 1659.4554725748967,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4682,
"release_spin_rate": 1659.4555,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0957,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6838,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2183,
"sample_weight": 0.8,
"run_prevention_factor": 1.0186,
"strikeout_factor": 1.0181,
"walk_factor": 1.008,
"homer_factor": 1.0992,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808963",
"espn_id": 5134638,
"player_name": "Roki Sasaki",
"team": "LAD",
"role": "pitcher",
"espn_rank": 555,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 555,
"gp_value": 14.0,
"gp_rank": 353,
"gs_value": 14.0,
"gs_rank": 85,
"qs_value": 3.0,
"qs_rank": 103,
"era_value": 4.875,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 5.0,
"l_rank": 57,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 72.0,
"ip_rank": 106,
"h_value": 66.0,
"h_rank": 103,
"er_value": 39.0,
"er_rank": 60,
"hr_value": 14.0,
"hr_rank": 26,
"bb_value": 30.0,
"bb_rank": 47,
"k_value": 72.0,
"k_rank": 76,
"k_per_9_value": 9.0,
"k_per_9_rank": 19,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": -0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "681190",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 227.0,
"k_percent": 17.0,
"bb_percent": 7.4,
"woba": 0.361,
"xwoba": 0.397,
"sweet_spot_percent": 41.3,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 47.0,
"avg_best_speed": 82.1787,
"avg_hyper_speed": 95.4096,
"whiff_percent": 20.7,
"swing_percent": 49.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.7476,
"command_and_miss": -0.5118,
"regression_edge": -1.0286,
"xwoba_edge": -2.4143,
"barrel_edge": -1.3111,
"hard_hit_edge": -1.2429,
"whiff_edge": -0.6857,
"bb_edge": 0.425,
"pitch_design_score": 0.0584
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681190",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 90.8021116639493,
"release_spin_rate": 2607.3856316123256,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 90.8021116639493,
"release_spin_rate": 2607.3856316123256,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8021,
"release_spin_rate": 2607.3856,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0584,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4174,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -1.0986,
"sample_weight": 0.908,
"run_prevention_factor": 1.0934,
"strikeout_factor": 0.9463,
"walk_factor": 0.9691,
"homer_factor": 1.2061,
"woba_minus_xwoba": -0.036,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681190",
"espn_id": 4722847,
"player_name": "Randy Vasquez",
"team": "SD",
"role": "pitcher",
"espn_rank": 248,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 248,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 15.0,
"gs_rank": 68,
"qs_value": 4.0,
"qs_rank": 82,
"era_value": 4.4444,
"era_rank": null,
"w_value": 6.0,
"w_rank": 41,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 81.0,
"ip_rank": 79,
"h_value": 92.0,
"h_rank": 23,
"er_value": 40.0,
"er_rank": 54,
"hr_value": 13.0,
"hr_rank": 36,
"bb_value": 26.0,
"bb_rank": 79,
"k_value": 60.0,
"k_rank": 112,
"k_per_9_value": 6.6666665,
"k_per_9_rank": 38,
"whip_value": 1.4567,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0149,
"home_runs_vs_away_pitcher": 1.0848,
"home_pitcher_quality_edge": 0.8803
},
"score_before": {
"away_runs": 3.1153,
"home_runs": 7.0994
},
"score_after": {
"away_runs": 3.1617,
"home_runs": 7.7015,
"home_win_probability": 0.9017
},
"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 | 4-6 | 0.400 | 3.60 | 6.50 | -29 | average | weak | |
| Home LAD | 7-3 | 0.700 | 5.70 | 4.20 | 15 | hot | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SD | 43-42 | 0.506 | -36 | -0.424 | True |
| Home LAD | 56-30 | 0.651 | 163 | 1.895 | True |
| Signal | - | - | 2.319 | 2.537 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SD | - | - | 1 | - | - | - | - |
| Game target LAD | - | - | 6 | - | - | - | - |
| Player finalized SD | 31 | 8 | 0 | 0 | 1 | 1 | 9 |
| Player finalized LAD | 34 | 9 | 7 | 0 | 7 | 3 | 8 |
| Player model fractional SD | 31.63 | 6.82 | 3.46 | 1.08 | 3.36 | 3.23 | 7.83 |
| Player model fractional LAD | 33.97 | 9.29 | 5.70 | 1.51 | 5.57 | 3.89 | 7.69 |
| Simulation box SD | 35 | 8 | 1 | 0 | 1 | 2 | 7 |
| Simulation box LAD | 33 | 9 | 7 | 2 | 7 | 5 | 9 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away SD | Starter | Randy Vásquez | 4.10 | 7 | 3 | 7 | 4 | 5.90 | 1.71 | True |
| Away SD | Middle Reliever | Adrian Morejon | 1 | 0 | 1 | 1 | 0 | 2.07 | 0.92 | True |
| Away SD | Middle Reliever | Jason Adam | 1 | 0 | 1 | 0 | 1 | 4.56 | 1.20 | True |
| Away SD | Middle Reliever | Mason Miller | 1 | 0 | 3 | 0 | 0 | 2.14 | 1.06 | True |
| Away SD | Middle Reliever | Kyle Hart | 0.20 | 0 | 1 | 1 | 0 | 5.51 | 1.29 | True |
| Home LAD | Starter | Roki Sasaki | 5.20 | 1 | 4 | 6 | 2 | 4.64 | 1.23 | True |
| Home LAD | Middle Reliever | Edgardo Henriquez | 1.20 | 0 | 1 | 1 | 0 | 2.60 | 0.91 | True |
| Home LAD | Middle Reliever | Tanner Scott | 1 | 0 | 1 | 0 | 0 | 2.51 | 0.88 | True |
| Home LAD | Middle Reliever | Alex Vesia | 0.20 | 0 | 1 | 1 | 0 | 3.64 | 1.40 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | LAD | batter | CF | Andy Pages | better | 11 | 6 | 5 | 7 | 4 | predicted_RBI | 2.4600 | boost | better |
| away | SD | batter | SS | Xander Bogaerts | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | 2.1500 | boost | better |
| home | LAD | batter | 1B | Freddie Freeman | worse | 11 | 6 | 5 | 5 | 6 | predicted_RBI | 1.3900 | boost | better |
| home | LAD | batter | C | Dalton Rushing | better | 10 | 7 | 3 | 6 | 4 | predicted_H | 1.3000 | boost | better |
| home | LAD | batter | DH | Shohei Ohtani | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_BB | 1.2910 | boost | better |
| home | LAD | batter | SS | Mookie Betts | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -1.2600 | deboost | worse |
| away | SD | batter | CF | Jackson Merrill | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 1.1200 | boost | better |
| home | LAD | batter | 2B | Tommy Edman | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 1.1100 | boost | better |
| home | LAD | batter | RF | Kyle Tucker | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.0890 | boost | worse |
| away | SD | batter | C | Freddy Fermin | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | 0.9780 | boost | better |
| away | SD | batter | 3B | Manny Machado | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -0.9000 | deboost | worse |
| away | SD | pitcher | Starter | Randy Vásquez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.9000 | deboost | worse |
| home | LAD | batter | LF | Teoscar Hernández | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.8900 | deboost | worse |
| away | SD | batter | DH | Gavin Sheets | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8400 | deboost | worse |
| home | LAD | batter | 3B | Max Muncy | worse | 11 | 5 | 6 | 4 | 7 | predicted_H | -0.8400 | deboost | worse |
| away | SD | batter | 1B | Ty France | worse | 11 | 3 | 8 | 2 | 9 | predicted_BB | 0.8040 | boost | better |
| away | SD | batter | 2B | Jake Cronenworth | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.7300 | deboost | worse |
| away | SD | batter | RF | Fernando Tatis Jr. | worse | 11 | 2 | 9 | 1 | 10 | predicted_BB | 0.6390 | boost | better |
| away | SD | batter | LF | Samad Taylor | worse | 9 | 1 | 8 | 2 | 7 | predicted_R | -0.5910 | deboost | worse |
| home | LAD | pitcher | Starter | Roki Sasaki | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | LAD | pitcher | Middle Reliever | Alex Vesia | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | LAD | pitcher | Middle Reliever | Edgardo Henriquez | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | SD | pitcher | Middle Reliever | Kyle Hart | 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 | Randy Vásquez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -1.0986 |
| ESPN Rank | 248 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0584 |
| Avg Velo | 90.8021 |
| Avg Spin | 2607.3856 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 7 |
| Pre H | 7 |
| Pre BB | 4 |
| Pre SO | 3 |
| Season ERA | 4.4444 |
| Season WHIP | 1.4568 |
| Role Avg IP | 5.1780 |
| Recent Avg IP | 4.6000 |
| Last Start IP | 3.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"opponent": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"edges": {
"quality_edge": -0.5008,
"offense_edge": -0.1165,
"opponent_offense_edge": 0.178,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.2798,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9731,
"run_prevention": 1.0525,
"strikeout": 0.9707
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681190",
"profile": {
"available": true,
"pitcher_id": "681190",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 227.0,
"k_percent": 17.0,
"bb_percent": 7.4,
"woba": 0.361,
"xwoba": 0.397,
"sweet_spot_percent": 41.3,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 47.0,
"avg_best_speed": 82.1787,
"avg_hyper_speed": 95.4096,
"whiff_percent": 20.7,
"swing_percent": 49.7
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -1.7476,
"command_and_miss": -0.5118,
"regression_edge": -1.0286,
"xwoba_edge": -2.4143,
"barrel_edge": -1.3111,
"hard_hit_edge": -1.2429,
"whiff_edge": -0.6857,
"bb_edge": 0.425,
"pitch_design_score": 0.0584
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681190",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 90.8021116639493,
"release_spin_rate": 2607.3856316123256,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 90.8021116639493,
"release_spin_rate": 2607.3856316123256,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8021,
"release_spin_rate": 2607.3856,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0584,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4174,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -1.0986,
"sample_weight": 0.908,
"run_prevention_factor": 1.0934,
"strikeout_factor": 0.9463,
"walk_factor": 0.9691,
"homer_factor": 1.2061,
"woba_minus_xwoba": -0.036,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681190",
"espn_id": 4722847,
"player_name": "Randy Vasquez",
"team": "SD",
"role": "pitcher",
"espn_rank": 248,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 248,
"gp_value": 16.0,
"gp_rank": 298,
"gs_value": 15.0,
"gs_rank": 68,
"qs_value": 4.0,
"qs_rank": 82,
"era_value": 4.4444,
"era_rank": null,
"w_value": 6.0,
"w_rank": 41,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 81.0,
"ip_rank": 79,
"h_value": 92.0,
"h_rank": 23,
"er_value": 40.0,
"er_rank": 54,
"hr_value": 13.0,
"hr_rank": 36,
"bb_value": 26.0,
"bb_rank": 79,
"k_value": 60.0,
"k_rank": 112,
"k_per_9_value": 6.6666665,
"k_per_9_rank": 38,
"whip_value": 1.4567,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0848,
"adjusted": 3
},
"predicted_H": {
"original": 7.0,
"factor": 1.0848,
"adjusted": 8
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9719,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1871,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9512,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 47.1,
"ER": 29,
"H": 64,
"BB": 15,
"SO": 26,
"HR": 10,
"ERA": 5.514084507042253,
"WHIP": 1.6690140845070423,
"K9": 4.943661971830986,
"HR9": 1.9014084507042253,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-27T00:00:00"
}{
"available": true,
"pitcher_id": "681190",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 90.8021116639493,
"release_spin_rate": 2607.3856316123256,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 90.8021116639493,
"release_spin_rate": 2607.3856316123256,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8021,
"release_spin_rate": 2607.3856,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0584,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4174,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"player_id": "681190",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 20.2,
"ER": 18.0,
"R": 22.0,
"H": 35.0,
"BB": 9.0,
"SO": 13.0,
"HR": 5.0,
"BF": 104.0,
"Pitches": 406.0
},
"per_game": {
"IP": 4.0,
"ER": 3.6,
"R": 4.4,
"H": 7.0,
"BB": 1.8,
"SO": 2.6,
"HR": 1.0,
"BF": 20.8,
"Pitches": 81.2
},
"rates": {
"ERA": 7.8387,
"WHIP": 2.129,
"ER_per_IP": 0.87097,
"H_per_IP": 1.69355,
"BB_per_IP": 0.43548,
"SO_per_IP": 0.62903,
"HR_per_IP": 0.24194
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 47.1,
"ER": 29.0,
"R": 33.0,
"H": 64.0,
"BB": 15.0,
"SO": 26.0,
"HR": 10.0,
"BF": 216.0,
"Pitches": 840.0
},
"per_game": {
"IP": 4.2,
"ER": 2.9,
"R": 3.3,
"H": 6.4,
"BB": 1.5,
"SO": 2.6,
"HR": 1.0,
"BF": 21.6,
"Pitches": 84.0
},
"rates": {
"ERA": 5.5141,
"WHIP": 1.669,
"ER_per_IP": 0.61268,
"H_per_IP": 1.35211,
"BB_per_IP": 0.3169,
"SO_per_IP": 0.5493,
"HR_per_IP": 0.21127
}
},
"season": {
"games": 16,
"totals": {
"IP": 81.0,
"ER": 40.0,
"R": 44.0,
"H": 92.0,
"BB": 26.0,
"SO": 60.0,
"HR": 13.0,
"BF": 353.0,
"Pitches": 1381.0
},
"per_game": {
"IP": 5.0,
"ER": 2.5,
"R": 2.75,
"H": 5.75,
"BB": 1.625,
"SO": 3.75,
"HR": 0.8125,
"BF": 22.0625,
"Pitches": 86.3125
},
"rates": {
"ERA": 4.4444,
"WHIP": 1.4568,
"ER_per_IP": 0.49383,
"H_per_IP": 1.1358,
"BB_per_IP": 0.32099,
"SO_per_IP": 0.74074,
"HR_per_IP": 0.16049
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.996,
"predicted_H": 6.14,
"predicted_BB": 1.681,
"predicted_SO": 3.207,
"predicted_HR": 0.908,
"predicted_ERA": 5.9016,
"predicted_WHIP": 1.712
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 7.0,
"form": 2.996,
"final": 4.8002,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 6.14,
"final": 6.5275,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.681,
"final": 2.7259,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.207,
"final": 3.1137,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.908,
"final": 1.4001,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.9016,
"final": 5.9016,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.712,
"final": 1.712,
"source": "form_only"
}
}
}{
"available": false,
"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.5712 |
| ESPN Rank | 165 |
| 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.3231 |
| Season WHIP | 0.9923 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"opponent": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"edges": {
"quality_edge": -0.5008,
"offense_edge": -0.1165,
"opponent_offense_edge": 0.178,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.2798,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9731,
"run_prevention": 1.0525,
"strikeout": 0.9707
},
"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": 29.5,
"bb_percent": 4.6,
"woba": 0.245,
"xwoba": 0.238,
"sweet_spot_percent": 26.8,
"barrel_batted_rate": 1.8,
"hard_hit_percent": 29.5,
"avg_best_speed": 73.4837,
"avg_hyper_speed": 92.8322,
"whiff_percent": 35.0,
"swing_percent": 51.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.6886,
"command_and_miss": 1.1468,
"regression_edge": 0.2,
"xwoba_edge": 2.1286,
"barrel_edge": 1.2444,
"hard_hit_edge": 1.2571,
"whiff_edge": 1.3571,
"bb_edge": 1.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670970",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5712,
"sample_weight": 0.452,
"run_prevention_factor": 0.9514,
"strikeout_factor": 1.0425,
"walk_factor": 0.9593,
"homer_factor": 0.9034,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670970",
"espn_id": 40917,
"player_name": "Adrian Morejon",
"team": "SD",
"role": "pitcher",
"espn_rank": 165,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 165,
"gp_value": 39.0,
"gp_rank": 17,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.323,
"era_rank": null,
"w_value": 6.0,
"w_rank": 41,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 14.0,
"hld_rank": 9,
"ip_value": 43.1,
"ip_rank": 174,
"h_value": 35.0,
"h_rank": 207,
"er_value": 16.0,
"er_rank": 239,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 8.0,
"bb_rank": 407,
"k_value": 51.0,
"k_rank": 140,
"k_per_9_value": 10.592307,
"k_per_9_rank": 21,
"whip_value": 0.9923,
"whip_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.978,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.978,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9563,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0192,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.0,
"ER": 0,
"H": 6,
"BB": 1,
"SO": 14,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5833333333333334,
"K9": 10.5,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-29T00: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": 8.59,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6321,
"prior_weight": 0.3679
},
"role": "pitcher",
"player_id": "670970",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 39,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 1.0,
"SO": 10.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.2,
"SO": 2.0,
"HR": 0.0,
"BF": 4.8,
"Pitches": 17.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6316,
"ER_per_IP": 0.0,
"H_per_IP": 0.47368,
"BB_per_IP": 0.15789,
"SO_per_IP": 1.57895,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 0.0,
"R": 0.0,
"H": 6.0,
"BB": 1.0,
"SO": 14.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.1,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5833,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.08333,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.0
}
},
"season": {
"games": 39,
"totals": {
"IP": 43.1,
"ER": 16.0,
"R": 17.0,
"H": 35.0,
"BB": 8.0,
"SO": 51.0,
"HR": 2.0,
"BF": 173.0,
"Pitches": 677.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4103,
"R": 0.4359,
"H": 0.8974,
"BB": 0.2051,
"SO": 1.3077,
"HR": 0.0513,
"BF": 4.4359,
"Pitches": 17.359
},
"rates": {
"ERA": 3.3231,
"WHIP": 0.9923,
"ER_per_IP": 0.36923,
"H_per_IP": 0.80769,
"BB_per_IP": 0.18462,
"SO_per_IP": 1.17692,
"HR_per_IP": 0.04615
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.268,
"predicted_H": 0.821,
"predicted_BB": 0.255,
"predicted_SO": 1.41,
"predicted_HR": 0.07,
"predicted_ERA": 2.0678,
"predicted_WHIP": 0.9208
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5054,
"form_weight": 0.4946,
"form_reliability": 0.6321,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.59,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6321,
"prior_weight": 0.3679
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.268,
"final": 0.1325,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.821,
"final": 0.9115,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.255,
"final": 0.1261,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.41,
"final": 1.2028,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0346,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0678,
"final": 2.0678,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9208,
"final": 0.9208,
"source": "form_only"
}
}
}{
"available": false,
"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.1297 |
| ESPN Rank | 120 |
| 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 | 2.5052 |
| Season WHIP | 1.1753 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"opponent": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"edges": {
"quality_edge": -0.5008,
"offense_edge": -0.1165,
"opponent_offense_edge": 0.178,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.2798,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9731,
"run_prevention": 1.0525,
"strikeout": 0.9707
},
"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.4,
"bb_percent": 6.0,
"woba": 0.309,
"xwoba": 0.288,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 36.3,
"avg_best_speed": 77.3129,
"avg_hyper_speed": 93.3939,
"whiff_percent": 28.6,
"swing_percent": 53.4
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4472,
"command_and_miss": -0.0854,
"regression_edge": 0.6,
"xwoba_edge": 0.7,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.2857,
"whiff_edge": 0.4429,
"bb_edge": 0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592094",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1297,
"sample_weight": 0.45,
"run_prevention_factor": 0.989,
"strikeout_factor": 0.9922,
"walk_factor": 0.9721,
"homer_factor": 0.9814,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592094",
"espn_id": 32145,
"player_name": "Jason Adam",
"team": "SD",
"role": "pitcher",
"espn_rank": 120,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 120,
"gp_value": 36.0,
"gp_rank": 44,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.5051,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 17.0,
"hld_rank": 5,
"ip_value": 32.1,
"ip_rank": 286,
"h_value": 30.0,
"h_rank": 256,
"er_value": 9.0,
"er_rank": 407,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 8.0,
"bb_rank": 407,
"k_value": 22.0,
"k_rank": 368,
"k_per_9_value": 6.1237116,
"k_per_9_rank": 34,
"whip_value": 1.1752,
"whip_rank": null,
"war_value": 0.95,
"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.9874,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9916,
"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": 9.1,
"ER": 5,
"H": 9,
"BB": 2,
"SO": 6,
"HR": 2,
"ERA": 4.821428571428572,
"WHIP": 1.1785714285714288,
"K9": 5.7857142857142865,
"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-29T00: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": 6.409,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5618,
"prior_weight": 0.4382
},
"role": "pitcher",
"player_id": "592094",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 0.0,
"SO": 4.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.0,
"SO": 0.8,
"HR": 0.2,
"BF": 4.0,
"Pitches": 19.4
},
"rates": {
"ERA": 5.4,
"WHIP": 1.0,
"ER_per_IP": 0.6,
"H_per_IP": 1.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 5.0,
"R": 5.0,
"H": 9.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.9,
"BB": 0.2,
"SO": 0.6,
"HR": 0.2,
"BF": 3.9,
"Pitches": 17.0
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.1786,
"ER_per_IP": 0.53571,
"H_per_IP": 0.96429,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 36,
"totals": {
"IP": 32.1,
"ER": 9.0,
"R": 9.0,
"H": 30.0,
"BB": 8.0,
"SO": 22.0,
"HR": 5.0,
"BF": 134.0,
"Pitches": 551.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.25,
"H": 0.8333,
"BB": 0.2222,
"SO": 0.6111,
"HR": 0.1389,
"BF": 3.7222,
"Pitches": 15.3056
},
"rates": {
"ERA": 2.5052,
"WHIP": 1.1753,
"ER_per_IP": 0.27835,
"H_per_IP": 0.92784,
"BB_per_IP": 0.24742,
"SO_per_IP": 0.68041,
"HR_per_IP": 0.15464
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.506,
"predicted_H": 0.97,
"predicted_BB": 0.227,
"predicted_SO": 0.823,
"predicted_HR": 0.174,
"predicted_ERA": 4.5572,
"predicted_WHIP": 1.1963
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5351,
"form_weight": 0.4649,
"form_reliability": 0.5618,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.409,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5618,
"prior_weight": 0.4382
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.506,
"final": 0.2352,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.97,
"final": 0.4509,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.227,
"final": 0.6407,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.823,
"final": 0.9177,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.174,
"final": 0.0809,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5572,
"final": 4.5572,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1963,
"final": 1.1963,
"source": "form_only"
}
}
}{
"available": false,
"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.7626 |
| ESPN Rank | 30 |
| 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 | 3 |
| Season ERA | 0.7788 |
| Season WHIP | 0.8365 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"opponent": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"edges": {
"quality_edge": -0.5008,
"offense_edge": -0.1165,
"opponent_offense_edge": 0.178,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.2798,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9731,
"run_prevention": 1.0525,
"strikeout": 0.9707
},
"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.0,
"bb_percent": 9.8,
"woba": 0.177,
"xwoba": 0.173,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 1.9,
"hard_hit_percent": 17.0,
"avg_best_speed": 72.5296,
"avg_hyper_speed": 90.9452,
"whiff_percent": 48.9,
"swing_percent": 46.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 2.0936,
"command_and_miss": 1.965,
"regression_edge": 0.1143,
"xwoba_edge": 2.5,
"barrel_edge": 1.2222,
"hard_hit_edge": 2.5,
"whiff_edge": 2.5,
"bb_edge": -0.175,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "695243",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.7626,
"sample_weight": 0.45,
"run_prevention_factor": 0.9352,
"strikeout_factor": 1.09,
"walk_factor": 1.0063,
"homer_factor": 0.8772,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695243",
"espn_id": 4730225,
"player_name": "Mason Miller",
"team": "SD",
"role": "pitcher",
"espn_rank": 30,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 30,
"gp_value": 33.0,
"gp_rank": 84,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 0.7788,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 21.0,
"sv_rank": 2,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 34.2,
"ip_rank": 252,
"h_value": 16.0,
"h_rank": 436,
"er_value": 3.0,
"er_rank": 583,
"hr_value": 0.0,
"hr_rank": 614,
"bb_value": 13.0,
"bb_rank": 258,
"k_value": 66.0,
"k_rank": 90,
"k_per_9_value": 17.134615,
"k_per_9_rank": 9,
"whip_value": 0.8365,
"whip_rank": null,
"war_value": 2.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9708,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9708,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9447,
"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": 11.0,
"ER": 1,
"H": 6,
"BB": 4,
"SO": 19,
"HR": 0,
"ERA": 0.8181818181818182,
"WHIP": 0.9090909090909091,
"K9": 15.545454545454545,
"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-29T00: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": 6.872,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5788,
"prior_weight": 0.4212
},
"role": "pitcher",
"player_id": "695243",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 10.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 2.0,
"HR": 0.0,
"BF": 4.4,
"Pitches": 17.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8333,
"ER_per_IP": 0.0,
"H_per_IP": 0.66667,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.66667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 1.0,
"R": 2.0,
"H": 6.0,
"BB": 4.0,
"SO": 19.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 185.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 1.9,
"HR": 0.0,
"BF": 4.2,
"Pitches": 18.5
},
"rates": {
"ERA": 0.8182,
"WHIP": 0.9091,
"ER_per_IP": 0.09091,
"H_per_IP": 0.54545,
"BB_per_IP": 0.36364,
"SO_per_IP": 1.72727,
"HR_per_IP": 0.0
}
},
"season": {
"games": 33,
"totals": {
"IP": 34.2,
"ER": 3.0,
"R": 5.0,
"H": 16.0,
"BB": 13.0,
"SO": 66.0,
"HR": 0.0,
"BF": 132.0,
"Pitches": 568.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0909,
"R": 0.1515,
"H": 0.4848,
"BB": 0.3939,
"SO": 2.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 17.2121
},
"rates": {
"ERA": 0.7788,
"WHIP": 0.8365,
"ER_per_IP": 0.08654,
"H_per_IP": 0.46154,
"BB_per_IP": 0.375,
"SO_per_IP": 1.90385,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.259,
"predicted_H": 0.809,
"predicted_BB": 0.338,
"predicted_SO": 1.528,
"predicted_HR": 0.067,
"predicted_ERA": 2.1423,
"predicted_WHIP": 1.0552
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.528,
"form_weight": 0.472,
"form_reliability": 0.5788,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.872,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5788,
"prior_weight": 0.4212
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.259,
"final": 0.1223,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.809,
"final": 0.3819,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.338,
"final": 0.1596,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.528,
"final": 2.3052,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0316,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1423,
"final": 2.1423,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0552,
"final": 1.0552,
"source": "form_only"
}
}
}{
"available": false,
"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 Hart |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0204 |
| ESPN Rank | 639 |
| 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 | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 5.3372 |
| Season WHIP | 1.0814 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"opponent": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"edges": {
"quality_edge": -0.5008,
"offense_edge": -0.1165,
"opponent_offense_edge": 0.178,
"defense_strength": 0.0098,
"opponent_defense_weakness": -0.2798,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9731,
"run_prevention": 1.0525,
"strikeout": 0.9707
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "606996",
"profile": {
"available": true,
"pitcher_id": "606996",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 67.0,
"k_percent": 21.2,
"bb_percent": 9.3,
"woba": 0.301,
"xwoba": 0.31,
"sweet_spot_percent": 36.7,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 30.4,
"avg_best_speed": 76.5742,
"avg_hyper_speed": 93.2644,
"whiff_percent": 19.6,
"swing_percent": 43.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.147,
"command_and_miss": -0.3918,
"regression_edge": -0.2571,
"xwoba_edge": 0.0714,
"barrel_edge": -0.3333,
"hard_hit_edge": 1.1286,
"whiff_edge": -0.8429,
"bb_edge": -0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "606996",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0204,
"sample_weight": 0.45,
"run_prevention_factor": 1.0017,
"strikeout_factor": 0.9814,
"walk_factor": 1.0018,
"homer_factor": 0.9907,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606996",
"espn_id": 39936,
"player_name": "Kyle Hart",
"team": "SD",
"role": "pitcher",
"espn_rank": 639,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 639,
"gp_value": 20.0,
"gp_rank": 215,
"gs_value": 1.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.3372,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 5.0,
"hld_rank": 107,
"ip_value": 28.2,
"ip_rank": 332,
"h_value": 20.0,
"h_rank": 383,
"er_value": 17.0,
"er_rank": 217,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 25.0,
"k_rank": 345,
"k_per_9_value": 7.8488374,
"k_per_9_rank": 28,
"whip_value": 1.0813,
"whip_rank": null,
"war_value": -0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0008,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0008,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0008,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9916,
"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.1,
"ER": 7,
"H": 8,
"BB": 5,
"SO": 17,
"HR": 3,
"ERA": 4.725,
"WHIP": 0.975,
"K9": 11.475,
"HR9": 2.025,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "606996",
"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.683,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.532,
"prior_weight": 0.468
},
"role": "pitcher",
"player_id": "606996",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.2,
"ER": 7.0,
"R": 8.0,
"H": 7.0,
"BB": 5.0,
"SO": 12.0,
"HR": 3.0,
"BF": 37.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.2,
"ER": 1.4,
"R": 1.6,
"H": 1.4,
"BB": 1.0,
"SO": 2.4,
"HR": 0.6,
"BF": 7.4,
"Pitches": 31.2
},
"rates": {
"ERA": 8.2174,
"WHIP": 1.5652,
"ER_per_IP": 0.91304,
"H_per_IP": 0.91304,
"BB_per_IP": 0.65217,
"SO_per_IP": 1.56522,
"HR_per_IP": 0.3913
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.1,
"ER": 7.0,
"R": 8.0,
"H": 8.0,
"BB": 5.0,
"SO": 17.0,
"HR": 3.0,
"BF": 54.0,
"Pitches": 220.0
},
"per_game": {
"IP": 1.1,
"ER": 0.7,
"R": 0.8,
"H": 0.8,
"BB": 0.5,
"SO": 1.7,
"HR": 0.3,
"BF": 5.4,
"Pitches": 22.0
},
"rates": {
"ERA": 4.725,
"WHIP": 0.975,
"ER_per_IP": 0.525,
"H_per_IP": 0.6,
"BB_per_IP": 0.375,
"SO_per_IP": 1.275,
"HR_per_IP": 0.225
}
},
"season": {
"games": 20,
"totals": {
"IP": 28.2,
"ER": 17.0,
"R": 18.0,
"H": 20.0,
"BB": 11.0,
"SO": 25.0,
"HR": 3.0,
"BF": 118.0,
"Pitches": 460.0
},
"per_game": {
"IP": 1.1,
"ER": 0.85,
"R": 0.9,
"H": 1.0,
"BB": 0.55,
"SO": 1.25,
"HR": 0.15,
"BF": 5.9,
"Pitches": 23.0
},
"rates": {
"ERA": 5.3372,
"WHIP": 1.0814,
"ER_per_IP": 0.59302,
"H_per_IP": 0.69767,
"BB_per_IP": 0.38372,
"SO_per_IP": 0.87209,
"HR_per_IP": 0.10465
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.579,
"predicted_H": 0.809,
"predicted_BB": 0.41,
"predicted_SO": 1.088,
"predicted_HR": 0.204,
"predicted_ERA": 5.5109,
"predicted_WHIP": 1.2904
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5477,
"form_weight": 0.4523,
"form_reliability": 0.532,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.683,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.532,
"prior_weight": 0.468
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.579,
"final": 0.2619,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.809,
"final": 0.9136,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.41,
"final": 0.1854,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.088,
"final": 1.0398,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.204,
"final": 0.0923,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.5109,
"final": 5.5109,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2904,
"final": 1.2904,
"source": "form_only"
}
}
}{
"available": false,
"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.181 | 0.000 | 0.000 | Hitting_2B | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.340 | 4.000 | 4.000 | Hitting_AB | 3.876 | 4.000 | 0.124 | 0.000 |
| predicted_AVG | 0.243 | 0.250 | 0.250 | Hitting_AVG | 0.268 | 0.000 | -0.018 | 0.250 |
| predicted_BB | 0.361 | 1.000 | 0.000 | Hitting_BB | 0.422 | 0.000 | 0.578 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_H | 1.060 | 1.000 | 1.000 | Hitting_H | 1.039 | 0.000 | -0.039 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_OBP | 0.308 | 0.400 | 0.250 | Hitting_OBP | 0.340 | 0.000 | 0.060 | 0.400 |
| predicted_R | 0.446 | 0.000 | 0.000 | Hitting_R | 0.399 | 0.000 | -0.399 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SLG | 0.496 | 0.250 | 0.250 | Hitting_SLG | 0.329 | 0.000 | -0.079 | 0.250 |
| predicted_SO | 0.880 | 1.000 | 1.000 | Hitting_SO | 0.965 | 0.000 | 0.035 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_BB: 0.3610 -> 1.0000 (boost 0.6390, better) |
| Biggest Deboost | predicted_RBI: 0.5200 -> 0.0000 (deboost -0.5200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2430 -> 0.2520 (boost 0.0090, better) | predicted_AB: 4.3400 -> 4.2322 (deboost -0.1078, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_SLG: 0.4670 -> 0.3928 (deboost -0.0742, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.8629 -> 1.0000 (boost 0.1371, worse) | predicted_RBI: 0.4646 -> 0.0000 (deboost -0.4646, worse) | AB rounded to 4 (raw=4.34), rates preserved: AVG=0.231 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4016 -> 0.0000 (deboost -0.4016, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2364 -> 0.2500 (boost 0.0136, better) | predicted_SLG: 0.3928 -> 0.2500 (deboost -0.1428, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3928 (boost 0.1428, better) | predicted_AVG: 0.2500 -> 0.2364 (deboost -0.0136, worse) | 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.181,
"predicted_3B": 0.012,
"predicted_AB": 4.34,
"predicted_AVG": 0.243,
"predicted_BB": 0.361,
"predicted_H": 1.06,
"predicted_HR": 0.17,
"predicted_OBP": 0.308,
"predicted_R": 0.446,
"predicted_RBI": 0.52,
"predicted_SLG": 0.496,
"predicted_SO": 0.88
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1699,
"predicted_3B": 0.0103,
"predicted_AB": 4.2322,
"predicted_AVG": 0.252,
"predicted_BB": 0.3127,
"predicted_H": 1.0681,
"predicted_HBP": 0.075,
"predicted_HR": 0.1683,
"predicted_OBP": 0.3111,
"predicted_R": 0.4499,
"predicted_RBI": 0.5204,
"predicted_SLG": 0.467,
"predicted_SO": 0.8462
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.1699,
"delta": -0.0111,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 4.2322,
"delta": -0.1078,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.252,
"delta": 0.009,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.361,
"after": 0.3127,
"delta": -0.0483,
"percent_delta": -0.1338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0681,
"delta": 0.0081,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1683,
"delta": -0.0017,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3111,
"delta": 0.0031,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.446,
"after": 0.4499,
"delta": 0.0039,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5204,
"delta": 0.0004,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.496,
"after": 0.467,
"delta": -0.029,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 0.8462,
"delta": -0.0338,
"percent_delta": -0.0384,
"direction": "no_change",
"projection_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.243,
"after": 0.252,
"delta": 0.009,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.34,
"after": 4.2322,
"delta": -0.1078,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1699,
"predicted_3B": 0.0103,
"predicted_AB": 4.2322,
"predicted_AVG": 0.2364,
"predicted_BB": 0.3065,
"predicted_H": 1.0007,
"predicted_HBP": 0.075,
"predicted_HR": 0.157,
"predicted_OBP": 0.288,
"predicted_R": 0.4016,
"predicted_RBI": 0.4646,
"predicted_SLG": 0.3928,
"predicted_SO": 0.8629
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1699,
"after": 0.1699,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2322,
"after": 4.2322,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2364,
"delta": -0.0156,
"percent_delta": -0.0619,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3127,
"after": 0.3065,
"delta": -0.0062,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0681,
"after": 1.0007,
"delta": -0.0674,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.075,
"after": 0.075,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1683,
"after": 0.157,
"delta": -0.0113,
"percent_delta": -0.0671,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3111,
"after": 0.288,
"delta": -0.0231,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4499,
"after": 0.4016,
"delta": -0.0483,
"percent_delta": -0.1074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5204,
"after": 0.4646,
"delta": -0.0558,
"percent_delta": -0.1072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.3928,
"delta": -0.0742,
"percent_delta": -0.1589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8462,
"after": 0.8629,
"delta": 0.0167,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.3928,
"delta": -0.0742,
"percent_delta": -0.1589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.34), rates preserved: AVG=0.231 HR/AB=0.036",
"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.1699,
"after": 0.0,
"delta": -0.1699,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2322,
"after": 4.0,
"delta": -0.2322,
"percent_delta": -0.0549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3065,
"after": 0.0,
"delta": -0.3065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0007,
"after": 1.0,
"delta": -0.0007,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4646,
"after": 0.0,
"delta": -0.4646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8629,
"after": 1.0,
"delta": 0.1371,
"percent_delta": 0.1589,
"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.8629,
"after": 1.0,
"delta": 0.1371,
"percent_delta": 0.1589,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4646,
"after": 0.0,
"delta": -0.4646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4016,
"after": 0.0,
"delta": -0.4016,
"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.4016,
"after": 0.0,
"delta": -0.4016,
"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.2364,
"after": 0.25,
"delta": 0.0136,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.25,
"delta": -0.038,
"percent_delta": -0.1319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3928,
"after": 0.25,
"delta": -0.1428,
"percent_delta": -0.3635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2364,
"after": 0.25,
"delta": 0.0136,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3928,
"after": 0.25,
"delta": -0.1428,
"percent_delta": -0.3635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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": 4.0,
"predicted_AVG": 0.2364,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.288,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3928,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2364,
"delta": -0.0136,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.288,
"delta": 0.038,
"percent_delta": 0.1521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3928,
"delta": 0.1428,
"percent_delta": 0.5711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3928,
"delta": 0.1428,
"percent_delta": 0.5711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2364,
"delta": -0.0136,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0,
"delta": -0.34,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2364,
"delta": -0.0066,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.361,
"after": 1.0,
"delta": 0.639,
"percent_delta": 1.7701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"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.308,
"after": 0.288,
"delta": -0.02,
"percent_delta": -0.0649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"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.496,
"after": 0.3928,
"delta": -0.1032,
"percent_delta": -0.2081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"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.361,
"after": 1.0,
"delta": 0.639,
"percent_delta": 1.7701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 4.340 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.361 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.446 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.496 | - |
| predicted_SO | 0.880 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.011 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.232 | -0.108 |
| predicted_AVG | 0.252 | 0.009 |
| predicted_BB | 0.313 | -0.048 |
| predicted_H | 1.068 | 0.008 |
| predicted_HBP | 0.075 | - |
| predicted_HR | 0.168 | -0.002 |
| predicted_OBP | 0.311 | 0.003 |
| predicted_R | 0.450 | 0.004 |
| predicted_RBI | 0.520 | 0.000 |
| predicted_SLG | 0.467 | -0.029 |
| predicted_SO | 0.846 | -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.170 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.232 | 0.000 |
| predicted_AVG | 0.236 | -0.016 |
| predicted_BB | 0.306 | -0.006 |
| predicted_H | 1.001 | -0.067 |
| predicted_HBP | 0.075 | 0.000 |
| predicted_HR | 0.157 | -0.011 |
| predicted_OBP | 0.288 | -0.023 |
| predicted_R | 0.402 | -0.048 |
| predicted_RBI | 0.465 | -0.056 |
| predicted_SLG | 0.393 | -0.074 |
| predicted_SO | 0.863 | 0.017 |
AB rounded to 4 (raw=4.34), rates preserved: AVG=0.231 HR/AB=0.036
| 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.170 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.232 |
| predicted_AVG | 0.250 | 0.014 |
| predicted_BB | 0.000 | -0.306 |
| predicted_H | 1.000 | -0.001 |
| predicted_HR | 0.000 | -0.157 |
| predicted_OBP | 0.250 | -0.038 |
| predicted_R | 0.000 | -0.402 |
| predicted_RBI | 0.000 | -0.465 |
| predicted_SLG | 0.250 | -0.143 |
| predicted_SO | 1.000 | 0.137 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 23.000 | 5.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 0.000 | 3.000 | 0.2174 | 0.2500 | 0.4783 | 0.2174 | 0.0870 | 0.1739 | 0.0000 | 0.1304 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 2.000 | 0.000 | 3.000 | 7.000 | 5.000 | 1.000 | 7.000 | 0.2683 | 0.3023 | 0.5366 | 0.2683 | 0.0732 | 0.1707 | 0.0244 | 0.1707 |
| season | 0.60 | 83 | - | 328.000 | 92.000 | 15.000 | 1.000 | 5.000 | 32.000 | 37.000 | 30.000 | 73.000 | 0.2805 | 0.3425 | 0.3780 | 0.2805 | 0.0152 | 0.0976 | 0.0915 | 0.2226 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1550 |
| predicted_3B | 0.0080 |
| predicted_AB | 4.0880 |
| predicted_AVG | 0.2641 |
| predicted_BB | 0.2480 |
| predicted_H | 1.0790 |
| predicted_HBP | 0.0750 |
| predicted_HR | 0.1660 |
| predicted_OBP | 0.3152 |
| predicted_R | 0.4550 |
| predicted_RBI | 0.5210 |
| predicted_SLG | 0.4282 |
| predicted_SO | 0.8010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.1550 | 0.1699 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.3400 | 4.0880 | 4.2322 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2641 | 0.2520 | model_form_blend |
| predicted_BB | 0.3610 | 0.2480 | 0.3127 | model_form_blend |
| predicted_H | 1.0600 | 1.0790 | 1.0681 | model_form_blend |
| predicted_HBP | - | 0.0750 | 0.0750 | form_only |
| predicted_HR | 0.1700 | 0.1660 | 0.1683 | model_form_blend |
| predicted_OBP | 0.3080 | 0.3152 | 0.3111 | model_form_blend |
| predicted_R | 0.4460 | 0.4550 | 0.4499 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5210 | 0.5204 | model_form_blend |
| predicted_SLG | 0.4960 | 0.4282 | 0.4670 | model_form_blend |
| predicted_SO | 0.8800 | 0.8010 | 0.8462 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.28 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | RF |
| gameID | 20260701_SD@CHC |
| game_type | full |
| mlbID | 665487 |
| playerID | 665487 |
| playerName | Fernando Tatis Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.319 |
| sl_xwoba | 0.357 |
| sl_xba | 0.29 |
| sl_xslg | 0.443 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 53.3 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 5.0 |
| sl_whiff_percent | 28.7 |
| 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.179 | 0.000 | 0.000 | Hitting_2B | 0.221 | 1.000 | -0.221 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.310 | 4.000 | 3.000 | Hitting_AB | 3.342 | 3.000 | 0.658 | 1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.333 | Hitting_AVG | 0.245 | 0.333 | -0.245 | -0.333 |
| predicted_BB | 0.372 | 0.000 | 0.000 | Hitting_BB | 0.387 | 1.000 | -0.387 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.819 | 1.000 | -0.819 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_OBP | 0.338 | 0.000 | 0.333 | Hitting_OBP | 0.328 | 0.600 | -0.328 | -0.600 |
| predicted_R | 0.410 | 0.000 | 0.000 | Hitting_R | 0.427 | 0.000 | -0.427 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 0.000 | Hitting_RBI | 0.503 | 0.000 | -0.503 | 0.000 |
| predicted_SLG | 0.570 | 0.000 | 0.333 | Hitting_SLG | 0.478 | 0.667 | -0.478 | -0.667 |
| predicted_SO | 0.808 | 1.000 | 1.000 | Hitting_SO | 0.819 | 0.000 | 0.181 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_AB: 3.3100 -> 4.0000 (boost 0.6900, better) |
| 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 | 2 | 2 | 2 | 2 | predicted_OBP: 0.3380 -> 0.3460 (boost 0.0080, better) | predicted_AB: 3.3100 -> 3.1731 (deboost -0.1369, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_SLG: 0.5650 -> 0.4867 (deboost -0.0783, 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.7743 -> 1.0000 (boost 0.2257, better) | predicted_RBI: 0.5502 -> 0.0000 (deboost -0.5502, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.234 HR/AB=0.060 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3615 -> 0.0000 (deboost -0.3615, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2440 -> 0.3330 (boost 0.0890, better) | predicted_SLG: 0.4867 -> 0.3330 (deboost -0.1537, 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.4867 (boost 0.1537, better) | predicted_AVG: 0.3330 -> 0.2440 (deboost -0.0890, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657757",
"player_name": "Gavin Sheets",
"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.179,
"predicted_3B": 0.0,
"predicted_AB": 3.31,
"predicted_AVG": 0.255,
"predicted_BB": 0.372,
"predicted_H": 0.84,
"predicted_HR": 0.2,
"predicted_OBP": 0.338,
"predicted_R": 0.41,
"predicted_RBI": 0.61,
"predicted_SLG": 0.57,
"predicted_SO": 0.808
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0004,
"predicted_AB": 3.1731,
"predicted_AVG": 0.2616,
"predicted_BB": 0.3497,
"predicted_H": 0.8265,
"predicted_HBP": 0.085,
"predicted_HR": 0.2122,
"predicted_OBP": 0.346,
"predicted_R": 0.4049,
"predicted_RBI": 0.6163,
"predicted_SLG": 0.565,
"predicted_SO": 0.7604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1752,
"delta": -0.0038,
"percent_delta": -0.0212,
"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.31,
"after": 3.1731,
"delta": -0.1369,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2616,
"delta": 0.0066,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.372,
"after": 0.3497,
"delta": -0.0223,
"percent_delta": -0.0599,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8265,
"delta": -0.0135,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2122,
"delta": 0.0122,
"percent_delta": 0.061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.346,
"delta": 0.008,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.4049,
"delta": -0.0051,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6163,
"delta": 0.0063,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.565,
"delta": -0.005,
"percent_delta": -0.0088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.808,
"after": 0.7604,
"delta": -0.0476,
"percent_delta": -0.0589,
"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_OBP",
"before": 0.338,
"after": 0.346,
"delta": 0.008,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.31,
"after": 3.1731,
"delta": -0.1369,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 78
}
},
{
"index": 3,
"step": "team_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.0004,
"predicted_AB": 3.1731,
"predicted_AVG": 0.244,
"predicted_BB": 0.3428,
"predicted_H": 0.7743,
"predicted_HBP": 0.085,
"predicted_HR": 0.198,
"predicted_OBP": 0.3177,
"predicted_R": 0.3615,
"predicted_RBI": 0.5502,
"predicted_SLG": 0.4867,
"predicted_SO": 0.7754
},
"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.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1731,
"after": 3.1731,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2616,
"after": 0.244,
"delta": -0.0176,
"percent_delta": -0.0673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3497,
"after": 0.3428,
"delta": -0.0069,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8265,
"after": 0.7743,
"delta": -0.0522,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.085,
"after": 0.085,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2122,
"after": 0.198,
"delta": -0.0142,
"percent_delta": -0.0669,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3177,
"delta": -0.0283,
"percent_delta": -0.0818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4049,
"after": 0.3615,
"delta": -0.0434,
"percent_delta": -0.1072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6163,
"after": 0.5502,
"delta": -0.0661,
"percent_delta": -0.1073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.565,
"after": 0.4867,
"delta": -0.0783,
"percent_delta": -0.1386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7604,
"after": 0.7754,
"delta": 0.015,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.565,
"after": 0.4867,
"delta": -0.0783,
"percent_delta": -0.1386,
"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.234 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": 0.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.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1731,
"after": 3.0,
"delta": -0.1731,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"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.7743,
"after": 1.0,
"delta": 0.2257,
"percent_delta": 0.2915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.198,
"after": 0.0,
"delta": -0.198,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5502,
"after": 0.0,
"delta": -0.5502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7754,
"after": 1.0,
"delta": 0.2246,
"percent_delta": 0.2897,
"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.7743,
"after": 1.0,
"delta": 0.2257,
"percent_delta": 0.2915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5502,
"after": 0.0,
"delta": -0.5502,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3615,
"after": 0.0,
"delta": -0.3615,
"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.3615,
"after": 0.0,
"delta": -0.3615,
"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.244,
"after": 0.333,
"delta": 0.089,
"percent_delta": 0.3648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0153,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.4867,
"after": 0.333,
"delta": -0.1537,
"percent_delta": -0.3158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.244,
"after": 0.333,
"delta": 0.089,
"percent_delta": 0.3648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4867,
"after": 0.333,
"delta": -0.1537,
"percent_delta": -0.3158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.244,
"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.3177,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4867,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.244,
"delta": -0.089,
"percent_delta": -0.2672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3177,
"delta": -0.0153,
"percent_delta": -0.0458,
"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.4867,
"delta": 0.1537,
"percent_delta": 0.4615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4867,
"delta": 0.1537,
"percent_delta": 0.4615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.244,
"delta": -0.089,
"percent_delta": -0.2672,
"direction": "deboost",
"projection_effect": "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.31,
"after": 4.0,
"delta": 0.69,
"percent_delta": 0.2085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.244,
"delta": -0.011,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.372,
"after": 0.0,
"delta": -0.372,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3177,
"delta": -0.0203,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.4867,
"delta": -0.0833,
"percent_delta": -0.1461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.808,
"after": 1.0,
"delta": 0.192,
"percent_delta": 0.2376,
"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.31,
"after": 4.0,
"delta": 0.69,
"percent_delta": 0.2085,
"direction": "boost",
"projection_effect": "better",
"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.179 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.310 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.372 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.410 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.570 | - |
| predicted_SO | 0.808 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.173 | -0.137 |
| predicted_AVG | 0.262 | 0.007 |
| predicted_BB | 0.350 | -0.022 |
| predicted_H | 0.827 | -0.013 |
| predicted_HBP | 0.085 | - |
| predicted_HR | 0.212 | 0.012 |
| predicted_OBP | 0.346 | 0.008 |
| predicted_R | 0.405 | -0.005 |
| predicted_RBI | 0.616 | 0.006 |
| predicted_SLG | 0.565 | -0.005 |
| predicted_SO | 0.760 | -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.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.173 | 0.000 |
| predicted_AVG | 0.244 | -0.018 |
| predicted_BB | 0.343 | -0.007 |
| predicted_H | 0.774 | -0.052 |
| predicted_HBP | 0.085 | 0.000 |
| predicted_HR | 0.198 | -0.014 |
| predicted_OBP | 0.318 | -0.028 |
| predicted_R | 0.361 | -0.043 |
| predicted_RBI | 0.550 | -0.066 |
| predicted_SLG | 0.487 | -0.078 |
| predicted_SO | 0.775 | 0.015 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.234 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 | 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.000 |
| predicted_AB | 3.000 | -0.173 |
| predicted_AVG | 0.333 | 0.089 |
| predicted_BB | 0.000 | -0.343 |
| predicted_H | 1.000 | 0.226 |
| predicted_HR | 0.000 | -0.198 |
| predicted_OBP | 0.333 | 0.015 |
| predicted_R | 0.000 | -0.361 |
| predicted_RBI | 0.000 | -0.550 |
| predicted_SLG | 0.333 | -0.154 |
| predicted_SO | 1.000 | 0.225 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 13.000 | 5.000 | 1.000 | 0.000 | 2.000 | 5.000 | 2.000 | 1.000 | 2.000 | 0.3846 | 0.4667 | 0.9231 | 0.3846 | 0.1538 | 0.3846 | 0.0769 | 0.1538 |
| last_10 | 0.20 | 10 | - | 25.000 | 7.000 | 1.000 | 0.000 | 2.000 | 6.000 | 3.000 | 3.000 | 6.000 | 0.2800 | 0.3793 | 0.5600 | 0.2800 | 0.0800 | 0.2400 | 0.1200 | 0.2400 |
| season | 0.60 | 78 | - | 244.000 | 57.000 | 14.000 | 0.000 | 14.000 | 38.000 | 32.000 | 29.000 | 63.000 | 0.2336 | 0.3225 | 0.4631 | 0.2336 | 0.0574 | 0.1557 | 0.1188 | 0.2582 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1700 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.9850 |
| predicted_AVG | 0.2706 |
| predicted_BB | 0.3190 |
| predicted_H | 0.8080 |
| predicted_HBP | 0.0850 |
| predicted_HR | 0.2290 |
| predicted_OBP | 0.3571 |
| predicted_R | 0.3980 |
| predicted_RBI | 0.6250 |
| predicted_SLG | 0.5582 |
| predicted_SO | 0.6950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.1700 | 0.1752 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3100 | 2.9850 | 3.1731 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2706 | 0.2616 | model_form_blend |
| predicted_BB | 0.3720 | 0.3190 | 0.3497 | model_form_blend |
| predicted_H | 0.8400 | 0.8080 | 0.8265 | model_form_blend |
| predicted_HBP | - | 0.0850 | 0.0850 | form_only |
| predicted_HR | 0.2000 | 0.2290 | 0.2122 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3571 | 0.3460 | model_form_blend |
| predicted_R | 0.4100 | 0.3980 | 0.4049 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6250 | 0.6163 | model_form_blend |
| predicted_SLG | 0.5700 | 0.5582 | 0.5650 | model_form_blend |
| predicted_SO | 0.8080 | 0.6950 | 0.7604 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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 | 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 | 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 | LF |
| gameID | 20260701_SD@CHC |
| game_type | full |
| mlbID | 657757 |
| playerID | 657757 |
| playerName | Gavin Sheets |
| pos | 1B |
| started | True |
| startingPosition | LF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 10.5 |
| sl_woba | 0.343 |
| sl_xwoba | 0.337 |
| sl_xba | 0.249 |
| sl_xslg | 0.431 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 44.2 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 21.1 |
| 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.059 | 0.000 | 0.000 | Hitting_2B | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.310 | 4.000 | 3.000 | Hitting_AB | 3.227 | 4.000 | 0.773 | 0.000 |
| predicted_AVG | 0.221 | 0.000 | 0.333 | Hitting_AVG | 0.161 | 0.750 | -0.161 | -0.750 |
| predicted_BB | 0.412 | 0.000 | 0.000 | Hitting_BB | 0.479 | 0.000 | -0.479 | 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.521 | 3.000 | -0.521 | -3.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_OBP | 0.285 | 0.000 | 0.333 | Hitting_OBP | 0.288 | 0.750 | -0.288 | -0.750 |
| predicted_R | 0.382 | 0.000 | 0.000 | Hitting_R | 0.479 | 0.000 | -0.479 | 0.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_SLG | 0.370 | 0.000 | 0.333 | Hitting_SLG | 0.214 | 0.750 | -0.214 | -0.750 |
| predicted_SO | 0.706 | 0.000 | 1.000 | Hitting_SO | 0.714 | 1.000 | -0.714 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.3100 -> 4.0000 (boost 0.6900, better) |
| Biggest Deboost | predicted_H: 0.7300 -> 0.0000 (deboost -0.7300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 3.3100 -> 3.2229 (deboost -0.0871, worse) | Final model input calibrated with local form: 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.3199 -> 0.2626 (deboost -0.0573, 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.6288 -> 1.0000 (boost 0.3712, better) | predicted_BB: 0.3523 -> 0.0000 (deboost -0.3523, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.190 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3064 -> 0.0000 (deboost -0.3064, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1951 -> 0.3330 (boost 0.1379, 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.1951 (deboost -0.1379, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "630105",
"player_name": "Jake Cronenworth",
"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.059,
"predicted_3B": 0.0,
"predicted_AB": 3.31,
"predicted_AVG": 0.221,
"predicted_BB": 0.412,
"predicted_H": 0.73,
"predicted_HR": 0.07,
"predicted_OBP": 0.285,
"predicted_R": 0.382,
"predicted_RBI": 0.24,
"predicted_SLG": 0.37,
"predicted_SO": 0.706
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0582,
"predicted_3B": 0.0008,
"predicted_AB": 3.2229,
"predicted_AVG": 0.2079,
"predicted_BB": 0.3594,
"predicted_H": 0.6712,
"predicted_HBP": 0.123,
"predicted_HR": 0.0563,
"predicted_OBP": 0.2838,
"predicted_R": 0.3432,
"predicted_RBI": 0.1984,
"predicted_SLG": 0.3199,
"predicted_SO": 0.6817
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.059,
"after": 0.0582,
"delta": -0.0008,
"percent_delta": -0.0136,
"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.31,
"after": 3.2229,
"delta": -0.0871,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"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.412,
"after": 0.3594,
"delta": -0.0526,
"percent_delta": -0.1277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.6712,
"delta": -0.0588,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0563,
"delta": -0.0137,
"percent_delta": -0.1957,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2838,
"delta": -0.0012,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.3432,
"delta": -0.0388,
"percent_delta": -0.1016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.1984,
"delta": -0.0416,
"percent_delta": -0.1733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3199,
"delta": -0.0501,
"percent_delta": -0.1354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.706,
"after": 0.6817,
"delta": -0.0243,
"percent_delta": -0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.31,
"after": 3.2229,
"delta": -0.0871,
"percent_delta": -0.0263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0582,
"predicted_3B": 0.0008,
"predicted_AB": 3.2229,
"predicted_AVG": 0.1951,
"predicted_BB": 0.3523,
"predicted_H": 0.6288,
"predicted_HBP": 0.123,
"predicted_HR": 0.0525,
"predicted_OBP": 0.2744,
"predicted_R": 0.3064,
"predicted_RBI": 0.1771,
"predicted_SLG": 0.2626,
"predicted_SO": 0.6951
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0582,
"after": 0.0582,
"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.2229,
"after": 3.2229,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2079,
"after": 0.1951,
"delta": -0.0128,
"percent_delta": -0.0616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3594,
"after": 0.3523,
"delta": -0.0071,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6712,
"after": 0.6288,
"delta": -0.0424,
"percent_delta": -0.0632,
"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.0563,
"after": 0.0525,
"delta": -0.0038,
"percent_delta": -0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2838,
"after": 0.2744,
"delta": -0.0094,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3432,
"after": 0.3064,
"delta": -0.0368,
"percent_delta": -0.1072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1984,
"after": 0.1771,
"delta": -0.0213,
"percent_delta": -0.1074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3199,
"after": 0.2626,
"delta": -0.0573,
"percent_delta": -0.1791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6817,
"after": 0.6951,
"delta": 0.0134,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3199,
"after": 0.2626,
"delta": -0.0573,
"percent_delta": -0.1791,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.31), rates preserved: AVG=0.190 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.0582,
"after": 0.0,
"delta": -0.0582,
"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.2229,
"after": 3.0,
"delta": -0.2229,
"percent_delta": -0.0692,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3523,
"after": 0.0,
"delta": -0.3523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6288,
"after": 1.0,
"delta": 0.3712,
"percent_delta": 0.5903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0525,
"after": 0.0,
"delta": -0.0525,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1771,
"after": 0.0,
"delta": -0.1771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6951,
"after": 1.0,
"delta": 0.3049,
"percent_delta": 0.4386,
"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.6288,
"after": 1.0,
"delta": 0.3712,
"percent_delta": 0.5903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3523,
"after": 0.0,
"delta": -0.3523,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3064,
"after": 0.0,
"delta": -0.3064,
"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.3064,
"after": 0.0,
"delta": -0.3064,
"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.1951,
"after": 0.333,
"delta": 0.1379,
"percent_delta": 0.7068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2744,
"after": 0.333,
"delta": 0.0586,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2626,
"after": 0.333,
"delta": 0.0704,
"percent_delta": 0.2681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1951,
"after": 0.333,
"delta": 0.1379,
"percent_delta": 0.7068,
"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.1951,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2744,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2626,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1951,
"delta": -0.1379,
"percent_delta": -0.4141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2744,
"delta": -0.0586,
"percent_delta": -0.1759,
"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.2626,
"delta": -0.0704,
"percent_delta": -0.2115,
"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.1951,
"delta": -0.1379,
"percent_delta": -0.4141,
"direction": "deboost",
"projection_effect": "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": 3.31,
"after": 4.0,
"delta": 0.69,
"percent_delta": 0.2085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.1951,
"delta": -0.0259,
"percent_delta": -0.1172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"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.2744,
"delta": -0.0106,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.2626,
"delta": -0.1074,
"percent_delta": -0.2903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.706,
"after": 0.0,
"delta": -0.706,
"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.31,
"after": 4.0,
"delta": 0.69,
"percent_delta": 0.2085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.059 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.310 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.382 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.370 | - |
| predicted_SO | 0.706 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.058 | -0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.223 | -0.087 |
| predicted_AVG | 0.208 | -0.013 |
| predicted_BB | 0.359 | -0.053 |
| predicted_H | 0.671 | -0.059 |
| predicted_HBP | 0.123 | - |
| predicted_HR | 0.056 | -0.014 |
| predicted_OBP | 0.284 | -0.001 |
| predicted_R | 0.343 | -0.039 |
| predicted_RBI | 0.198 | -0.042 |
| predicted_SLG | 0.320 | -0.050 |
| predicted_SO | 0.682 | -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.058 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.223 | 0.000 |
| predicted_AVG | 0.195 | -0.013 |
| predicted_BB | 0.352 | -0.007 |
| predicted_H | 0.629 | -0.042 |
| predicted_HBP | 0.123 | 0.000 |
| predicted_HR | 0.052 | -0.004 |
| predicted_OBP | 0.274 | -0.009 |
| predicted_R | 0.306 | -0.037 |
| predicted_RBI | 0.177 | -0.021 |
| predicted_SLG | 0.263 | -0.057 |
| predicted_SO | 0.695 | 0.013 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.190 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.058 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.223 |
| predicted_AVG | 0.333 | 0.138 |
| predicted_BB | 0.000 | -0.352 |
| predicted_H | 1.000 | 0.371 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.333 | 0.059 |
| predicted_R | 0.000 | -0.306 |
| predicted_RBI | 0.000 | -0.177 |
| predicted_SLG | 0.333 | 0.070 |
| predicted_SO | 1.000 | 0.305 |
Attached 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 | - | 13.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.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 | - | 27.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.1481 | 0.2581 | 0.1481 | 0.1482 | 0.0000 | 0.0000 | 0.0741 | 0.1852 |
| season | 0.60 | 34 | - | 105.000 | 17.000 | 2.000 | 0.000 | 1.000 | 4.000 | 13.000 | 14.000 | 24.000 | 0.1619 | 0.2787 | 0.2095 | 0.1619 | 0.0095 | 0.0381 | 0.1333 | 0.2286 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0570 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0880 |
| predicted_AVG | 0.1877 |
| predicted_BB | 0.2780 |
| predicted_H | 0.5800 |
| predicted_HBP | 0.1230 |
| predicted_HR | 0.0350 |
| predicted_OBP | 0.2819 |
| predicted_R | 0.2830 |
| predicted_RBI | 0.1340 |
| predicted_SLG | 0.2423 |
| predicted_SO | 0.6440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0590 | 0.0570 | 0.0582 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3100 | 3.0880 | 3.2229 | model_form_blend |
| predicted_AVG | 0.2210 | 0.1877 | 0.2079 | model_form_blend |
| predicted_BB | 0.4120 | 0.2780 | 0.3594 | model_form_blend |
| predicted_H | 0.7300 | 0.5800 | 0.6712 | model_form_blend |
| predicted_HBP | - | 0.1230 | 0.1230 | form_only |
| predicted_HR | 0.0700 | 0.0350 | 0.0563 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2819 | 0.2838 | model_form_blend |
| predicted_R | 0.3820 | 0.2830 | 0.3432 | model_form_blend |
| predicted_RBI | 0.2400 | 0.1340 | 0.1984 | model_form_blend |
| predicted_SLG | 0.3700 | 0.2423 | 0.3199 | model_form_blend |
| predicted_SO | 0.7060 | 0.6440 | 0.6817 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 119 |
| Season rows before report date | 119 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.162 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260701_SD@CHC |
| game_type | full |
| mlbID | 630105 |
| playerID | 630105 |
| playerName | Jake Cronenworth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.5 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.238 |
| sl_xwoba | 0.299 |
| sl_xba | 0.22 |
| sl_xslg | 0.323 |
| sl_sweet_spot_percent | 28.0 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 30.5 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 6.9 |
| sl_whiff_percent | 23.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.193 | 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 | 3.970 | 4.000 | 4.000 | Hitting_AB | 3.640 | 4.000 | 0.360 | 0.000 |
| predicted_AVG | 0.226 | 0.000 | 0.250 | Hitting_AVG | 0.180 | 0.250 | -0.180 | -0.250 |
| predicted_BB | 0.446 | 0.000 | 0.000 | Hitting_BB | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 0.656 | 1.000 | -0.656 | -1.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_OBP | 0.300 | 0.000 | 0.250 | Hitting_OBP | 0.270 | 0.250 | -0.270 | -0.250 |
| predicted_R | 0.494 | 0.000 | 0.000 | Hitting_R | 0.534 | 1.000 | -0.534 | -1.000 |
| predicted_RBI | 0.530 | 0.000 | 0.000 | Hitting_RBI | 0.559 | 0.000 | -0.559 | 0.000 |
| predicted_SLG | 0.528 | 0.000 | 0.250 | Hitting_SLG | 0.369 | 0.500 | -0.369 | -0.500 |
| predicted_SO | 0.928 | 1.000 | 1.000 | Hitting_SO | 0.960 | 2.000 | 0.040 | -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.9280 -> 1.0000 (boost 0.0720, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 3.9700 -> 3.8599 (deboost -0.1101, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_SLG: 0.5135 -> 0.4327 (deboost -0.0808, 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.8148 -> 1.0000 (boost 0.1852, better) | predicted_RBI: 0.4796 -> 0.0000 (deboost -0.4796, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.205 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4638 -> 0.0000 (deboost -0.4638, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2111 -> 0.2500 (boost 0.0389, better) | predicted_SLG: 0.4327 -> 0.2500 (deboost -0.1827, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4327 (boost 0.1827, better) | predicted_AVG: 0.2500 -> 0.2111 (deboost -0.0389, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592518",
"player_name": "Manny Machado",
"position": "3B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.193,
"predicted_3B": 0.0,
"predicted_AB": 3.97,
"predicted_AVG": 0.226,
"predicted_BB": 0.446,
"predicted_H": 0.9,
"predicted_HR": 0.21,
"predicted_OBP": 0.3,
"predicted_R": 0.494,
"predicted_RBI": 0.53,
"predicted_SLG": 0.528,
"predicted_SO": 0.928
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.225,
"predicted_3B": 0.0004,
"predicted_AB": 3.8599,
"predicted_AVG": 0.2249,
"predicted_BB": 0.4434,
"predicted_H": 0.8697,
"predicted_HBP": 0.003,
"predicted_HR": 0.2249,
"predicted_OBP": 0.3012,
"predicted_R": 0.5196,
"predicted_RBI": 0.5373,
"predicted_SLG": 0.5135,
"predicted_SO": 0.9289
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.225,
"delta": 0.032,
"percent_delta": 0.1658,
"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.8599,
"delta": -0.1101,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2249,
"delta": -0.0011,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.4434,
"delta": -0.0026,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.8697,
"delta": -0.0303,
"percent_delta": -0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.2249,
"delta": 0.0149,
"percent_delta": 0.071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.3012,
"delta": 0.0012,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.5196,
"delta": 0.0256,
"percent_delta": 0.0518,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5373,
"delta": 0.0073,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.528,
"after": 0.5135,
"delta": -0.0145,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.928,
"after": 0.9289,
"delta": 0.0009,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.97,
"after": 3.8599,
"delta": -0.1101,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.225,
"predicted_3B": 0.0004,
"predicted_AB": 3.8599,
"predicted_AVG": 0.2111,
"predicted_BB": 0.4347,
"predicted_H": 0.8148,
"predicted_HBP": 0.003,
"predicted_HR": 0.2098,
"predicted_OBP": 0.2909,
"predicted_R": 0.4638,
"predicted_RBI": 0.4796,
"predicted_SLG": 0.4327,
"predicted_SO": 0.9472
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.225,
"after": 0.225,
"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.8599,
"after": 3.8599,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2249,
"after": 0.2111,
"delta": -0.0138,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4434,
"after": 0.4347,
"delta": -0.0087,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8697,
"after": 0.8148,
"delta": -0.0549,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2249,
"after": 0.2098,
"delta": -0.0151,
"percent_delta": -0.0671,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3012,
"after": 0.2909,
"delta": -0.0103,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5196,
"after": 0.4638,
"delta": -0.0558,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5373,
"after": 0.4796,
"delta": -0.0577,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5135,
"after": 0.4327,
"delta": -0.0808,
"percent_delta": -0.1574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9289,
"after": 0.9472,
"delta": 0.0183,
"percent_delta": 0.0197,
"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_SLG",
"before": 0.5135,
"after": 0.4327,
"delta": -0.0808,
"percent_delta": -0.1574,
"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.205 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"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.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8599,
"after": 4.0,
"delta": 0.1401,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4347,
"after": 0.0,
"delta": -0.4347,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8148,
"after": 1.0,
"delta": 0.1852,
"percent_delta": 0.2273,
"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.2098,
"after": 0.0,
"delta": -0.2098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4796,
"after": 0.0,
"delta": -0.4796,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9472,
"after": 1.0,
"delta": 0.0528,
"percent_delta": 0.0557,
"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.8148,
"after": 1.0,
"delta": 0.1852,
"percent_delta": 0.2273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4796,
"after": 0.0,
"delta": -0.4796,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4638,
"after": 0.0,
"delta": -0.4638,
"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.4638,
"after": 0.0,
"delta": -0.4638,
"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.2111,
"after": 0.25,
"delta": 0.0389,
"percent_delta": 0.1843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2909,
"after": 0.25,
"delta": -0.0409,
"percent_delta": -0.1406,
"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.4327,
"after": 0.25,
"delta": -0.1827,
"percent_delta": -0.4222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2111,
"after": 0.25,
"delta": 0.0389,
"percent_delta": 0.1843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4327,
"after": 0.25,
"delta": -0.1827,
"percent_delta": -0.4222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2111,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2909,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4327,
"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.2111,
"delta": -0.0389,
"percent_delta": -0.1556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2909,
"delta": 0.0409,
"percent_delta": 0.1638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4327,
"delta": 0.1827,
"percent_delta": 0.7307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4327,
"delta": 0.1827,
"percent_delta": 0.7307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2111,
"delta": -0.0389,
"percent_delta": -0.1556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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.226,
"after": 0.2111,
"delta": -0.0149,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.0,
"delta": -0.446,
"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.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2909,
"delta": -0.0091,
"percent_delta": -0.0303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.0,
"delta": -0.494,
"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.528,
"after": 0.4327,
"delta": -0.0953,
"percent_delta": -0.1805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.928,
"after": 1.0,
"delta": 0.072,
"percent_delta": 0.0776,
"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.928,
"after": 1.0,
"delta": 0.072,
"percent_delta": 0.0776,
"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.193 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.494 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.528 | - |
| predicted_SO | 0.928 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.032 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.860 | -0.110 |
| predicted_AVG | 0.225 | -0.001 |
| predicted_BB | 0.443 | -0.003 |
| predicted_H | 0.870 | -0.030 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.225 | 0.015 |
| predicted_OBP | 0.301 | 0.001 |
| predicted_R | 0.520 | 0.026 |
| predicted_RBI | 0.537 | 0.007 |
| predicted_SLG | 0.513 | -0.015 |
| predicted_SO | 0.929 | 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.225 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.860 | 0.000 |
| predicted_AVG | 0.211 | -0.014 |
| predicted_BB | 0.435 | -0.009 |
| predicted_H | 0.815 | -0.055 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.210 | -0.015 |
| predicted_OBP | 0.291 | -0.010 |
| predicted_R | 0.464 | -0.056 |
| predicted_RBI | 0.480 | -0.058 |
| predicted_SLG | 0.433 | -0.081 |
| predicted_SO | 0.947 | 0.018 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.205 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 | 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.225 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.140 |
| predicted_AVG | 0.250 | 0.039 |
| predicted_BB | 0.000 | -0.435 |
| predicted_H | 1.000 | 0.185 |
| predicted_HR | 0.000 | -0.210 |
| predicted_OBP | 0.250 | -0.041 |
| predicted_R | 0.000 | -0.464 |
| predicted_RBI | 0.000 | -0.480 |
| predicted_SLG | 0.250 | -0.183 |
| predicted_SO | 1.000 | 0.053 |
Attached 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 | - | 20.000 | 5.000 | 2.000 | 0.000 | 2.000 | 3.000 | 3.000 | 1.000 | 5.000 | 0.2500 | 0.2857 | 0.6500 | 0.2500 | 0.1000 | 0.1500 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 4.000 | 0.000 | 3.000 | 5.000 | 7.000 | 7.000 | 9.000 | 0.2857 | 0.4048 | 0.6571 | 0.2857 | 0.0857 | 0.1429 | 0.2000 | 0.2571 |
| season | 0.60 | 83 | - | 305.000 | 58.000 | 16.000 | 0.000 | 16.000 | 46.000 | 41.000 | 37.000 | 77.000 | 0.1902 | 0.2738 | 0.4000 | 0.1902 | 0.0525 | 0.1508 | 0.1213 | 0.2525 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2680 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7120 |
| predicted_AVG | 0.2234 |
| predicted_BB | 0.4400 |
| predicted_H | 0.8290 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.2450 |
| predicted_OBP | 0.3027 |
| predicted_R | 0.5540 |
| predicted_RBI | 0.5470 |
| predicted_SLG | 0.4940 |
| predicted_SO | 0.9300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1930 | 0.2680 | 0.2250 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9700 | 3.7120 | 3.8599 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2234 | 0.2249 | model_form_blend |
| predicted_BB | 0.4460 | 0.4400 | 0.4434 | model_form_blend |
| predicted_H | 0.9000 | 0.8290 | 0.8697 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.2100 | 0.2450 | 0.2249 | model_form_blend |
| predicted_OBP | 0.3000 | 0.3027 | 0.3012 | model_form_blend |
| predicted_R | 0.4940 | 0.5540 | 0.5196 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5470 | 0.5373 | model_form_blend |
| predicted_SLG | 0.5280 | 0.4940 | 0.5135 | model_form_blend |
| predicted_SO | 0.9280 | 0.9300 | 0.9289 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260701_SD@CHC |
| game_type | full |
| mlbID | 592518 |
| playerID | 592518 |
| playerName | Manny Machado |
| pos | 3B |
| started | True |
| startingPosition | DH |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.292 |
| sl_xwoba | 0.315 |
| sl_xba | 0.23 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 31.6 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 48.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 0.000 | 0.000 | Hitting_2B | 0.130 | 1.000 | -0.130 | -1.000 |
| predicted_3B | 0.036 | 0.000 | 0.000 | Hitting_3B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_AB | 3.143 | 3.000 | 3.000 | Hitting_AB | 3.221 | 4.000 | -0.221 | -1.000 |
| predicted_AVG | 0.292 | 0.333 | 0.333 | Hitting_AVG | 0.287 | 0.500 | 0.047 | -0.167 |
| predicted_BB | 0.196 | 1.000 | 0.000 | Hitting_BB | 0.153 | 0.000 | 0.847 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.860 | 1.000 | 1.000 | Hitting_H | 0.924 | 2.000 | 0.076 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_OBP | 0.371 | 0.500 | 0.333 | Hitting_OBP | 0.332 | 0.600 | 0.168 | -0.100 |
| predicted_R | 0.375 | 0.000 | 0.000 | Hitting_R | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.557 | 1.000 | -0.557 | -1.000 |
| predicted_SLG | 0.635 | 0.333 | 0.333 | Hitting_SLG | 0.526 | 0.750 | -0.193 | -0.417 |
| predicted_SO | 0.857 | 1.000 | 1.000 | Hitting_SO | 0.802 | 2.000 | 0.198 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.1960 -> 1.0000 (boost 0.8040, 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 | 7 | 7 | 0 | 7 | 0 | predicted_H: 0.8600 -> 0.9639 (boost 0.1039, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_SLG: 0.6417 -> 0.5445 (deboost -0.0972, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.5839 -> 1.0000 (boost 0.4161, better) | predicted_BB: 0.2175 -> 0.0000 (deboost -0.2175, worse) | AB rounded to 3 (raw=3.19), rates preserved: AVG=0.283 HR/AB=0.063 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3824 -> 0.0000 (deboost -0.3824, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2827 -> 0.3330 (boost 0.0503, better) | predicted_SLG: 0.5445 -> 0.3330 (deboost -0.2115, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_RBI: 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.5445 (boost 0.2115, better) | predicted_AVG: 0.3330 -> 0.2827 (deboost -0.0503, 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.143,
"predicted_3B": 0.036,
"predicted_AB": 3.143,
"predicted_AVG": 0.292,
"predicted_BB": 0.196,
"predicted_H": 0.86,
"predicted_HR": 0.19,
"predicted_OBP": 0.371,
"predicted_R": 0.375,
"predicted_RBI": 0.59,
"predicted_SLG": 0.635,
"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.1746,
"predicted_3B": 0.0298,
"predicted_AB": 3.1943,
"predicted_AVG": 0.3119,
"predicted_BB": 0.2219,
"predicted_H": 0.9639,
"predicted_HBP": 0.21,
"predicted_HR": 0.2151,
"predicted_OBP": 0.3852,
"predicted_R": 0.4284,
"predicted_RBI": 0.6541,
"predicted_SLG": 0.6417,
"predicted_SO": 0.85
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1746,
"delta": 0.0316,
"percent_delta": 0.221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.036,
"after": 0.0298,
"delta": -0.0062,
"percent_delta": -0.1722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.143,
"after": 3.1943,
"delta": 0.0513,
"percent_delta": 0.0163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.292,
"after": 0.3119,
"delta": 0.0199,
"percent_delta": 0.0682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.2219,
"delta": 0.0259,
"percent_delta": 0.1321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.9639,
"delta": 0.1039,
"percent_delta": 0.1208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.2151,
"delta": 0.0251,
"percent_delta": 0.1321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3852,
"delta": 0.0142,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.4284,
"delta": 0.0534,
"percent_delta": 0.1424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6541,
"delta": 0.0641,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.635,
"after": 0.6417,
"delta": 0.0067,
"percent_delta": 0.0106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.85,
"delta": -0.007,
"percent_delta": -0.0082,
"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.86,
"after": 0.9639,
"delta": 0.1039,
"percent_delta": 0.1208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"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.1746,
"predicted_3B": 0.0298,
"predicted_AB": 3.1943,
"predicted_AVG": 0.2827,
"predicted_BB": 0.2175,
"predicted_H": 0.9031,
"predicted_HBP": 0.21,
"predicted_HR": 0.2007,
"predicted_OBP": 0.3284,
"predicted_R": 0.3824,
"predicted_RBI": 0.5839,
"predicted_SLG": 0.5445,
"predicted_SO": 0.8667
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1746,
"after": 0.1746,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0298,
"after": 0.0298,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1943,
"after": 3.1943,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3119,
"after": 0.2827,
"delta": -0.0292,
"percent_delta": -0.0936,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2219,
"after": 0.2175,
"delta": -0.0044,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9639,
"after": 0.9031,
"delta": -0.0608,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.21,
"after": 0.21,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2151,
"after": 0.2007,
"delta": -0.0144,
"percent_delta": -0.0669,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3852,
"after": 0.3284,
"delta": -0.0568,
"percent_delta": -0.1475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4284,
"after": 0.3824,
"delta": -0.046,
"percent_delta": -0.1074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6541,
"after": 0.5839,
"delta": -0.0702,
"percent_delta": -0.1073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.6417,
"after": 0.5445,
"delta": -0.0972,
"percent_delta": -0.1515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.85,
"after": 0.8667,
"delta": 0.0167,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6417,
"after": 0.5445,
"delta": -0.0972,
"percent_delta": -0.1515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.19), rates preserved: AVG=0.283 HR/AB=0.063",
"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.1746,
"after": 0.0,
"delta": -0.1746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0298,
"after": 0.0,
"delta": -0.0298,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1943,
"after": 3.0,
"delta": -0.1943,
"percent_delta": -0.0608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2175,
"after": 0.0,
"delta": -0.2175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9031,
"after": 1.0,
"delta": 0.0969,
"percent_delta": 0.1073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2007,
"after": 0.0,
"delta": -0.2007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5839,
"after": 1.0,
"delta": 0.4161,
"percent_delta": 0.7126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8667,
"after": 1.0,
"delta": 0.1333,
"percent_delta": 0.1538,
"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.5839,
"after": 1.0,
"delta": 0.4161,
"percent_delta": 0.7126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2175,
"after": 0.0,
"delta": -0.2175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3824,
"after": 0.0,
"delta": -0.3824,
"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.3824,
"after": 0.0,
"delta": -0.3824,
"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.2827,
"after": 0.333,
"delta": 0.0503,
"percent_delta": 0.1779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3284,
"after": 0.333,
"delta": 0.0046,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5445,
"after": 0.333,
"delta": -0.2115,
"percent_delta": -0.3884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.2827,
"after": 0.333,
"delta": 0.0503,
"percent_delta": 0.1779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5445,
"after": 0.333,
"delta": -0.2115,
"percent_delta": -0.3884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_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": 3.0,
"predicted_AVG": 0.2827,
"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.3284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5445,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2827,
"delta": -0.0503,
"percent_delta": -0.151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3284,
"delta": -0.0046,
"percent_delta": -0.0137,
"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.5445,
"delta": 0.2115,
"percent_delta": 0.6352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.5445,
"delta": 0.2115,
"percent_delta": 0.6352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2827,
"delta": -0.0503,
"percent_delta": -0.151,
"direction": "deboost",
"projection_effect": "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.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"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.292,
"after": 0.2827,
"delta": -0.0093,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 1.0,
"delta": 0.804,
"percent_delta": 4.102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3284,
"delta": -0.0426,
"percent_delta": -0.1148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.0,
"delta": -0.375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.635,
"after": 0.5445,
"delta": -0.0905,
"percent_delta": -0.1425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 1.0,
"delta": 0.143,
"percent_delta": 0.1669,
"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.196,
"after": 1.0,
"delta": 0.804,
"percent_delta": 4.102,
"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.143 | - |
| predicted_3B | 0.036 | - |
| predicted_AB | 3.143 | - |
| predicted_AVG | 0.292 | - |
| predicted_BB | 0.196 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.371 | - |
| predicted_R | 0.375 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.635 | - |
| 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.175 | 0.032 |
| predicted_3B | 0.030 | -0.006 |
| predicted_AB | 3.194 | 0.051 |
| predicted_AVG | 0.312 | 0.020 |
| predicted_BB | 0.222 | 0.026 |
| predicted_H | 0.964 | 0.104 |
| predicted_HBP | 0.210 | - |
| predicted_HR | 0.215 | 0.025 |
| predicted_OBP | 0.385 | 0.014 |
| predicted_R | 0.428 | 0.053 |
| predicted_RBI | 0.654 | 0.064 |
| predicted_SLG | 0.642 | 0.007 |
| predicted_SO | 0.850 | -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.175 | 0.000 |
| predicted_3B | 0.030 | 0.000 |
| predicted_AB | 3.194 | 0.000 |
| predicted_AVG | 0.283 | -0.029 |
| predicted_BB | 0.217 | -0.004 |
| predicted_H | 0.903 | -0.061 |
| predicted_HBP | 0.210 | 0.000 |
| predicted_HR | 0.201 | -0.014 |
| predicted_OBP | 0.328 | -0.057 |
| predicted_R | 0.382 | -0.046 |
| predicted_RBI | 0.584 | -0.070 |
| predicted_SLG | 0.544 | -0.097 |
| predicted_SO | 0.867 | 0.017 |
AB rounded to 3 (raw=3.19), rates preserved: AVG=0.283 HR/AB=0.063
| 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.175 |
| predicted_3B | 0.000 | -0.030 |
| predicted_AB | 3.000 | -0.194 |
| predicted_AVG | 0.333 | 0.050 |
| predicted_BB | 0.000 | -0.217 |
| predicted_H | 1.000 | 0.097 |
| predicted_HR | 0.000 | -0.201 |
| predicted_OBP | 0.333 | 0.005 |
| predicted_R | 0.000 | -0.382 |
| predicted_RBI | 1.000 | 0.416 |
| predicted_SLG | 0.333 | -0.211 |
| predicted_SO | 1.000 | 0.133 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -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 | 9.000 | 2.000 | 0.000 | 2.000 | 6.000 | 4.000 | 2.000 | 4.000 | 0.5625 | 0.6364 | 1.0625 | 0.5625 | 0.1250 | 0.3750 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 10 | - | 33.000 | 13.000 | 3.000 | 0.000 | 4.000 | 11.000 | 6.000 | 3.000 | 8.000 | 0.3939 | 0.4750 | 0.8485 | 0.3939 | 0.1212 | 0.3333 | 0.0909 | 0.2424 |
| season | 0.60 | 56 | - | 176.000 | 48.000 | 8.000 | 2.000 | 10.000 | 30.000 | 21.000 | 11.000 | 48.000 | 0.2727 | 0.3316 | 0.5114 | 0.2727 | 0.0568 | 0.1704 | 0.0625 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.2680 |
| predicted_AVG | 0.3405 |
| predicted_BB | 0.2590 |
| predicted_H | 1.1130 |
| predicted_HBP | 0.2100 |
| predicted_HR | 0.2510 |
| predicted_OBP | 0.4057 |
| predicted_R | 0.5050 |
| predicted_RBI | 0.7460 |
| predicted_SLG | 0.6513 |
| predicted_SO | 0.8400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.2200 | 0.1746 | model_form_blend |
| predicted_3B | 0.0360 | 0.0210 | 0.0298 | model_form_blend |
| predicted_AB | 3.1430 | 3.2680 | 3.1943 | model_form_blend |
| predicted_AVG | 0.2920 | 0.3405 | 0.3119 | model_form_blend |
| predicted_BB | 0.1960 | 0.2590 | 0.2219 | model_form_blend |
| predicted_H | 0.8600 | 1.1130 | 0.9639 | model_form_blend |
| predicted_HBP | - | 0.2100 | 0.2100 | form_only |
| predicted_HR | 0.1900 | 0.2510 | 0.2151 | model_form_blend |
| predicted_OBP | 0.3710 | 0.4057 | 0.3852 | model_form_blend |
| predicted_R | 0.3750 | 0.5050 | 0.4284 | model_form_blend |
| predicted_RBI | 0.5900 | 0.7460 | 0.6541 | model_form_blend |
| predicted_SLG | 0.6350 | 0.6513 | 0.6417 | model_form_blend |
| predicted_SO | 0.8570 | 0.8400 | 0.8500 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 56 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.273 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260701_SD@CHC |
| game_type | full |
| mlbID | 664034 |
| playerID | 664034 |
| playerName | Ty France |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.363 |
| sl_xwoba | 0.33 |
| sl_xba | 0.247 |
| sl_xslg | 0.446 |
| sl_sweet_spot_percent | 37.2 |
| sl_barrel_batted_rate | 11.7 |
| sl_hard_hit_percent | 47.3 |
| sl_exit_velocity_avg | 91.3 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 29.7 |
| 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.185 | 1.000 | 0.000 | Hitting_2B | 0.215 | 0.000 | 0.785 | 1.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.914 | 4.000 | 4.000 | Hitting_AB | 3.911 | 2.000 | 0.089 | 2.000 |
| predicted_AVG | 0.224 | 0.500 | 0.250 | Hitting_AVG | 0.207 | 0.000 | 0.293 | 0.500 |
| predicted_BB | 0.309 | 0.000 | 0.000 | Hitting_BB | 0.364 | 1.000 | -0.364 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.880 | 2.000 | 1.000 | Hitting_H | 0.810 | 0.000 | 1.190 | 2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_OBP | 0.274 | 0.500 | 0.250 | Hitting_OBP | 0.277 | 0.333 | 0.223 | 0.167 |
| predicted_R | 0.432 | 1.000 | 0.000 | Hitting_R | 0.486 | 0.000 | 0.514 | 1.000 |
| predicted_RBI | 0.310 | 1.000 | 0.000 | Hitting_RBI | 0.401 | 0.000 | 0.599 | 1.000 |
| predicted_SLG | 0.425 | 0.750 | 0.250 | Hitting_SLG | 0.329 | 0.000 | 0.421 | 0.750 |
| predicted_SO | 1.062 | 1.000 | 1.000 | Hitting_SO | 1.073 | 1.000 | -0.073 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.8800 -> 2.0000 (boost 1.1200, better) |
| Biggest Deboost | predicted_BB: 0.3090 -> 0.0000 (deboost -0.3090, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_SLG: 0.4250 -> 0.3756 (deboost -0.0494, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_SLG: 0.3756 -> 0.3171 (deboost -0.0585, 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.8100 -> 1.0000 (boost 0.1900, better) | predicted_BB: 0.2850 -> 0.0000 (deboost -0.2850, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.207 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3628 -> 0.0000 (deboost -0.3628, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2069 -> 0.2500 (boost 0.0431, better) | predicted_SLG: 0.3171 -> 0.2500 (deboost -0.0671, 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_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.3171 (boost 0.0671, 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": "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.185,
"predicted_3B": 0.012,
"predicted_AB": 3.914,
"predicted_AVG": 0.224,
"predicted_BB": 0.309,
"predicted_H": 0.88,
"predicted_HR": 0.1,
"predicted_OBP": 0.274,
"predicted_R": 0.432,
"predicted_RBI": 0.31,
"predicted_SLG": 0.425,
"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.1718,
"predicted_3B": 0.0103,
"predicted_AB": 3.9157,
"predicted_AVG": 0.2204,
"predicted_BB": 0.2907,
"predicted_H": 0.8646,
"predicted_HBP": 0.01,
"predicted_HR": 0.0855,
"predicted_OBP": 0.2711,
"predicted_R": 0.4064,
"predicted_RBI": 0.2853,
"predicted_SLG": 0.3756,
"predicted_SO": 1.0761
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.1718,
"delta": -0.0132,
"percent_delta": -0.0714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.914,
"after": 3.9157,
"delta": 0.0017,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2204,
"delta": -0.0036,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.2907,
"delta": -0.0183,
"percent_delta": -0.0592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8646,
"delta": -0.0154,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0855,
"delta": -0.0145,
"percent_delta": -0.145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2711,
"delta": -0.0029,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 0.4064,
"delta": -0.0256,
"percent_delta": -0.0593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.2853,
"delta": -0.0247,
"percent_delta": -0.0797,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.425,
"after": 0.3756,
"delta": -0.0494,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 1.0761,
"delta": 0.0141,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.425,
"after": 0.3756,
"delta": -0.0494,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1718,
"predicted_3B": 0.0103,
"predicted_AB": 3.9157,
"predicted_AVG": 0.2069,
"predicted_BB": 0.285,
"predicted_H": 0.81,
"predicted_HBP": 0.01,
"predicted_HR": 0.0798,
"predicted_OBP": 0.2607,
"predicted_R": 0.3628,
"predicted_RBI": 0.2547,
"predicted_SLG": 0.3171,
"predicted_SO": 1.0973
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1718,
"after": 0.1718,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9157,
"after": 3.9157,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2204,
"after": 0.2069,
"delta": -0.0135,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2907,
"after": 0.285,
"delta": -0.0057,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8646,
"after": 0.81,
"delta": -0.0546,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.0855,
"after": 0.0798,
"delta": -0.0057,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2711,
"after": 0.2607,
"delta": -0.0104,
"percent_delta": -0.0384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4064,
"after": 0.3628,
"delta": -0.0436,
"percent_delta": -0.1073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2853,
"after": 0.2547,
"delta": -0.0306,
"percent_delta": -0.1073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3756,
"after": 0.3171,
"delta": -0.0585,
"percent_delta": -0.1558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0761,
"after": 1.0973,
"delta": 0.0212,
"percent_delta": 0.0197,
"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_SLG",
"before": 0.3756,
"after": 0.3171,
"delta": -0.0585,
"percent_delta": -0.1558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.207 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.1718,
"after": 0.0,
"delta": -0.1718,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9157,
"after": 4.0,
"delta": 0.0843,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.285,
"after": 0.0,
"delta": -0.285,
"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_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.0798,
"after": 0.0,
"delta": -0.0798,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2547,
"after": 0.0,
"delta": -0.2547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0973,
"after": 1.0,
"delta": -0.0973,
"percent_delta": -0.0887,
"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.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.285,
"after": 0.0,
"delta": -0.285,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3628,
"after": 0.0,
"delta": -0.3628,
"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.3628,
"after": 0.0,
"delta": -0.3628,
"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.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.2607,
"after": 0.25,
"delta": -0.0107,
"percent_delta": -0.041,
"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.3171,
"after": 0.25,
"delta": -0.0671,
"percent_delta": -0.2116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3171,
"after": 0.25,
"delta": -0.0671,
"percent_delta": -0.2116,
"direction": "deboost",
"projection_effect": "worse",
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_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.2069,
"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.2607,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3171,
"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.2069,
"delta": -0.0431,
"percent_delta": -0.1725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2607,
"delta": 0.0107,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3171,
"delta": 0.0671,
"percent_delta": 0.2685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3171,
"delta": 0.0671,
"percent_delta": 0.2685,
"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.185,
"after": 1.0,
"delta": 0.815,
"percent_delta": 4.4054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.914,
"after": 4.0,
"delta": 0.086,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2069,
"delta": -0.0171,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 2.0,
"delta": 1.12,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2607,
"delta": -0.0133,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 1.0,
"delta": 0.568,
"percent_delta": 1.3148,
"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.425,
"after": 0.3171,
"delta": -0.1079,
"percent_delta": -0.2539,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 1.0,
"delta": -0.062,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.88,
"after": 2.0,
"delta": 1.12,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"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.185 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.914 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.309 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.432 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.425 | - |
| 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.172 | -0.013 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.916 | 0.002 |
| predicted_AVG | 0.220 | -0.004 |
| predicted_BB | 0.291 | -0.018 |
| predicted_H | 0.865 | -0.015 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.086 | -0.014 |
| predicted_OBP | 0.271 | -0.003 |
| predicted_R | 0.406 | -0.026 |
| predicted_RBI | 0.285 | -0.025 |
| predicted_SLG | 0.376 | -0.049 |
| predicted_SO | 1.076 | 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.010 | 0.000 |
| predicted_AB | 3.916 | 0.000 |
| predicted_AVG | 0.207 | -0.014 |
| predicted_BB | 0.285 | -0.006 |
| predicted_H | 0.810 | -0.055 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.080 | -0.006 |
| predicted_OBP | 0.261 | -0.010 |
| predicted_R | 0.363 | -0.044 |
| predicted_RBI | 0.255 | -0.031 |
| predicted_SLG | 0.317 | -0.058 |
| predicted_SO | 1.097 | 0.021 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.207 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.172 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.084 |
| predicted_AVG | 0.250 | 0.043 |
| predicted_BB | 0.000 | -0.285 |
| predicted_H | 1.000 | 0.190 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.250 | -0.011 |
| predicted_R | 0.000 | -0.363 |
| predicted_RBI | 0.000 | -0.255 |
| predicted_SLG | 0.250 | -0.067 |
| predicted_SO | 1.000 | -0.097 |
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 | 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 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 6.000 | 0.2500 | 0.2857 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 39.000 | 7.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 12.000 | 0.1795 | 0.2195 | 0.2308 | 0.1795 | 0.0000 | 0.0000 | 0.0513 | 0.3077 |
| season | 0.60 | 81 | - | 317.000 | 67.000 | 15.000 | 1.000 | 8.000 | 31.000 | 35.000 | 25.000 | 86.000 | 0.2114 | 0.2711 | 0.3407 | 0.2114 | 0.0252 | 0.0978 | 0.0789 | 0.2713 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1540 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.9180 |
| predicted_AVG | 0.2156 |
| predicted_BB | 0.2660 |
| predicted_H | 0.8440 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.2671 |
| predicted_R | 0.3720 |
| predicted_RBI | 0.2520 |
| predicted_SLG | 0.3092 |
| predicted_SO | 1.0950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1850 | 0.1540 | 0.1718 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.9140 | 3.9180 | 3.9157 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2156 | 0.2204 | model_form_blend |
| predicted_BB | 0.3090 | 0.2660 | 0.2907 | model_form_blend |
| predicted_H | 0.8800 | 0.8440 | 0.8646 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1000 | 0.0660 | 0.0855 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2671 | 0.2711 | model_form_blend |
| predicted_R | 0.4320 | 0.3720 | 0.4064 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2520 | 0.2853 | model_form_blend |
| predicted_SLG | 0.4250 | 0.3092 | 0.3756 | model_form_blend |
| predicted_SO | 1.0620 | 1.0950 | 1.0761 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.211 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260701_SD@CHC |
| game_type | full |
| mlbID | 701538 |
| playerID | 701538 |
| playerName | Jackson Merrill |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.27 |
| sl_xwoba | 0.305 |
| sl_xba | 0.236 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 46.6 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 27.8 |
| sl_swing_percent | 55.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.062 | 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.457 | 4.000 | 3.000 | Hitting_AB | 3.646 | 2.000 | 0.354 | 2.000 |
| predicted_AVG | 0.249 | 0.750 | 0.333 | Hitting_AVG | 0.248 | 0.000 | 0.502 | 0.750 |
| predicted_BB | 0.444 | 0.000 | 0.000 | Hitting_BB | 0.409 | 1.000 | -0.409 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.850 | 3.000 | 1.000 | Hitting_H | 0.903 | 0.000 | 2.097 | 3.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.338 | 0.750 | 0.333 | Hitting_OBP | 0.324 | 0.333 | 0.426 | 0.417 |
| predicted_R | 0.432 | 0.000 | 0.000 | Hitting_R | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.464 | 0.000 | -0.464 | 0.000 |
| predicted_SLG | 0.441 | 0.750 | 0.333 | Hitting_SLG | 0.368 | 0.000 | 0.382 | 0.750 |
| predicted_SO | 0.704 | 0.000 | 1.000 | Hitting_SO | 0.705 | 1.000 | -0.705 | -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_H: 0.8500 -> 3.0000 (boost 2.1500, better) |
| Biggest Deboost | predicted_SO: 0.7040 -> 0.0000 (deboost -0.7040, 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.3380 -> 0.3460 (boost 0.0080, better) | predicted_SLG: 0.4410 -> 0.4018 (deboost -0.0392, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_SLG: 0.4018 -> 0.3242 (deboost -0.0776, 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.6806 -> 1.0000 (boost 0.3194, worse) | predicted_BB: 0.4573 -> 0.0000 (deboost -0.4573, worse) | AB rounded to 3 (raw=3.46), rates preserved: AVG=0.233 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3914 -> 0.0000 (deboost -0.3914, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2361 -> 0.3330 (boost 0.0969, 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_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2361 (deboost -0.0969, 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.062,
"predicted_3B": 0.0,
"predicted_AB": 3.457,
"predicted_AVG": 0.249,
"predicted_BB": 0.444,
"predicted_H": 0.85,
"predicted_HR": 0.09,
"predicted_OBP": 0.338,
"predicted_R": 0.432,
"predicted_RBI": 0.42,
"predicted_SLG": 0.441,
"predicted_SO": 0.704
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0803,
"predicted_3B": 0.0004,
"predicted_AB": 3.4141,
"predicted_AVG": 0.2539,
"predicted_BB": 0.4665,
"predicted_H": 0.8602,
"predicted_HBP": 0.022,
"predicted_HR": 0.0785,
"predicted_OBP": 0.346,
"predicted_R": 0.4384,
"predicted_RBI": 0.4141,
"predicted_SLG": 0.4018,
"predicted_SO": 0.6675
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.062,
"after": 0.0803,
"delta": 0.0183,
"percent_delta": 0.2952,
"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.457,
"after": 3.4141,
"delta": -0.0429,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2539,
"delta": 0.0049,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.4665,
"delta": 0.0225,
"percent_delta": 0.0507,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8602,
"delta": 0.0102,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0785,
"delta": -0.0115,
"percent_delta": -0.1278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.346,
"delta": 0.008,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 0.4384,
"delta": 0.0064,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4141,
"delta": -0.0059,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4018,
"delta": -0.0392,
"percent_delta": -0.0889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.704,
"after": 0.6675,
"delta": -0.0365,
"percent_delta": -0.0518,
"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.338,
"after": 0.346,
"delta": 0.008,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4018,
"delta": -0.0392,
"percent_delta": -0.0889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0803,
"predicted_3B": 0.0004,
"predicted_AB": 3.4141,
"predicted_AVG": 0.2361,
"predicted_BB": 0.4573,
"predicted_H": 0.8059,
"predicted_HBP": 0.022,
"predicted_HR": 0.0732,
"predicted_OBP": 0.3263,
"predicted_R": 0.3914,
"predicted_RBI": 0.3697,
"predicted_SLG": 0.3242,
"predicted_SO": 0.6806
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0803,
"after": 0.0803,
"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.4141,
"after": 3.4141,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2539,
"after": 0.2361,
"delta": -0.0178,
"percent_delta": -0.0701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4665,
"after": 0.4573,
"delta": -0.0092,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8602,
"after": 0.8059,
"delta": -0.0543,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.0785,
"after": 0.0732,
"delta": -0.0053,
"percent_delta": -0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3263,
"delta": -0.0197,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4384,
"after": 0.3914,
"delta": -0.047,
"percent_delta": -0.1072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4141,
"after": 0.3697,
"delta": -0.0444,
"percent_delta": -0.1072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4018,
"after": 0.3242,
"delta": -0.0776,
"percent_delta": -0.1931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6675,
"after": 0.6806,
"delta": 0.0131,
"percent_delta": 0.0196,
"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_SLG",
"before": 0.4018,
"after": 0.3242,
"delta": -0.0776,
"percent_delta": -0.1931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.46), rates preserved: AVG=0.233 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.0803,
"after": 0.0,
"delta": -0.0803,
"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.4141,
"after": 3.0,
"delta": -0.4141,
"percent_delta": -0.1213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4573,
"after": 0.0,
"delta": -0.4573,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8059,
"after": 1.0,
"delta": 0.1941,
"percent_delta": 0.2408,
"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.0732,
"after": 0.0,
"delta": -0.0732,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3697,
"after": 0.0,
"delta": -0.3697,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6806,
"after": 1.0,
"delta": 0.3194,
"percent_delta": 0.4693,
"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.6806,
"after": 1.0,
"delta": 0.3194,
"percent_delta": 0.4693,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4573,
"after": 0.0,
"delta": -0.4573,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3914,
"after": 0.0,
"delta": -0.3914,
"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.3914,
"after": 0.0,
"delta": -0.3914,
"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.2361,
"after": 0.333,
"delta": 0.0969,
"percent_delta": 0.4104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3263,
"after": 0.333,
"delta": 0.0067,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3242,
"after": 0.333,
"delta": 0.0088,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2361,
"after": 0.333,
"delta": 0.0969,
"percent_delta": 0.4104,
"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": 3.0,
"predicted_HBP": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2361,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3263,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3242,
"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.2361,
"delta": -0.0969,
"percent_delta": -0.2911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3263,
"delta": -0.0067,
"percent_delta": -0.0201,
"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.3242,
"delta": -0.0088,
"percent_delta": -0.0265,
"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.2361,
"delta": -0.0969,
"percent_delta": -0.2911,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.457,
"after": 4.0,
"delta": 0.543,
"percent_delta": 0.1571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2361,
"delta": -0.0129,
"percent_delta": -0.0518,
"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.85,
"after": 3.0,
"delta": 2.15,
"percent_delta": 2.5294,
"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.338,
"after": 0.3263,
"delta": -0.0117,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.432,
"after": 0.0,
"delta": -0.432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.3242,
"delta": -0.1168,
"percent_delta": -0.2649,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.704,
"after": 0.0,
"delta": -0.704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.85,
"after": 3.0,
"delta": 2.15,
"percent_delta": 2.5294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.704,
"after": 0.0,
"delta": -0.704,
"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.062 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.457 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.444 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.432 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.441 | - |
| predicted_SO | 0.704 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.080 | 0.018 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.414 | -0.043 |
| predicted_AVG | 0.254 | 0.005 |
| predicted_BB | 0.467 | 0.023 |
| predicted_H | 0.860 | 0.010 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.079 | -0.011 |
| predicted_OBP | 0.346 | 0.008 |
| predicted_R | 0.438 | 0.006 |
| predicted_RBI | 0.414 | -0.006 |
| predicted_SLG | 0.402 | -0.039 |
| predicted_SO | 0.667 | -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.080 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.414 | 0.000 |
| predicted_AVG | 0.236 | -0.018 |
| predicted_BB | 0.457 | -0.009 |
| predicted_H | 0.806 | -0.054 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.073 | -0.005 |
| predicted_OBP | 0.326 | -0.020 |
| predicted_R | 0.391 | -0.047 |
| predicted_RBI | 0.370 | -0.044 |
| predicted_SLG | 0.324 | -0.078 |
| predicted_SO | 0.681 | 0.013 |
AB rounded to 3 (raw=3.46), rates preserved: AVG=0.233 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.080 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.414 |
| predicted_AVG | 0.333 | 0.097 |
| predicted_BB | 0.000 | -0.457 |
| predicted_H | 1.000 | 0.194 |
| predicted_HR | 0.000 | -0.073 |
| predicted_OBP | 0.333 | 0.007 |
| predicted_R | 0.000 | -0.391 |
| predicted_RBI | 0.000 | -0.370 |
| predicted_SLG | 0.333 | 0.009 |
| predicted_SO | 1.000 | 0.319 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 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 | 2.000 | 2.000 | 2.000 | 2.000 | 0.3125 | 0.3889 | 0.3750 | 0.3125 | 0.0000 | 0.1250 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 10 | - | 30.000 | 9.000 | 1.000 | 0.000 | 0.000 | 4.000 | 5.000 | 8.000 | 5.000 | 0.3000 | 0.4474 | 0.3333 | 0.3000 | 0.0000 | 0.1333 | 0.2667 | 0.1667 |
| season | 0.60 | 81 | - | 280.000 | 65.000 | 5.000 | 0.000 | 8.000 | 32.000 | 35.000 | 36.000 | 57.000 | 0.2321 | 0.3240 | 0.3357 | 0.2321 | 0.0286 | 0.1143 | 0.1286 | 0.2036 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3560 |
| predicted_AVG | 0.2606 |
| predicted_BB | 0.4970 |
| predicted_H | 0.8740 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.3569 |
| predicted_R | 0.4470 |
| predicted_RBI | 0.4060 |
| predicted_SLG | 0.3487 |
| predicted_SO | 0.6180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0620 | 0.1050 | 0.0803 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4570 | 3.3560 | 3.4141 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2606 | 0.2539 | model_form_blend |
| predicted_BB | 0.4440 | 0.4970 | 0.4665 | model_form_blend |
| predicted_H | 0.8500 | 0.8740 | 0.8602 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0900 | 0.0630 | 0.0785 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3569 | 0.3460 | model_form_blend |
| predicted_R | 0.4320 | 0.4470 | 0.4384 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4060 | 0.4141 | model_form_blend |
| predicted_SLG | 0.4410 | 0.3487 | 0.4018 | model_form_blend |
| predicted_SO | 0.7040 | 0.6180 | 0.6675 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 3 |
| 2B | 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260701_SD@CHC |
| game_type | full |
| mlbID | 593428 |
| playerID | 593428 |
| playerName | Xander Bogaerts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.299 |
| sl_xwoba | 0.319 |
| sl_xba | 0.247 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 38.7 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 6.2 |
| sl_whiff_percent | 23.0 |
| 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.133 | 1.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | 0.865 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.022 | 4.000 | 3.000 | Hitting_AB | 2.872 | 1.000 | 1.128 | 3.000 |
| predicted_AVG | 0.239 | 0.250 | 0.000 | Hitting_AVG | 0.144 | 0.000 | 0.106 | 0.250 |
| predicted_BB | 0.356 | 0.000 | 0.000 | Hitting_BB | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_H | 0.540 | 1.000 | 0.000 | Hitting_H | 0.414 | 0.000 | 0.586 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_OBP | 0.271 | 0.250 | 0.000 | Hitting_OBP | 0.247 | 0.000 | 0.003 | 0.250 |
| predicted_R | 0.333 | 0.000 | 0.000 | Hitting_R | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_SLG | 0.403 | 0.500 | 0.000 | Hitting_SLG | 0.215 | 0.000 | 0.285 | 0.500 |
| predicted_SO | 0.711 | 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_AB: 3.0220 -> 4.0000 (boost 0.9780, better) |
| Biggest Deboost | predicted_BB: 0.3560 -> 0.0000 (deboost -0.3560, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.4030 -> 0.3644 (deboost -0.0386, worse) | Final model input calibrated with local form: 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.3644 -> 0.2876 (deboost -0.0768, 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.7119 -> 1.0000 (boost 0.2881, worse) | predicted_H: 0.5029 -> 0.0000 (deboost -0.5029, worse) | AB rounded to 3 (raw=3.06), rates preserved: AVG=0.164 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2955 -> 0.0000 (deboost -0.2955, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2876 -> 0.0000 (deboost -0.2876, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.0000 -> 0.2876 (boost 0.2876, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666023",
"player_name": "Freddy Fermin",
"position": "C",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.133,
"predicted_3B": 0.0,
"predicted_AB": 3.022,
"predicted_AVG": 0.239,
"predicted_BB": 0.356,
"predicted_H": 0.54,
"predicted_HR": 0.08,
"predicted_OBP": 0.271,
"predicted_R": 0.333,
"predicted_RBI": 0.27,
"predicted_SLG": 0.403,
"predicted_SO": 0.711
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1459,
"predicted_3B": 0.0008,
"predicted_AB": 3.0631,
"predicted_AVG": 0.2114,
"predicted_BB": 0.3588,
"predicted_H": 0.5368,
"predicted_HBP": 0.027,
"predicted_HR": 0.0824,
"predicted_OBP": 0.2673,
"predicted_R": 0.331,
"predicted_RBI": 0.2724,
"predicted_SLG": 0.3644,
"predicted_SO": 0.6981
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1459,
"delta": 0.0129,
"percent_delta": 0.097,
"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.022,
"after": 3.0631,
"delta": 0.0411,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2114,
"delta": -0.0276,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.3588,
"delta": 0.0028,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.5368,
"delta": -0.0032,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0824,
"delta": 0.0024,
"percent_delta": 0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.271,
"after": 0.2673,
"delta": -0.0037,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.331,
"delta": -0.002,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2724,
"delta": 0.0024,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3644,
"delta": -0.0386,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.711,
"after": 0.6981,
"delta": -0.0129,
"percent_delta": -0.0181,
"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.403,
"after": 0.3644,
"delta": -0.0386,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1459,
"predicted_3B": 0.0008,
"predicted_AB": 3.0631,
"predicted_AVG": 0.1642,
"predicted_BB": 0.3517,
"predicted_H": 0.5029,
"predicted_HBP": 0.027,
"predicted_HR": 0.0769,
"predicted_OBP": 0.2503,
"predicted_R": 0.2955,
"predicted_RBI": 0.2432,
"predicted_SLG": 0.2876,
"predicted_SO": 0.7119
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1459,
"after": 0.1459,
"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.0631,
"after": 3.0631,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2114,
"after": 0.1642,
"delta": -0.0472,
"percent_delta": -0.2233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3588,
"after": 0.3517,
"delta": -0.0071,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5368,
"after": 0.5029,
"delta": -0.0339,
"percent_delta": -0.0632,
"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.0824,
"after": 0.0769,
"delta": -0.0055,
"percent_delta": -0.0667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2673,
"after": 0.2503,
"delta": -0.017,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.331,
"after": 0.2955,
"delta": -0.0355,
"percent_delta": -0.1073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2724,
"after": 0.2432,
"delta": -0.0292,
"percent_delta": -0.1072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3644,
"after": 0.2876,
"delta": -0.0768,
"percent_delta": -0.2108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6981,
"after": 0.7119,
"delta": 0.0138,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3644,
"after": 0.2876,
"delta": -0.0768,
"percent_delta": -0.2108,
"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.164 HR/AB=0.025",
"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.1459,
"after": 0.0,
"delta": -0.1459,
"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.0631,
"after": 3.0,
"delta": -0.0631,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3517,
"after": 0.0,
"delta": -0.3517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5029,
"after": 0.0,
"delta": -0.5029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0769,
"after": 0.0,
"delta": -0.0769,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2432,
"after": 0.0,
"delta": -0.2432,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7119,
"after": 1.0,
"delta": 0.2881,
"percent_delta": 0.4047,
"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.7119,
"after": 1.0,
"delta": 0.2881,
"percent_delta": 0.4047,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5029,
"after": 0.0,
"delta": -0.5029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2955,
"after": 0.0,
"delta": -0.2955,
"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.2955,
"after": 0.0,
"delta": -0.2955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1642,
"after": 0.0,
"delta": -0.1642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2503,
"after": 0.0,
"delta": -0.2503,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2876,
"after": 0.0,
"delta": -0.2876,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2876,
"after": 0.0,
"delta": -0.2876,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 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": 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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1642,
"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.2503,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2876,
"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.0,
"after": 0.1642,
"delta": 0.1642,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.0,
"after": 0.2503,
"delta": 0.2503,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.2876,
"delta": 0.2876,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.2876,
"delta": 0.2876,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.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.022,
"after": 4.0,
"delta": 0.978,
"percent_delta": 0.3236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.1642,
"delta": -0.0748,
"percent_delta": -0.313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.0,
"delta": -0.356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 1.0,
"delta": 0.46,
"percent_delta": 0.8519,
"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.271,
"after": 0.2503,
"delta": -0.0207,
"percent_delta": -0.0764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.2876,
"delta": -0.1154,
"percent_delta": -0.2864,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.711,
"after": 1.0,
"delta": 0.289,
"percent_delta": 0.4065,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.022,
"after": 4.0,
"delta": 0.978,
"percent_delta": 0.3236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.356,
"after": 0.0,
"delta": -0.356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.022 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.271 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 0.711 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.013 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.063 | 0.041 |
| predicted_AVG | 0.211 | -0.028 |
| predicted_BB | 0.359 | 0.003 |
| predicted_H | 0.537 | -0.003 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.082 | 0.002 |
| predicted_OBP | 0.267 | -0.004 |
| predicted_R | 0.331 | -0.002 |
| predicted_RBI | 0.272 | 0.002 |
| predicted_SLG | 0.364 | -0.039 |
| predicted_SO | 0.698 | -0.013 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.063 | 0.000 |
| predicted_AVG | 0.164 | -0.047 |
| predicted_BB | 0.352 | -0.007 |
| predicted_H | 0.503 | -0.034 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.077 | -0.006 |
| predicted_OBP | 0.250 | -0.017 |
| predicted_R | 0.295 | -0.036 |
| predicted_RBI | 0.243 | -0.029 |
| predicted_SLG | 0.288 | -0.077 |
| predicted_SO | 0.712 | 0.014 |
AB rounded to 3 (raw=3.06), rates preserved: AVG=0.164 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.146 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.063 |
| predicted_AVG | 0.000 | -0.164 |
| predicted_BB | 0.000 | -0.352 |
| predicted_H | 0.000 | -0.503 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.000 | -0.250 |
| predicted_R | 0.000 | -0.295 |
| predicted_RBI | 0.000 | -0.243 |
| predicted_SLG | 0.000 | -0.288 |
| predicted_SO | 1.000 | 0.288 |
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 | 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 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.1429 | 0.2500 | 0.2143 | 0.1429 | 0.0000 | 0.0000 | 0.1429 | 0.2143 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 2.000 | 0.000 | 2.000 | 5.000 | 3.000 | 4.000 | 5.000 | 0.1935 | 0.2857 | 0.4516 | 0.1935 | 0.0645 | 0.1613 | 0.1290 | 0.1613 |
| season | 0.60 | 45 | - | 136.000 | 20.000 | 6.000 | 0.000 | 3.000 | 11.000 | 15.000 | 16.000 | 32.000 | 0.1471 | 0.2436 | 0.2574 | 0.1471 | 0.0221 | 0.0809 | 0.1177 | 0.2353 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1650 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1240 |
| predicted_AVG | 0.1704 |
| predicted_BB | 0.3630 |
| predicted_H | 0.5320 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.2618 |
| predicted_R | 0.3280 |
| predicted_RBI | 0.2760 |
| predicted_SLG | 0.3071 |
| predicted_SO | 0.6790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1650 | 0.1459 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0220 | 3.1240 | 3.0631 | model_form_blend |
| predicted_AVG | 0.2390 | 0.1704 | 0.2114 | model_form_blend |
| predicted_BB | 0.3560 | 0.3630 | 0.3588 | model_form_blend |
| predicted_H | 0.5400 | 0.5320 | 0.5368 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.0800 | 0.0860 | 0.0824 | model_form_blend |
| predicted_OBP | 0.2710 | 0.2618 | 0.2673 | model_form_blend |
| predicted_R | 0.3330 | 0.3280 | 0.3310 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2760 | 0.2724 | model_form_blend |
| predicted_SLG | 0.4030 | 0.3071 | 0.3644 | model_form_blend |
| predicted_SO | 0.7110 | 0.6790 | 0.6981 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 133 |
| Season rows before report date | 133 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.147 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | C |
| gameID | 20260701_SD@CHC |
| game_type | short |
| mlbID | 666023 |
| playerID | 666023 |
| playerName | Freddy Fermin |
| pos | C |
| started | False |
| startingPosition | C |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.235 |
| sl_xwoba | 0.263 |
| sl_xba | 0.19 |
| sl_xslg | 0.28 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 2.8 |
| sl_hard_hit_percent | 25.7 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 24.8 |
| 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.045 | 0.000 | 0.000 | Hitting_2B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_3B | 0.045 | 0.000 | 0.000 | Hitting_3B | 0.045 | 1.000 | -0.045 | -1.000 |
| predicted_AB | 3.545 | 4.000 | 4.000 | Hitting_AB | 3.545 | 2.000 | 0.455 | 2.000 |
| predicted_AVG | 0.258 | 0.000 | 0.250 | Hitting_AVG | 0.333 | 0.500 | -0.333 | -0.500 |
| predicted_BB | 0.500 | 0.000 | 1.000 | Hitting_BB | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.360 | 0.000 | 1.000 | Hitting_H | 1.182 | 1.000 | -1.182 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.324 | 0.000 | 0.400 | Hitting_OBP | 0.416 | 0.500 | -0.416 | -0.500 |
| predicted_R | 0.591 | 0.000 | 0.000 | Hitting_R | 0.591 | 1.000 | -0.591 | -1.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.456 | 0.000 | 0.250 | Hitting_SLG | 0.410 | 1.500 | -0.410 | -1.500 |
| predicted_SO | 1.182 | 1.000 | 1.000 | Hitting_SO | 1.182 | 0.000 | -0.182 | 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.5450 -> 4.0000 (boost 0.4550, better) |
| Biggest Deboost | predicted_R: 0.5910 -> 0.0000 (deboost -0.5910, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.3600 -> 0.6151 (boost 0.2551, better) | predicted_SLG: 0.4560 -> 0.4316 (deboost -0.0244, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 0 | 4 | 0 | 4 | - | predicted_SLG: 0.4316 -> 0.2375 (deboost -0.1941, 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.4816 -> 1.0000 (boost 0.5184, better) | predicted_RBI: 0.2361 -> 0.0000 (deboost -0.2361, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.162 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4906 -> 0.0000 (deboost -0.4906, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2619 -> 0.4000 (boost 0.1381, better) | - | 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_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.4000 -> 0.2619 (deboost -0.1381, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669392",
"player_name": "Samad Taylor",
"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.045,
"predicted_3B": 0.045,
"predicted_AB": 3.545,
"predicted_AVG": 0.258,
"predicted_BB": 0.5,
"predicted_H": 0.36,
"predicted_HR": 0.03,
"predicted_OBP": 0.324,
"predicted_R": 0.591,
"predicted_RBI": 0.19,
"predicted_SLG": 0.456,
"predicted_SO": 1.182
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0521,
"predicted_3B": 0.0548,
"predicted_AB": 3.5585,
"predicted_AVG": 0.27,
"predicted_BB": 0.4913,
"predicted_H": 0.6151,
"predicted_HBP": 0.008,
"predicted_HR": 0.0383,
"predicted_OBP": 0.343,
"predicted_R": 0.5496,
"predicted_RBI": 0.2645,
"predicted_SLG": 0.4316,
"predicted_SO": 1.1726
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.045,
"after": 0.0521,
"delta": 0.0071,
"percent_delta": 0.1578,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0548,
"delta": 0.0098,
"percent_delta": 0.2178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.545,
"after": 3.5585,
"delta": 0.0135,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.27,
"delta": 0.012,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4913,
"delta": -0.0087,
"percent_delta": -0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.6151,
"delta": 0.2551,
"percent_delta": 0.7086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0383,
"delta": 0.0083,
"percent_delta": 0.2767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.343,
"delta": 0.019,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 0.5496,
"delta": -0.0414,
"percent_delta": -0.0701,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.2645,
"delta": 0.0745,
"percent_delta": 0.3921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4316,
"delta": -0.0244,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.182,
"after": 1.1726,
"delta": -0.0094,
"percent_delta": -0.008,
"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.36,
"after": 0.6151,
"delta": 0.2551,
"percent_delta": 0.7086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.4316,
"delta": -0.0244,
"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": 22
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0521,
"predicted_3B": 0.0548,
"predicted_AB": 3.5585,
"predicted_AVG": 0.1619,
"predicted_BB": 0.4816,
"predicted_H": 0.5763,
"predicted_HBP": 0.008,
"predicted_HR": 0.0357,
"predicted_OBP": 0.2619,
"predicted_R": 0.4906,
"predicted_RBI": 0.2361,
"predicted_SLG": 0.2375,
"predicted_SO": 1.1957
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0521,
"after": 0.0521,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0548,
"after": 0.0548,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5585,
"after": 3.5585,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.1619,
"delta": -0.1081,
"percent_delta": -0.4004,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4913,
"after": 0.4816,
"delta": -0.0097,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6151,
"after": 0.5763,
"delta": -0.0388,
"percent_delta": -0.0631,
"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.0383,
"after": 0.0357,
"delta": -0.0026,
"percent_delta": -0.0679,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.2619,
"delta": -0.0811,
"percent_delta": -0.2364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5496,
"after": 0.4906,
"delta": -0.059,
"percent_delta": -0.1074,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2645,
"after": 0.2361,
"delta": -0.0284,
"percent_delta": -0.1074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4316,
"after": 0.2375,
"delta": -0.1941,
"percent_delta": -0.4497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1726,
"after": 1.1957,
"delta": 0.0231,
"percent_delta": 0.0197,
"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_SLG",
"before": 0.4316,
"after": 0.2375,
"delta": -0.1941,
"percent_delta": -0.4497,
"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.162 HR/AB=0.010",
"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.0521,
"after": 0.0,
"delta": -0.0521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0548,
"after": 0.0,
"delta": -0.0548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5585,
"after": 4.0,
"delta": 0.4415,
"percent_delta": 0.1241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4816,
"after": 1.0,
"delta": 0.5184,
"percent_delta": 1.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5763,
"after": 1.0,
"delta": 0.4237,
"percent_delta": 0.7352,
"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.0357,
"after": 0.0,
"delta": -0.0357,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2361,
"after": 0.0,
"delta": -0.2361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1957,
"after": 1.0,
"delta": -0.1957,
"percent_delta": -0.1637,
"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.4816,
"after": 1.0,
"delta": 0.5184,
"percent_delta": 1.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2361,
"after": 0.0,
"delta": -0.2361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4906,
"after": 0.0,
"delta": -0.4906,
"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.4906,
"after": 0.0,
"delta": -0.4906,
"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.1619,
"after": 0.25,
"delta": 0.0881,
"percent_delta": 0.5442,
"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.2619,
"after": 0.4,
"delta": 0.1381,
"percent_delta": 0.5273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2375,
"after": 0.25,
"delta": 0.0125,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2619,
"after": 0.4,
"delta": 0.1381,
"percent_delta": 0.5273,
"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": 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": 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_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.1619,
"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.2619,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2375,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1619,
"delta": -0.0881,
"percent_delta": -0.3522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2619,
"delta": -0.1381,
"percent_delta": -0.3454,
"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.2375,
"delta": -0.0125,
"percent_delta": -0.0499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4,
"after": 0.2619,
"delta": -0.1381,
"percent_delta": -0.3454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.545,
"after": 4.0,
"delta": 0.455,
"percent_delta": 0.1283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.1619,
"delta": -0.0961,
"percent_delta": -0.3725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"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.324,
"after": 0.2619,
"delta": -0.0621,
"percent_delta": -0.1917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.456,
"after": 0.2375,
"delta": -0.2185,
"percent_delta": -0.4792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.182,
"after": 1.0,
"delta": -0.182,
"percent_delta": -0.154,
"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.545,
"after": 4.0,
"delta": 0.455,
"percent_delta": 0.1283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.045 | - |
| predicted_3B | 0.045 | - |
| predicted_AB | 3.545 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.591 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.456 | - |
| predicted_SO | 1.182 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.052 | 0.007 |
| predicted_3B | 0.055 | 0.010 |
| predicted_AB | 3.558 | 0.014 |
| predicted_AVG | 0.270 | 0.012 |
| predicted_BB | 0.491 | -0.009 |
| predicted_H | 0.615 | 0.255 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.038 | 0.008 |
| predicted_OBP | 0.343 | 0.019 |
| predicted_R | 0.550 | -0.041 |
| predicted_RBI | 0.265 | 0.075 |
| predicted_SLG | 0.432 | -0.024 |
| predicted_SO | 1.173 | -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.052 | 0.000 |
| predicted_3B | 0.055 | 0.000 |
| predicted_AB | 3.558 | 0.000 |
| predicted_AVG | 0.162 | -0.108 |
| predicted_BB | 0.482 | -0.010 |
| predicted_H | 0.576 | -0.039 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.036 | -0.003 |
| predicted_OBP | 0.262 | -0.081 |
| predicted_R | 0.491 | -0.059 |
| predicted_RBI | 0.236 | -0.028 |
| predicted_SLG | 0.237 | -0.194 |
| predicted_SO | 1.196 | 0.023 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.162 HR/AB=0.010
| 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.052 |
| predicted_3B | 0.000 | -0.055 |
| predicted_AB | 4.000 | 0.442 |
| predicted_AVG | 0.250 | 0.088 |
| predicted_BB | 1.000 | 0.518 |
| predicted_H | 1.000 | 0.424 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.400 | 0.138 |
| predicted_R | 0.000 | -0.491 |
| predicted_RBI | 0.000 | -0.236 |
| predicted_SLG | 0.250 | 0.013 |
| predicted_SO | 1.000 | -0.196 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 7.000 | 0.2353 | 0.3500 | 0.3529 | 0.2353 | 0.0000 | 0.0000 | 0.1765 | 0.4118 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 0.000 | 1.000 | 0.000 | 3.000 | 2.000 | 6.000 | 13.000 | 0.2857 | 0.3902 | 0.3429 | 0.2857 | 0.0000 | 0.0857 | 0.1714 | 0.3714 |
| season | 0.60 | 22 | - | 78.000 | 26.000 | 1.000 | 1.000 | 1.000 | 11.000 | 13.000 | 11.000 | 26.000 | 0.3333 | 0.4157 | 0.4103 | 0.3333 | 0.0128 | 0.1410 | 0.1410 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0640 |
| predicted_3B | 0.0710 |
| predicted_AB | 3.5810 |
| predicted_AVG | 0.2899 |
| predicted_BB | 0.4770 |
| predicted_H | 1.0380 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0520 |
| predicted_OBP | 0.3744 |
| predicted_R | 0.4810 |
| predicted_RBI | 0.3880 |
| predicted_SLG | 0.3912 |
| predicted_SO | 1.1570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0450 | 0.0640 | 0.0521 | model_form_blend |
| predicted_3B | 0.0450 | 0.0710 | 0.0548 | model_form_blend |
| predicted_AB | 3.5450 | 3.5810 | 3.5585 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2899 | 0.2700 | model_form_blend |
| predicted_BB | 0.5000 | 0.4770 | 0.4913 | model_form_blend |
| predicted_H | 0.3600 | 1.0380 | 0.6151 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0300 | 0.0520 | 0.0383 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3744 | 0.3430 | model_form_blend |
| predicted_R | 0.5910 | 0.4810 | 0.5496 | model_form_blend |
| predicted_RBI | 0.1900 | 0.3880 | 0.2645 | model_form_blend |
| predicted_SLG | 0.4560 | 0.3912 | 0.4316 | model_form_blend |
| predicted_SO | 1.1820 | 1.1570 | 1.1726 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 22 |
| Season rows before report date | 22 |
| Report year | 2026 |
| Profile rows used | 22 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.333 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260701_SD@CHC |
| game_type | short |
| mlbID | 669392 |
| playerID | 669392 |
| playerName | Samad Taylor |
| pos | LF |
| started | False |
| startingPosition | RF |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.372 |
| sl_xwoba | 0.323 |
| sl_xba | 0.277 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 24.1 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 7.2 |
| sl_whiff_percent | 24.1 |
| 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_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.625 | 1.000 | 2.375 | 3.000 |
| predicted_ER | 7.000 | 7.000 | 7.000 | Pitching_ER | 2.500 | 4.000 | 4.500 | 3.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.750 | 8.000 | 1.250 | -1.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 4.931 | 3.100 | -0.831 | 1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 3.750 | 1.000 | -0.750 | 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.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": "681190",
"player_name": "Randy Vásquez",
"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": 4.0,
"predicted_ER": 7.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 7.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 4.1,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 7.0,
"after": 7.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.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": 7.0,
"predicted_H": 7.0,
"predicted_HR": 2.0,
"predicted_IP": 4.1,
"predicted_R": 7.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 7.0,
"after": 7.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.1,
"after": 4.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 7.0,
"after": 7.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.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 | 7.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.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 | 4.000 | 0.000 |
| predicted_ER | 7.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 4.100 | -0.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 | 20.200 | 18.000 | 35.000 | 9.000 | 13.000 | 5.000 | 7.8387 | 2.1290 | 0.8710 | 1.6936 | 0.4355 | 0.6290 | 0.2419 |
| last_10 | 0.35 | 10 | 47.100 | 29.000 | 64.000 | 15.000 | 26.000 | 10.000 | 5.5141 | 1.6690 | 0.6127 | 1.3521 | 0.3169 | 0.5493 | 0.2113 |
| season | 0.20 | 16 | 81.000 | 40.000 | 92.000 | 26.000 | 60.000 | 13.000 | 4.4444 | 1.4568 | 0.4938 | 1.1358 | 0.3210 | 0.7407 | 0.1605 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6810 |
| predicted_ER | 2.9960 |
| predicted_ERA | 5.9016 |
| predicted_H | 6.1400 |
| predicted_HR | 0.9080 |
| predicted_IP | 4.2000 |
| predicted_SO | 3.2070 |
| predicted_WHIP | 1.7120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.6810 | 2.7259 | model_form_blend |
| predicted_ER | 7.0000 | 2.9960 | 4.8002 | model_form_blend |
| predicted_ERA | - | 5.9016 | 5.9016 | form_only |
| predicted_H | 7.0000 | 6.1400 | 6.5275 | model_form_blend |
| predicted_HR | 2.0000 | 0.9080 | 1.4001 | model_form_blend |
| predicted_IP | 5.0000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 3.0000 | 3.2070 | 3.1137 | model_form_blend |
| predicted_WHIP | - | 1.7120 | 1.7120 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 7 |
| R | 7 |
| ER | 7 |
| BB | 4 |
| SO | 3 |
| HR | 2 |
| BF | 24 |
| Pitches | 98 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 19 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.44 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 5 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.1 |
| Pitching_Pitches | 79 |
| Pitching_R | 7 |
| Pitching_SO | 1 |
| Pitching_Strikes | 50 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260627_LAD@SD |
| game_type | full |
| mlbID | 681190 |
| playerID | 681190 |
| playerName | Randy Vásquez |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-27 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.361 |
| sl_xwoba | 0.397 |
| sl_sweet_spot_percent | 41.3 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 47.0 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 49.7 |
| sl_avg_best_speed | 82.178691298 |
| sl_avg_hyper_speed | 95.409625992 |
| 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.205 | 1.000 | -0.205 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.410 | 0.000 | -0.410 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.897 | 0.000 | 0.103 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.944 | 1.100 | 0.056 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.308 | 2.000 | -0.308 | -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": "670970",
"player_name": "Adrian Morejon",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 6.100 | 0.000 | 3.000 | 1.000 | 10.000 | 0.000 | 0.0000 | 0.6316 | 0.0000 | 0.4737 | 0.1579 | 1.5790 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 0.000 | 6.000 | 1.000 | 14.000 | 0.000 | 0.0000 | 0.5833 | 0.0000 | 0.5000 | 0.0833 | 1.1667 | 0.0000 |
| season | 0.20 | 39 | 43.100 | 16.000 | 35.000 | 8.000 | 51.000 | 2.000 | 3.3231 | 0.9923 | 0.3692 | 0.8077 | 0.1846 | 1.1769 | 0.0461 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2550 |
| predicted_ER | 0.2680 |
| predicted_ERA | 2.0678 |
| predicted_H | 0.8210 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4100 |
| predicted_WHIP | 0.9208 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2550 | 0.1261 | model_form_blend |
| predicted_ER | 0.0000 | 0.2680 | 0.1325 | model_form_blend |
| predicted_ERA | - | 2.0678 | 2.0678 | form_only |
| predicted_H | 1.0000 | 0.8210 | 0.9115 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0346 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4100 | 1.2028 | model_form_blend |
| predicted_WHIP | - | 0.9208 | 0.9208 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 39 |
| Season rows before report date | 39 |
| Report year | 2026 |
| Profile rows used | 39 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.32 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260629_SD@CHC |
| game_type | full |
| mlbID | 670970 |
| playerID | 670970 |
| playerName | Adrian Morejon |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-29 |
| sl_k_percent | 29.5 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.245 |
| sl_xwoba | 0.238 |
| sl_sweet_spot_percent | 26.8 |
| sl_barrel_batted_rate | 1.8 |
| sl_hard_hit_percent | 29.5 |
| sl_whiff_percent | 35.0 |
| sl_swing_percent | 51.8 |
| sl_avg_best_speed | 73.483678393 |
| sl_avg_hyper_speed | 92.832157027 |
| 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.222 | 0.000 | 0.778 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.833 | 2.000 | -0.833 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.833 | 1.000 | 0.167 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.611 | 1.000 | 0.389 | 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": "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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 5.000 | 0.000 | 4.000 | 1.000 | 5.4000 | 1.0000 | 0.6000 | 1.0000 | 0.0000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.100 | 5.000 | 9.000 | 2.000 | 6.000 | 2.000 | 4.8214 | 1.1786 | 0.5357 | 0.9643 | 0.2143 | 0.6429 | 0.2143 |
| season | 0.20 | 36 | 32.100 | 9.000 | 30.000 | 8.000 | 22.000 | 5.000 | 2.5052 | 1.1753 | 0.2783 | 0.9278 | 0.2474 | 0.6804 | 0.1546 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2270 |
| predicted_ER | 0.5060 |
| predicted_ERA | 4.5572 |
| predicted_H | 0.9700 |
| predicted_HR | 0.1740 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8230 |
| predicted_WHIP | 1.1963 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2270 | 0.6407 | model_form_blend |
| predicted_ER | 0.0000 | 0.5060 | 0.2352 | model_form_blend |
| predicted_ERA | - | 4.5572 | 4.5572 | form_only |
| predicted_H | 0.0000 | 0.9700 | 0.4509 | model_form_blend |
| predicted_HR | 0.0000 | 0.1740 | 0.0809 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8230 | 0.9177 | model_form_blend |
| predicted_WHIP | - | 1.1963 | 1.1963 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.51 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 24 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260629_SD@CHC |
| game_type | full |
| mlbID | 592094 |
| playerID | 592094 |
| playerName | Jason Adam |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-29 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.309 |
| sl_xwoba | 0.288 |
| sl_sweet_spot_percent | 26.5 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 36.3 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 53.4 |
| sl_avg_best_speed | 77.312867451 |
| sl_avg_hyper_speed | 93.393945248 |
| 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.394 | 0.000 | -0.394 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.485 | 2.000 | -0.485 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.973 | 0.200 | 0.027 | 0.800 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 2.000 | 0.000 | 1.000 | 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": "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": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 0.000 | 4.000 | 1.000 | 10.000 | 0.000 | 0.0000 | 0.8333 | 0.0000 | 0.6667 | 0.1667 | 1.6667 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 1.000 | 6.000 | 4.000 | 19.000 | 0.000 | 0.8182 | 0.9091 | 0.0909 | 0.5454 | 0.3636 | 1.7273 | 0.0000 |
| season | 0.20 | 33 | 34.200 | 3.000 | 16.000 | 13.000 | 66.000 | 0.000 | 0.7788 | 0.8365 | 0.0865 | 0.4615 | 0.3750 | 1.9039 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3380 |
| predicted_ER | 0.2590 |
| predicted_ERA | 2.1423 |
| predicted_H | 0.8090 |
| predicted_HR | 0.0670 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.5280 |
| predicted_WHIP | 1.0552 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3380 | 0.1596 | model_form_blend |
| predicted_ER | 0.0000 | 0.2590 | 0.1223 | model_form_blend |
| predicted_ERA | - | 2.1423 | 2.1423 | form_only |
| predicted_H | 0.0000 | 0.8090 | 0.3819 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0316 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 1.5280 | 2.3052 | model_form_blend |
| predicted_WHIP | - | 1.0552 | 1.0552 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 3 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.78 |
| 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 | 0.2 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260629_SD@CHC |
| game_type | full |
| mlbID | 695243 |
| playerID | 695243 |
| playerName | Mason Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-29 |
| sl_k_percent | 50.0 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.177 |
| sl_xwoba | 0.173 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 1.9 |
| sl_hard_hit_percent | 17.0 |
| sl_whiff_percent | 48.9 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 72.529621481 |
| sl_avg_hyper_speed | 90.945218491 |
| 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 | 2.000 | -0.550 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.850 | 5.000 | -0.850 | -5.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.000 | 3.000 | 0.000 | -2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.270 | 2.000 | -1.070 | -1.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.250 | 4.000 | -0.250 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.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": "606996",
"player_name": "Kyle Hart",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.200 | 7.000 | 7.000 | 5.000 | 12.000 | 3.000 | 8.2174 | 1.5652 | 0.9130 | 0.9130 | 0.6522 | 1.5652 | 0.3913 |
| last_10 | 0.35 | 10 | 13.100 | 7.000 | 8.000 | 5.000 | 17.000 | 3.000 | 4.7250 | 0.9750 | 0.5250 | 0.6000 | 0.3750 | 1.2750 | 0.2250 |
| season | 0.20 | 20 | 28.200 | 17.000 | 20.000 | 11.000 | 25.000 | 3.000 | 5.3372 | 1.0814 | 0.5930 | 0.6977 | 0.3837 | 0.8721 | 0.1047 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4100 |
| predicted_ER | 0.5790 |
| predicted_ERA | 5.5109 |
| predicted_H | 0.8090 |
| predicted_HR | 0.2040 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0880 |
| predicted_WHIP | 1.2904 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4100 | 0.1854 | model_form_blend |
| predicted_ER | 0.0000 | 0.5790 | 0.2619 | model_form_blend |
| predicted_ERA | - | 5.5109 | 5.5109 | form_only |
| predicted_H | 1.0000 | 0.8090 | 0.9136 | model_form_blend |
| predicted_HR | 0.0000 | 0.2040 | 0.0923 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0880 | 1.0398 | model_form_blend |
| predicted_WHIP | - | 1.2904 | 1.2904 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 20 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 12 |
| Pitching_ER | 5 |
| Pitching_ERA | 5.34 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 52 |
| Pitching_R | 6 |
| Pitching_SO | 4 |
| Pitching_Strikes | 30 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260701_SD@CHC |
| game_type | full |
| mlbID | 606996 |
| playerID | 606996 |
| playerName | Kyle Hart |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.301 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 30.4 |
| sl_whiff_percent | 19.6 |
| sl_swing_percent | 43.3 |
| sl_avg_best_speed | 76.574180789 |
| sl_avg_hyper_speed | 93.264356 |
| Field | Value |
|---|---|
| Pitcher | Roki Sasaki |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2183 |
| ESPN Rank | 555 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0957 |
| Avg Velo | 91.4682 |
| Avg Spin | 1659.4555 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 1 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 4.8750 |
| Season WHIP | 1.3333 |
| Role Avg IP | 5.1430 |
| Recent Avg IP | 5.2670 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"opponent": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"edges": {
"quality_edge": 0.5008,
"offense_edge": 0.178,
"opponent_offense_edge": -0.1165,
"defense_strength": 0.2798,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0331,
"run_prevention": 0.9283,
"strikeout": 1.0243
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "808963",
"profile": {
"available": true,
"pitcher_id": "808963",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 200.0,
"k_percent": 23.2,
"bb_percent": 9.6,
"woba": 0.341,
"xwoba": 0.331,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 45.1,
"avg_best_speed": 79.7808,
"avg_hyper_speed": 94.6455,
"whiff_percent": 28.8,
"swing_percent": 49.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.6365,
"command_and_miss": 0.1818,
"regression_edge": 0.2857,
"xwoba_edge": -0.5286,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.9714,
"whiff_edge": 0.4714,
"bb_edge": -0.125,
"pitch_design_score": 0.0957
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808963",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 91.46821205363209,
"release_spin_rate": 1659.4554725748967,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 91.46821205363209,
"release_spin_rate": 1659.4554725748967,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4682,
"release_spin_rate": 1659.4555,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0957,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6838,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2183,
"sample_weight": 0.8,
"run_prevention_factor": 1.0186,
"strikeout_factor": 1.0181,
"walk_factor": 1.008,
"homer_factor": 1.0992,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808963",
"espn_id": 5134638,
"player_name": "Roki Sasaki",
"team": "LAD",
"role": "pitcher",
"espn_rank": 555,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 555,
"gp_value": 14.0,
"gp_rank": 353,
"gs_value": 14.0,
"gs_rank": 85,
"qs_value": 3.0,
"qs_rank": 103,
"era_value": 4.875,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 5.0,
"l_rank": 57,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 72.0,
"ip_rank": 106,
"h_value": 66.0,
"h_rank": 103,
"er_value": 39.0,
"er_rank": 60,
"hr_value": 14.0,
"hr_rank": 26,
"bb_value": 30.0,
"bb_rank": 47,
"k_value": 72.0,
"k_rank": 76,
"k_per_9_value": 9.0,
"k_per_9_rank": 19,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": -0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0149,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0149,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0064,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0794,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0145,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 54.1,
"ER": 27,
"H": 45,
"BB": 18,
"SO": 55,
"HR": 10,
"ERA": 4.47239263803681,
"WHIP": 1.159509202453988,
"K9": 9.110429447852761,
"HR9": 1.6564417177914113,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-26T00:00:00"
}{
"available": true,
"pitcher_id": "808963",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 91.46821205363209,
"release_spin_rate": 1659.4554725748967,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 91.46821205363209,
"release_spin_rate": 1659.4554725748967,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.4682,
"release_spin_rate": 1659.4555,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0957,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6838,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "808963",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.1,
"ER": 14.0,
"R": 14.0,
"H": 19.0,
"BB": 12.0,
"SO": 29.0,
"HR": 5.0,
"BF": 109.0,
"Pitches": 444.0
},
"per_game": {
"IP": 5.1,
"ER": 2.8,
"R": 2.8,
"H": 3.8,
"BB": 2.4,
"SO": 5.8,
"HR": 1.0,
"BF": 21.8,
"Pitches": 88.8
},
"rates": {
"ERA": 4.7848,
"WHIP": 1.1772,
"ER_per_IP": 0.53165,
"H_per_IP": 0.72152,
"BB_per_IP": 0.4557,
"SO_per_IP": 1.10127,
"HR_per_IP": 0.18987
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.1,
"ER": 27.0,
"R": 28.0,
"H": 45.0,
"BB": 18.0,
"SO": 55.0,
"HR": 10.0,
"BF": 226.0,
"Pitches": 916.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7,
"R": 2.8,
"H": 4.5,
"BB": 1.8,
"SO": 5.5,
"HR": 1.0,
"BF": 22.6,
"Pitches": 91.6
},
"rates": {
"ERA": 4.4724,
"WHIP": 1.1595,
"ER_per_IP": 0.49693,
"H_per_IP": 0.82822,
"BB_per_IP": 0.33129,
"SO_per_IP": 1.01227,
"HR_per_IP": 0.18405
}
},
"season": {
"games": 14,
"totals": {
"IP": 72.0,
"ER": 39.0,
"R": 40.0,
"H": 66.0,
"BB": 30.0,
"SO": 72.0,
"HR": 14.0,
"BF": 311.0,
"Pitches": 1256.0
},
"per_game": {
"IP": 5.0,
"ER": 2.7857,
"R": 2.8571,
"H": 4.7143,
"BB": 2.1429,
"SO": 5.1429,
"HR": 1.0,
"BF": 22.2143,
"Pitches": 89.7143
},
"rates": {
"ERA": 4.875,
"WHIP": 1.3333,
"ER_per_IP": 0.54167,
"H_per_IP": 0.91667,
"BB_per_IP": 0.41667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.19444
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.768,
"predicted_H": 4.523,
"predicted_BB": 2.106,
"predicted_SO": 5.503,
"predicted_HR": 0.955,
"predicted_ERA": 4.637,
"predicted_WHIP": 1.234
}
}{
"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.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.768,
"final": 1.9526,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.523,
"final": 5.2042,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.106,
"final": 2.0571,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.503,
"final": 4.8098,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.955,
"final": 0.5146,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.637,
"final": 4.637,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.234,
"final": 1.234,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Edgardo Henriquez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4176 |
| ESPN Rank | 251 |
| 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 | 0 |
| Pre SO | 1 |
| Season ERA | 2.7551 |
| Season WHIP | 0.9490 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"opponent": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"edges": {
"quality_edge": 0.5008,
"offense_edge": 0.178,
"opponent_offense_edge": -0.1165,
"defense_strength": 0.2798,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0331,
"run_prevention": 0.9283,
"strikeout": 1.0243
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683618",
"profile": {
"available": true,
"pitcher_id": "683618",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 74.0,
"k_percent": 26.0,
"bb_percent": 8.7,
"woba": 0.25,
"xwoba": 0.25,
"sweet_spot_percent": 22.5,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 30.0,
"avg_best_speed": 71.681,
"avg_hyper_speed": 92.4683,
"whiff_percent": 26.3,
"swing_percent": 50.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.5262,
"command_and_miss": 0.2818,
"regression_edge": 0.0,
"xwoba_edge": 1.7857,
"barrel_edge": 0.8,
"hard_hit_edge": 1.1857,
"whiff_edge": 0.1143,
"bb_edge": 0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683618",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4176,
"sample_weight": 0.45,
"run_prevention_factor": 0.9645,
"strikeout_factor": 1.0109,
"walk_factor": 0.9964,
"homer_factor": 0.9257,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683618",
"espn_id": 5194684,
"player_name": "Edgardo Henriquez",
"team": "LAD",
"role": "pitcher",
"espn_rank": 251,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 251,
"gp_value": 31.0,
"gp_rank": 107,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.7551,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 5.0,
"hld_rank": 107,
"ip_value": 32.2,
"ip_rank": 281,
"h_value": 20.0,
"h_rank": 383,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 33.0,
"k_rank": 264,
"k_per_9_value": 9.091837,
"k_per_9_rank": 25,
"whip_value": 0.9489,
"whip_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.984,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.984,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9984,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9666,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0049,
"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": 5,
"BB": 2,
"SO": 14,
"HR": 0,
"ERA": 1.6875,
"WHIP": 0.65625,
"K9": 11.8125,
"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-28T00:00:00"
}{
"available": false,
"pitcher_id": "683618",
"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.476,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5643,
"prior_weight": 0.4357
},
"role": "pitcher",
"player_id": "683618",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.4,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.4,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 14.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.7,
"Pitches": 14.2
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.6562,
"ER_per_IP": 0.1875,
"H_per_IP": 0.46875,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 31,
"totals": {
"IP": 32.2,
"ER": 10.0,
"R": 12.0,
"H": 20.0,
"BB": 11.0,
"SO": 33.0,
"HR": 1.0,
"BF": 127.0,
"Pitches": 488.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3226,
"R": 0.3871,
"H": 0.6452,
"BB": 0.3548,
"SO": 1.0645,
"HR": 0.0323,
"BF": 4.0968,
"Pitches": 15.7419
},
"rates": {
"ERA": 2.7551,
"WHIP": 0.949,
"ER_per_IP": 0.30612,
"H_per_IP": 0.61224,
"BB_per_IP": 0.33673,
"SO_per_IP": 1.0102,
"HR_per_IP": 0.03061
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.288,
"predicted_H": 0.582,
"predicted_BB": 0.332,
"predicted_SO": 1.043,
"predicted_HR": 0.067,
"predicted_ERA": 2.5956,
"predicted_WHIP": 0.9147
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5341,
"form_weight": 0.4659,
"form_reliability": 0.5643,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.476,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5643,
"prior_weight": 0.4357
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.288,
"final": 0.1342,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.582,
"final": 0.8052,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.332,
"final": 0.1547,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.043,
"final": 1.02,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0312,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5956,
"final": 2.5956,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9147,
"final": 0.9147,
"source": "form_only"
}
}
}{
"available": false,
"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.4146 |
| ESPN Rank | 110 |
| 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.0971 |
| Season WHIP | 0.6990 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"opponent": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"edges": {
"quality_edge": 0.5008,
"offense_edge": 0.178,
"opponent_offense_edge": -0.1165,
"defense_strength": 0.2798,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0331,
"run_prevention": 0.9283,
"strikeout": 1.0243
},
"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": 33.3,
"bb_percent": 2.4,
"woba": 0.217,
"xwoba": 0.257,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 28.7,
"avg_best_speed": 79.5622,
"avg_hyper_speed": 92.9212,
"whiff_percent": 34.2,
"swing_percent": 55.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.1708,
"command_and_miss": 1.4611,
"regression_edge": -1.1429,
"xwoba_edge": 1.5857,
"barrel_edge": -0.0222,
"hard_hit_edge": 1.3714,
"whiff_edge": 1.2429,
"bb_edge": 1.675,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656945",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4146,
"sample_weight": 0.45,
"run_prevention_factor": 0.9648,
"strikeout_factor": 1.05,
"walk_factor": 0.9397,
"homer_factor": 0.9547,
"woba_minus_xwoba": -0.04,
"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": 110,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 110,
"gp_value": 36.0,
"gp_rank": 44,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.097,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 11.0,
"sv_rank": 18,
"hld_value": 6.0,
"hld_rank": 87,
"ip_value": 34.1,
"ip_rank": 256,
"h_value": 21.0,
"h_rank": 367,
"er_value": 8.0,
"er_rank": 439,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 3.0,
"bb_rank": 559,
"k_value": 42.0,
"k_rank": 187,
"k_per_9_value": 11.009708,
"k_per_9_rank": 19,
"whip_value": 0.699,
"whip_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9842,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9842,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9729,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9796,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0225,
"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": 7,
"BB": 0,
"SO": 14,
"HR": 1,
"ERA": 1.8620689655172415,
"WHIP": 0.7241379310344828,
"K9": 13.03448275862069,
"HR9": 0.9310344827586208,
"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-28T00: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": 6.806,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5765,
"prior_weight": 0.4235
},
"role": "pitcher",
"player_id": "656945",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 7.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 67.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 13.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.375,
"ER_per_IP": 0.0,
"H_per_IP": 0.375,
"BB_per_IP": 0.0,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 0.0,
"SO": 14.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.0,
"SO": 1.4,
"HR": 0.1,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 1.8621,
"WHIP": 0.7241,
"ER_per_IP": 0.2069,
"H_per_IP": 0.72414,
"BB_per_IP": 0.0,
"SO_per_IP": 1.44828,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 36,
"totals": {
"IP": 34.1,
"ER": 8.0,
"R": 8.0,
"H": 21.0,
"BB": 3.0,
"SO": 42.0,
"HR": 4.0,
"BF": 126.0,
"Pitches": 487.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2222,
"R": 0.2222,
"H": 0.5833,
"BB": 0.0833,
"SO": 1.1667,
"HR": 0.1111,
"BF": 3.5,
"Pitches": 13.5278
},
"rates": {
"ERA": 2.0971,
"WHIP": 0.699,
"ER_per_IP": 0.23301,
"H_per_IP": 0.61165,
"BB_per_IP": 0.08738,
"SO_per_IP": 1.2233,
"HR_per_IP": 0.1165
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.279,
"predicted_H": 0.723,
"predicted_BB": 0.162,
"predicted_SO": 1.177,
"predicted_HR": 0.097,
"predicted_ERA": 2.5142,
"predicted_WHIP": 0.8842
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5289,
"form_weight": 0.4711,
"form_reliability": 0.5765,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.806,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5765,
"prior_weight": 0.4235
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.279,
"final": 0.1314,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.723,
"final": 0.3406,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.162,
"final": 0.0763,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.177,
"final": 1.0834,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.097,
"final": 0.0457,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5142,
"final": 2.5142,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8842,
"final": 0.8842,
"source": "form_only"
}
}
}{
"available": false,
"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.3839 |
| ESPN Rank | 183 |
| 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 | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.6024 |
| Season WHIP | 1.0843 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 93,
"wins": 59,
"losses": 34,
"win_pct": 0.6344,
"runs_scored": 496.0,
"runs_allowed": 329.0,
"run_differential": 167.0,
"run_differential_per_game": 1.7957,
"avg_runs_scored": 5.3333,
"avg_runs_allowed": 3.5376,
"offense_index": 1.178,
"defense_index": 1.2798,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 4.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.4024
},
"opponent": {
"team": "SD",
"games": 91,
"wins": 45,
"losses": 46,
"win_pct": 0.4945,
"runs_scored": 364.0,
"runs_allowed": 408.0,
"run_differential": -44.0,
"run_differential_per_game": -0.4835,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.4835,
"offense_index": 0.8835,
"defense_index": 1.0098,
"current_streak": "L5",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 6.7,
"run_differential": -27.0
},
"available": true,
"quality_score": -0.0984
},
"edges": {
"quality_edge": 0.5008,
"offense_edge": 0.178,
"opponent_offense_edge": -0.1165,
"defense_strength": 0.2798,
"opponent_defense_weakness": -0.0098,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0331,
"run_prevention": 0.9283,
"strikeout": 1.0243
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681911",
"profile": {
"available": true,
"pitcher_id": "681911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 74.0,
"k_percent": 34.2,
"bb_percent": 14.0,
"woba": 0.21,
"xwoba": 0.255,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 37.3,
"avg_best_speed": 77.6937,
"avg_hyper_speed": 92.6886,
"whiff_percent": 38.3,
"swing_percent": 46.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.2221,
"command_and_miss": 1.1439,
"regression_edge": -1.2857,
"xwoba_edge": 1.6429,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.1429,
"whiff_edge": 1.8286,
"bb_edge": -1.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3839,
"sample_weight": 0.45,
"run_prevention_factor": 0.9674,
"strikeout_factor": 1.0629,
"walk_factor": 1.0441,
"homer_factor": 0.9568,
"woba_minus_xwoba": -0.045,
"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": 183,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 183,
"gp_value": 37.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.6024,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 3.0,
"sv_rank": 48,
"hld_value": 13.0,
"hld_rank": 12,
"ip_value": 27.2,
"ip_rank": 336,
"h_value": 14.0,
"h_rank": 463,
"er_value": 8.0,
"er_rank": 439,
"hr_value": 0.0,
"hr_rank": 614,
"bb_value": 16.0,
"bb_rank": 214,
"k_value": 39.0,
"k_rank": 208,
"k_per_9_value": 12.686748,
"k_per_9_rank": 16,
"whip_value": 1.0843,
"whip_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0198,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9806,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0283,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 6.2,
"ER": 3,
"H": 4,
"BB": 6,
"SO": 11,
"HR": 0,
"ERA": 4.050000000000001,
"WHIP": 1.5000000000000002,
"K9": 14.850000000000001,
"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-28T00: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": 5.484,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5231,
"prior_weight": 0.4769
},
"role": "pitcher",
"player_id": "681911",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 4.0,
"SO": 8.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 91.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.8,
"SO": 1.6,
"HR": 0.0,
"BF": 4.0,
"Pitches": 18.2
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.6154,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.92308,
"SO_per_IP": 1.84615,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 6.2,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 6.0,
"SO": 11.0,
"HR": 0.0,
"BF": 31.0,
"Pitches": 145.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 0.4,
"BB": 0.6,
"SO": 1.1,
"HR": 0.0,
"BF": 3.1,
"Pitches": 14.5
},
"rates": {
"ERA": 4.05,
"WHIP": 1.5,
"ER_per_IP": 0.45,
"H_per_IP": 0.6,
"BB_per_IP": 0.9,
"SO_per_IP": 1.65,
"HR_per_IP": 0.0
}
},
"season": {
"games": 37,
"totals": {
"IP": 27.2,
"ER": 8.0,
"R": 8.0,
"H": 14.0,
"BB": 16.0,
"SO": 39.0,
"HR": 0.0,
"BF": 114.0,
"Pitches": 513.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2162,
"R": 0.2162,
"H": 0.3784,
"BB": 0.4324,
"SO": 1.0541,
"HR": 0.0,
"BF": 3.0811,
"Pitches": 13.8649
},
"rates": {
"ERA": 2.6024,
"WHIP": 1.0843,
"ER_per_IP": 0.28916,
"H_per_IP": 0.50602,
"BB_per_IP": 0.57831,
"SO_per_IP": 1.40964,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.301,
"predicted_H": 0.586,
"predicted_BB": 0.457,
"predicted_SO": 0.998,
"predicted_HR": 0.052,
"predicted_ERA": 3.6385,
"predicted_WHIP": 1.3992
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5515,
"form_weight": 0.4485,
"form_reliability": 0.5231,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.484,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5231,
"prior_weight": 0.4769
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.301,
"final": 0.135,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.586,
"final": 0.8143,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.457,
"final": 0.205,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.998,
"final": 0.9991,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.052,
"final": 0.0233,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6385,
"final": 3.6385,
"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."
}| Metric | 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.091 | 1.000 | -0.091 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.260 | 3.000 | 4.000 | Hitting_AB | 4.207 | 5.000 | -1.207 | -2.000 |
| predicted_AVG | 0.250 | 0.000 | 0.250 | Hitting_AVG | 0.204 | 0.600 | -0.204 | -0.600 |
| predicted_BB | 0.300 | 1.000 | 0.000 | Hitting_BB | 0.240 | 0.000 | 0.760 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_H | 1.060 | 0.000 | 1.000 | Hitting_H | 0.860 | 3.000 | -0.860 | -3.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_OBP | 0.321 | 0.250 | 0.250 | Hitting_OBP | 0.252 | 0.600 | -0.002 | -0.350 |
| predicted_R | 0.600 | 1.000 | 1.000 | Hitting_R | 0.636 | 1.000 | 0.364 | 0.000 |
| predicted_RBI | 0.660 | 0.000 | 1.000 | Hitting_RBI | 0.694 | 1.000 | -0.694 | -1.000 |
| predicted_SLG | 0.548 | 0.000 | 0.250 | Hitting_SLG | 0.426 | 0.800 | -0.426 | -0.800 |
| predicted_SO | 0.560 | 0.000 | 0.000 | Hitting_SO | 0.595 | 0.000 | -0.595 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.3000 -> 1.0000 (boost 0.7000, better) |
| Biggest Deboost | predicted_AB: 4.2600 -> 3.0000 (deboost -1.2600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2500 -> 0.2647 (boost 0.0147, better) | predicted_AB: 4.2600 -> 4.2081 (deboost -0.0519, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 3 | 1 | 3 | 1 | predicted_RBI: 0.6970 -> 0.7544 (boost 0.0574, better) | predicted_SLG: 0.5332 -> 0.4858 (deboost -0.0474, 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.5346 -> 1.0000 (boost 0.4654, worse) | predicted_BB: 0.2981 -> 0.0000 (deboost -0.2981, worse) | AB rounded to 4 (raw=4.26), rates preserved: AVG=0.273 HR/AB=0.056 |
| 5 | bvp_blend | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | 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.6365 -> 1.0000 (boost 0.3635, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4858 -> 0.2500 (deboost -0.2358, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 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.4858 (boost 0.2358, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605141",
"player_name": "Mookie Betts",
"position": "SS",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.16,
"predicted_3B": 0.0,
"predicted_AB": 4.26,
"predicted_AVG": 0.25,
"predicted_BB": 0.3,
"predicted_H": 1.06,
"predicted_HR": 0.21,
"predicted_OBP": 0.321,
"predicted_R": 0.6,
"predicted_RBI": 0.66,
"predicted_SLG": 0.548,
"predicted_SO": 0.56
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1671,
"predicted_3B": 0.0008,
"predicted_AB": 4.2081,
"predicted_AVG": 0.2647,
"predicted_BB": 0.2917,
"predicted_H": 1.1098,
"predicted_HBP": 0.015,
"predicted_HR": 0.2279,
"predicted_OBP": 0.326,
"predicted_R": 0.588,
"predicted_RBI": 0.697,
"predicted_SLG": 0.5332,
"predicted_SO": 0.5467
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1671,
"delta": 0.0071,
"percent_delta": 0.0444,
"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.26,
"after": 4.2081,
"delta": -0.0519,
"percent_delta": -0.0122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2647,
"delta": 0.0147,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.2917,
"delta": -0.0083,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.1098,
"delta": 0.0498,
"percent_delta": 0.047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.2279,
"delta": 0.0179,
"percent_delta": 0.0852,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.326,
"delta": 0.005,
"percent_delta": 0.0156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 0.588,
"delta": -0.012,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.697,
"delta": 0.037,
"percent_delta": 0.0561,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.548,
"after": 0.5332,
"delta": -0.0148,
"percent_delta": -0.027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.56,
"after": 0.5467,
"delta": -0.0133,
"percent_delta": -0.0238,
"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_AVG",
"before": 0.25,
"after": 0.2647,
"delta": 0.0147,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 4.2081,
"delta": -0.0519,
"percent_delta": -0.0122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1671,
"predicted_3B": 0.0008,
"predicted_AB": 4.2081,
"predicted_AVG": 0.2759,
"predicted_BB": 0.2981,
"predicted_H": 1.1609,
"predicted_HBP": 0.015,
"predicted_HR": 0.2382,
"predicted_OBP": 0.3238,
"predicted_R": 0.6365,
"predicted_RBI": 0.7544,
"predicted_SLG": 0.4858,
"predicted_SO": 0.5346
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1671,
"after": 0.1671,
"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.2081,
"after": 4.2081,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2647,
"after": 0.2759,
"delta": 0.0112,
"percent_delta": 0.0423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2917,
"after": 0.2981,
"delta": 0.0064,
"percent_delta": 0.0219,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1098,
"after": 1.1609,
"delta": 0.0511,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2279,
"after": 0.2382,
"delta": 0.0103,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3238,
"delta": -0.0022,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.588,
"after": 0.6365,
"delta": 0.0485,
"percent_delta": 0.0825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.697,
"after": 0.7544,
"delta": 0.0574,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5332,
"after": 0.4858,
"delta": -0.0474,
"percent_delta": -0.0889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5467,
"after": 0.5346,
"delta": -0.0121,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.697,
"after": 0.7544,
"delta": 0.0574,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5332,
"after": 0.4858,
"delta": -0.0474,
"percent_delta": -0.0889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.26), rates preserved: AVG=0.273 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.1671,
"after": 0.0,
"delta": -0.1671,
"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.2081,
"after": 4.0,
"delta": -0.2081,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2981,
"after": 0.0,
"delta": -0.2981,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1609,
"after": 1.0,
"delta": -0.1609,
"percent_delta": -0.1386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2382,
"after": 0.0,
"delta": -0.2382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7544,
"after": 1.0,
"delta": 0.2456,
"percent_delta": 0.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5346,
"after": 1.0,
"delta": 0.4654,
"percent_delta": 0.8706,
"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.5346,
"after": 1.0,
"delta": 0.4654,
"percent_delta": 0.8706,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2981,
"after": 0.0,
"delta": -0.2981,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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.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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.6365,
"after": 1.0,
"delta": 0.3635,
"percent_delta": 0.5711,
"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.6365,
"after": 1.0,
"delta": 0.3635,
"percent_delta": 0.5711,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2759,
"after": 0.25,
"delta": -0.0259,
"percent_delta": -0.0939,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4858,
"after": 0.25,
"delta": -0.2358,
"percent_delta": -0.4854,
"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.4858,
"after": 0.25,
"delta": -0.2358,
"percent_delta": -0.4854,
"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": 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": 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": 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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2759,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3238,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4858,
"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.2759,
"delta": 0.0259,
"percent_delta": 0.1034,
"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.3238,
"delta": 0.0738,
"percent_delta": 0.2951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4858,
"delta": 0.2358,
"percent_delta": 0.9432,
"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.4858,
"delta": 0.2358,
"percent_delta": 0.9432,
"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.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": 4.26,
"after": 3.0,
"delta": -1.26,
"percent_delta": -0.2958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2759,
"delta": 0.0259,
"percent_delta": 0.1036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3238,
"delta": 0.0028,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.548,
"after": 0.4858,
"delta": -0.0622,
"percent_delta": -0.1135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"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.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.26,
"after": 3.0,
"delta": -1.26,
"percent_delta": -0.2958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.600 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.548 | - |
| predicted_SO | 0.560 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 | 0.001 |
| predicted_AB | 4.208 | -0.052 |
| predicted_AVG | 0.265 | 0.015 |
| predicted_BB | 0.292 | -0.008 |
| predicted_H | 1.110 | 0.050 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.228 | 0.018 |
| predicted_OBP | 0.326 | 0.005 |
| predicted_R | 0.588 | -0.012 |
| predicted_RBI | 0.697 | 0.037 |
| predicted_SLG | 0.533 | -0.015 |
| predicted_SO | 0.547 | -0.013 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.208 | 0.000 |
| predicted_AVG | 0.276 | 0.011 |
| predicted_BB | 0.298 | 0.006 |
| predicted_H | 1.161 | 0.051 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.238 | 0.010 |
| predicted_OBP | 0.324 | -0.002 |
| predicted_R | 0.636 | 0.048 |
| predicted_RBI | 0.754 | 0.057 |
| predicted_SLG | 0.486 | -0.047 |
| predicted_SO | 0.535 | -0.012 |
AB rounded to 4 (raw=4.26), rates preserved: AVG=0.273 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 | - |
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 | 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 | 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.167 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.208 |
| predicted_AVG | 0.250 | -0.026 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | -0.161 |
| predicted_HR | 0.000 | -0.238 |
| predicted_OBP | 0.250 | -0.074 |
| predicted_R | 1.000 | 0.364 |
| predicted_RBI | 1.000 | 0.246 |
| predicted_SLG | 0.250 | -0.236 |
| 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 | 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 | 1.000 | 0.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 | - | 22.000 | 8.000 | 1.000 | 0.000 | 2.000 | 7.000 | 3.000 | 1.000 | 1.000 | 0.3636 | 0.3913 | 0.6818 | 0.3636 | 0.0909 | 0.3182 | 0.0454 | 0.0454 |
| last_10 | 0.20 | 10 | - | 42.000 | 15.000 | 2.000 | 0.000 | 3.000 | 9.000 | 5.000 | 3.000 | 5.000 | 0.3571 | 0.4000 | 0.6190 | 0.3571 | 0.0714 | 0.2143 | 0.0714 | 0.1191 |
| season | 0.60 | 50 | - | 205.000 | 50.000 | 8.000 | 0.000 | 11.000 | 28.000 | 30.000 | 15.000 | 28.000 | 0.2439 | 0.2973 | 0.4439 | 0.2439 | 0.0537 | 0.1366 | 0.0732 | 0.1366 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1770 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.1350 |
| predicted_AVG | 0.2854 |
| predicted_BB | 0.2800 |
| predicted_H | 1.1800 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.2530 |
| predicted_OBP | 0.3330 |
| predicted_R | 0.5710 |
| predicted_RBI | 0.7490 |
| predicted_SLG | 0.5124 |
| predicted_SO | 0.5280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1770 | 0.1671 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.2600 | 4.1350 | 4.2081 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2854 | 0.2647 | model_form_blend |
| predicted_BB | 0.3000 | 0.2800 | 0.2917 | model_form_blend |
| predicted_H | 1.0600 | 1.1800 | 1.1098 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.2100 | 0.2530 | 0.2279 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3330 | 0.3260 | model_form_blend |
| predicted_R | 0.6000 | 0.5710 | 0.5880 | model_form_blend |
| predicted_RBI | 0.6600 | 0.7490 | 0.6970 | model_form_blend |
| predicted_SLG | 0.5480 | 0.5124 | 0.5332 | model_form_blend |
| predicted_SO | 0.5600 | 0.5280 | 0.5467 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 121 |
| Season rows before report date | 121 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| Hitting_RBI | 1 |
| 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 | SS |
| gameID | 20260630_LAD@OAK |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-30 |
| sl_k_percent | 12.6 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.322 |
| sl_xwoba | 0.339 |
| sl_xba | 0.283 |
| sl_xslg | 0.447 |
| sl_sweet_spot_percent | 43.8 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 12.9 |
| 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.190 | 0.000 | 0.000 | Hitting_2B | 0.223 | 0.000 | -0.223 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 4.020 | 3.000 | 4.000 | Hitting_AB | 3.799 | 5.000 | -0.799 | -2.000 |
| predicted_AVG | 0.252 | 0.333 | 0.250 | Hitting_AVG | 0.282 | 0.000 | 0.052 | 0.333 |
| predicted_BB | 0.709 | 2.000 | 1.000 | Hitting_BB | 0.755 | 0.000 | 1.245 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 1.010 | 1.000 | 1.000 | Hitting_H | 1.071 | 0.000 | -0.071 | 1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_OBP | 0.348 | 0.600 | 0.400 | Hitting_OBP | 0.406 | 0.000 | 0.194 | 0.600 |
| predicted_R | 0.759 | 1.000 | 1.000 | Hitting_R | 0.725 | 0.000 | 0.275 | 1.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.636 | 0.000 | -0.636 | 0.000 |
| predicted_SLG | 0.540 | 0.333 | 0.250 | Hitting_SLG | 0.498 | 0.000 | -0.165 | 0.333 |
| predicted_SO | 1.076 | 1.000 | 1.000 | Hitting_SO | 1.052 | 2.000 | -0.052 | -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.7090 -> 2.0000 (boost 1.2910, better) |
| Biggest Deboost | predicted_AB: 4.0200 -> 3.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 | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2520 -> 0.2632 (boost 0.0112, better) | predicted_BB: 0.7090 -> 0.6581 (deboost -0.0509, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 4 | 1 | 4 | 1 | predicted_R: 0.7581 -> 0.8206 (boost 0.0625, better) | predicted_SLG: 0.5124 -> 0.4858 (deboost -0.0266, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_BB: 0.6726 -> 1.0000 (boost 0.3274, better) | predicted_HR: 0.2144 -> 0.0000 (deboost -0.2144, worse) | AB rounded to 4 (raw=4.02), rates preserved: AVG=0.275 HR/AB=0.053 |
| 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 | 1 | 0 | 1 | 0 | predicted_R: 0.8206 -> 1.0000 (boost 0.1794, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3788 -> 0.4000 (boost 0.0212, better) | predicted_SLG: 0.4858 -> 0.2500 (deboost -0.2358, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4858 (boost 0.2358, better) | predicted_OBP: 0.4000 -> 0.3788 (deboost -0.0212, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.19,
"predicted_3B": 0.025,
"predicted_AB": 4.02,
"predicted_AVG": 0.252,
"predicted_BB": 0.709,
"predicted_H": 1.01,
"predicted_HR": 0.2,
"predicted_OBP": 0.348,
"predicted_R": 0.759,
"predicted_RBI": 0.61,
"predicted_SLG": 0.54,
"predicted_SO": 1.076
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0211,
"predicted_AB": 4.0183,
"predicted_AVG": 0.2632,
"predicted_BB": 0.6581,
"predicted_H": 1.0558,
"predicted_HBP": 0.039,
"predicted_HR": 0.2051,
"predicted_OBP": 0.3576,
"predicted_R": 0.7581,
"predicted_RBI": 0.6327,
"predicted_SLG": 0.5124,
"predicted_SO": 1.0811
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.1622,
"delta": -0.0278,
"percent_delta": -0.1463,
"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": 4.02,
"after": 4.0183,
"delta": -0.0017,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2632,
"delta": 0.0112,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.709,
"after": 0.6581,
"delta": -0.0509,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0558,
"delta": 0.0458,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2051,
"delta": 0.0051,
"percent_delta": 0.0255,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3576,
"delta": 0.0096,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.759,
"after": 0.7581,
"delta": -0.0009,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6327,
"delta": 0.0227,
"percent_delta": 0.0372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.54,
"after": 0.5124,
"delta": -0.0276,
"percent_delta": -0.0511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.076,
"after": 1.0811,
"delta": 0.0051,
"percent_delta": 0.0047,
"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_AVG",
"before": 0.252,
"after": 0.2632,
"delta": 0.0112,
"percent_delta": 0.0444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.709,
"after": 0.6581,
"delta": -0.0509,
"percent_delta": -0.0718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 79
}
},
{
"index": 3,
"step": "team_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.0211,
"predicted_AB": 4.0183,
"predicted_AVG": 0.2748,
"predicted_BB": 0.6726,
"predicted_H": 1.1044,
"predicted_HBP": 0.039,
"predicted_HR": 0.2144,
"predicted_OBP": 0.3788,
"predicted_R": 0.8206,
"predicted_RBI": 0.6848,
"predicted_SLG": 0.4858,
"predicted_SO": 1.0572
},
"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.0211,
"after": 0.0211,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0183,
"after": 4.0183,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2632,
"after": 0.2748,
"delta": 0.0116,
"percent_delta": 0.0441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6581,
"after": 0.6726,
"delta": 0.0145,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0558,
"after": 1.1044,
"delta": 0.0486,
"percent_delta": 0.046,
"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.2051,
"after": 0.2144,
"delta": 0.0093,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3576,
"after": 0.3788,
"delta": 0.0212,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7581,
"after": 0.8206,
"delta": 0.0625,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6327,
"after": 0.6848,
"delta": 0.0521,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5124,
"after": 0.4858,
"delta": -0.0266,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0811,
"after": 1.0572,
"delta": -0.0239,
"percent_delta": -0.0221,
"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.7581,
"after": 0.8206,
"delta": 0.0625,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5124,
"after": 0.4858,
"delta": -0.0266,
"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.02), rates preserved: AVG=0.275 HR/AB=0.053",
"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.1622,
"after": 0.0,
"delta": -0.1622,
"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": 4.0183,
"after": 4.0,
"delta": -0.0183,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6726,
"after": 1.0,
"delta": 0.3274,
"percent_delta": 0.4868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1044,
"after": 1.0,
"delta": -0.1044,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2144,
"after": 0.0,
"delta": -0.2144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6848,
"after": 1.0,
"delta": 0.3152,
"percent_delta": 0.4603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0572,
"after": 1.0,
"delta": -0.0572,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.6726,
"after": 1.0,
"delta": 0.3274,
"percent_delta": 0.4868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2144,
"after": 0.0,
"delta": -0.2144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.8206,
"after": 1.0,
"delta": 0.1794,
"percent_delta": 0.2186,
"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.8206,
"after": 1.0,
"delta": 0.1794,
"percent_delta": 0.2186,
"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.2748,
"after": 0.25,
"delta": -0.0248,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3788,
"after": 0.4,
"delta": 0.0212,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4858,
"after": 0.25,
"delta": -0.2358,
"percent_delta": -0.4854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3788,
"after": 0.4,
"delta": 0.0212,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4858,
"after": 0.25,
"delta": -0.2358,
"percent_delta": -0.4854,
"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": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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_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": 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.2748,
"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.3788,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4858,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2748,
"delta": 0.0248,
"percent_delta": 0.0993,
"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.4,
"after": 0.3788,
"delta": -0.0212,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4858,
"delta": 0.2358,
"percent_delta": 0.9431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4858,
"delta": 0.2358,
"percent_delta": 0.9431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3788,
"delta": -0.0212,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "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.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 3.0,
"delta": -1.02,
"percent_delta": -0.2537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2748,
"delta": 0.0228,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.709,
"after": 2.0,
"delta": 1.291,
"percent_delta": 1.8209,
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3788,
"delta": 0.0308,
"percent_delta": 0.0885,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.759,
"after": 1.0,
"delta": 0.241,
"percent_delta": 0.3175,
"direction": "boost",
"projection_effect": "better",
"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.54,
"after": 0.4858,
"delta": -0.0542,
"percent_delta": -0.1004,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.076,
"after": 1.0,
"delta": -0.076,
"percent_delta": -0.0706,
"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.709,
"after": 2.0,
"delta": 1.291,
"percent_delta": 1.8209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.02,
"after": 3.0,
"delta": -1.02,
"percent_delta": -0.2537,
"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.190 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 4.020 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.709 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 0.759 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.540 | - |
| predicted_SO | 1.076 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.028 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 4.018 | -0.002 |
| predicted_AVG | 0.263 | 0.011 |
| predicted_BB | 0.658 | -0.051 |
| predicted_H | 1.056 | 0.046 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.205 | 0.005 |
| predicted_OBP | 0.358 | 0.010 |
| predicted_R | 0.758 | -0.001 |
| predicted_RBI | 0.633 | 0.023 |
| predicted_SLG | 0.512 | -0.028 |
| predicted_SO | 1.081 | 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.021 | 0.000 |
| predicted_AB | 4.018 | 0.000 |
| predicted_AVG | 0.275 | 0.012 |
| predicted_BB | 0.673 | 0.014 |
| predicted_H | 1.104 | 0.049 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.214 | 0.009 |
| predicted_OBP | 0.379 | 0.021 |
| predicted_R | 0.821 | 0.062 |
| predicted_RBI | 0.685 | 0.052 |
| predicted_SLG | 0.486 | -0.027 |
| predicted_SO | 1.057 | -0.024 |
AB rounded to 4 (raw=4.02), rates preserved: AVG=0.275 HR/AB=0.053
| 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.200)
| 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.162 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | -0.018 |
| predicted_AVG | 0.250 | -0.025 |
| predicted_BB | 1.000 | 0.327 |
| predicted_H | 1.000 | -0.104 |
| predicted_HR | 0.000 | -0.214 |
| predicted_OBP | 0.400 | 0.021 |
| predicted_R | 1.000 | 0.179 |
| predicted_RBI | 1.000 | 0.315 |
| predicted_SLG | 0.250 | -0.236 |
| 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 | 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 | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 6.000 | 0.2609 | 0.3200 | 0.3913 | 0.2609 | 0.0435 | 0.1739 | 0.0870 | 0.2609 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 0.000 | 0.000 | 2.000 | 7.000 | 8.000 | 5.000 | 11.000 | 0.2683 | 0.3404 | 0.4146 | 0.2683 | 0.0488 | 0.1707 | 0.1220 | 0.2683 |
| season | 0.60 | 79 | - | 302.000 | 88.000 | 15.000 | 2.000 | 18.000 | 50.000 | 60.000 | 56.000 | 85.000 | 0.2914 | 0.4060 | 0.5331 | 0.2914 | 0.0596 | 0.1656 | 0.1854 | 0.2815 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0160 |
| predicted_AB | 4.0160 |
| predicted_AVG | 0.2782 |
| predicted_BB | 0.5900 |
| predicted_H | 1.1170 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.2120 |
| predicted_OBP | 0.3704 |
| predicted_R | 0.7570 |
| predicted_RBI | 0.6630 |
| predicted_SLG | 0.4755 |
| predicted_SO | 1.0880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.1250 | 0.1622 | model_form_blend |
| predicted_3B | 0.0250 | 0.0160 | 0.0211 | model_form_blend |
| predicted_AB | 4.0200 | 4.0160 | 4.0183 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2782 | 0.2632 | model_form_blend |
| predicted_BB | 0.7090 | 0.5900 | 0.6581 | model_form_blend |
| predicted_H | 1.0100 | 1.1170 | 1.0558 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.2000 | 0.2120 | 0.2051 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3704 | 0.3576 | model_form_blend |
| predicted_R | 0.7590 | 0.7570 | 0.7581 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6630 | 0.6327 | model_form_blend |
| predicted_SLG | 0.5400 | 0.4755 | 0.5124 | model_form_blend |
| predicted_SO | 1.0760 | 1.0880 | 1.0811 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 2 |
| 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 | 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 | DH |
| gameID | 20260701_LAD@OAK |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-01 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.399 |
| sl_xwoba | 0.412 |
| sl_xba | 0.292 |
| sl_xslg | 0.563 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 16.4 |
| sl_hard_hit_percent | 53.4 |
| sl_exit_velocity_avg | 93.6 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 28.6 |
| 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.233 | 0.000 | 0.000 | Hitting_2B | 0.234 | 1.000 | -0.234 | -1.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.290 | 4.000 | 4.000 | Hitting_AB | 3.863 | 4.000 | 0.137 | 0.000 |
| predicted_AVG | 0.247 | 0.750 | 0.250 | Hitting_AVG | 0.303 | 0.250 | 0.447 | 0.500 |
| predicted_BB | 0.302 | 1.000 | 0.000 | Hitting_BB | 0.297 | 0.000 | 0.703 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_H | 1.060 | 3.000 | 1.000 | Hitting_H | 1.172 | 1.000 | 1.828 | 2.000 |
| predicted_HR | 0.160 | 1.000 | 0.000 | Hitting_HR | 0.238 | 0.000 | 0.762 | 1.000 |
| predicted_OBP | 0.341 | 0.800 | 0.250 | Hitting_OBP | 0.355 | 0.250 | 0.445 | 0.550 |
| predicted_R | 0.605 | 1.000 | 1.000 | Hitting_R | 0.680 | 0.000 | 0.320 | 1.000 |
| predicted_RBI | 0.540 | 3.000 | 1.000 | Hitting_RBI | 0.902 | 0.000 | 2.098 | 3.000 |
| predicted_SLG | 0.528 | 1.500 | 0.250 | Hitting_SLG | 0.551 | 0.500 | 0.949 | 1.000 |
| predicted_SO | 0.860 | 0.000 | 1.000 | Hitting_SO | 0.809 | 2.000 | -0.809 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.5400 -> 3.0000 (boost 2.4600, better) |
| Biggest Deboost | predicted_SO: 0.8600 -> 0.0000 (deboost -0.8600, 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_R: 0.6050 -> 0.6692 (boost 0.0642, better) | predicted_AB: 4.2900 -> 4.1611 (deboost -0.1289, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 3 | 2 | 3 | 2 | predicted_R: 0.6692 -> 0.7243 (boost 0.0551, better) | predicted_SLG: 0.5089 -> 0.4629 (deboost -0.0460, 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.5928 -> 1.0000 (boost 0.4072, better) | predicted_BB: 0.3310 -> 0.0000 (deboost -0.3310, worse) | AB rounded to 4 (raw=4.29), rates preserved: AVG=0.266 HR/AB=0.040 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7243 -> 1.0000 (boost 0.2757, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4629 -> 0.2500 (deboost -0.2129, 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_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4629 (boost 0.2129, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.233,
"predicted_3B": 0.012,
"predicted_AB": 4.29,
"predicted_AVG": 0.247,
"predicted_BB": 0.302,
"predicted_H": 1.06,
"predicted_HR": 0.16,
"predicted_OBP": 0.341,
"predicted_R": 0.605,
"predicted_RBI": 0.54,
"predicted_SLG": 0.528,
"predicted_SO": 0.86
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0103,
"predicted_AB": 4.1611,
"predicted_AVG": 0.2631,
"predicted_BB": 0.3238,
"predicted_H": 1.0925,
"predicted_HBP": 0.16,
"predicted_HR": 0.1639,
"predicted_OBP": 0.3499,
"predicted_R": 0.6692,
"predicted_RBI": 0.5477,
"predicted_SLG": 0.5089,
"predicted_SO": 0.8891
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.2488,
"delta": 0.0158,
"percent_delta": 0.0678,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.1611,
"delta": -0.1289,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2631,
"delta": 0.0161,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.302,
"after": 0.3238,
"delta": 0.0218,
"percent_delta": 0.0722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.0925,
"delta": 0.0325,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1639,
"delta": 0.0039,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3499,
"delta": 0.0089,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.605,
"after": 0.6692,
"delta": 0.0642,
"percent_delta": 0.1061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5477,
"delta": 0.0077,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.528,
"after": 0.5089,
"delta": -0.0191,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.86,
"after": 0.8891,
"delta": 0.0291,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.605,
"after": 0.6692,
"delta": 0.0642,
"percent_delta": 0.1061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.29,
"after": 4.1611,
"delta": -0.1289,
"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": 86
}
},
{
"index": 3,
"step": "team_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.0103,
"predicted_AB": 4.1611,
"predicted_AVG": 0.2746,
"predicted_BB": 0.331,
"predicted_H": 1.1428,
"predicted_HBP": 0.16,
"predicted_HR": 0.1713,
"predicted_OBP": 0.3281,
"predicted_R": 0.7243,
"predicted_RBI": 0.5928,
"predicted_SLG": 0.4629,
"predicted_SO": 0.8695
},
"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.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1611,
"after": 4.1611,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2631,
"after": 0.2746,
"delta": 0.0115,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3238,
"after": 0.331,
"delta": 0.0072,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0925,
"after": 1.1428,
"delta": 0.0503,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.16,
"after": 0.16,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1639,
"after": 0.1713,
"delta": 0.0074,
"percent_delta": 0.0451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3499,
"after": 0.3281,
"delta": -0.0218,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6692,
"after": 0.7243,
"delta": 0.0551,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5477,
"after": 0.5928,
"delta": 0.0451,
"percent_delta": 0.0823,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5089,
"after": 0.4629,
"delta": -0.046,
"percent_delta": -0.0904,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8891,
"after": 0.8695,
"delta": -0.0196,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6692,
"after": 0.7243,
"delta": 0.0551,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5089,
"after": 0.4629,
"delta": -0.046,
"percent_delta": -0.0904,
"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.266 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.2488,
"after": 0.0,
"delta": -0.2488,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1611,
"after": 4.0,
"delta": -0.1611,
"percent_delta": -0.0387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.331,
"after": 0.0,
"delta": -0.331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1428,
"after": 1.0,
"delta": -0.1428,
"percent_delta": -0.125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1713,
"after": 0.0,
"delta": -0.1713,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5928,
"after": 1.0,
"delta": 0.4072,
"percent_delta": 0.6869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8695,
"after": 1.0,
"delta": 0.1305,
"percent_delta": 0.1501,
"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.5928,
"after": 1.0,
"delta": 0.4072,
"percent_delta": 0.6869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.331,
"after": 0.0,
"delta": -0.331,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 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.7243,
"after": 1.0,
"delta": 0.2757,
"percent_delta": 0.3806,
"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.7243,
"after": 1.0,
"delta": 0.2757,
"percent_delta": 0.3806,
"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.2746,
"after": 0.25,
"delta": -0.0246,
"percent_delta": -0.0896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3281,
"after": 0.25,
"delta": -0.0781,
"percent_delta": -0.238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4629,
"after": 0.25,
"delta": -0.2129,
"percent_delta": -0.4599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4629,
"after": 0.25,
"delta": -0.2129,
"percent_delta": -0.4599,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"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": {
"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.2746,
"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.3281,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4629,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2746,
"delta": 0.0246,
"percent_delta": 0.0985,
"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.3281,
"delta": 0.0781,
"percent_delta": 0.3123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4629,
"delta": 0.2129,
"percent_delta": 0.8516,
"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.4629,
"delta": 0.2129,
"percent_delta": 0.8516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.0,
"delta": -0.29,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2746,
"delta": 0.0276,
"percent_delta": 0.1117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.302,
"after": 1.0,
"delta": 0.698,
"percent_delta": 2.3113,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 3.0,
"delta": 1.94,
"percent_delta": 1.8302,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.341,
"after": 0.3281,
"delta": -0.0129,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.605,
"after": 1.0,
"delta": 0.395,
"percent_delta": 0.6529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 3.0,
"delta": 2.46,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.528,
"after": 0.4629,
"delta": -0.0651,
"percent_delta": -0.1233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"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.54,
"after": 3.0,
"delta": 2.46,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"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.233 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.302 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.605 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.528 | - |
| predicted_SO | 0.860 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.016 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.161 | -0.129 |
| predicted_AVG | 0.263 | 0.016 |
| predicted_BB | 0.324 | 0.022 |
| predicted_H | 1.093 | 0.032 |
| predicted_HBP | 0.160 | - |
| predicted_HR | 0.164 | 0.004 |
| predicted_OBP | 0.350 | 0.009 |
| predicted_R | 0.669 | 0.064 |
| predicted_RBI | 0.548 | 0.008 |
| predicted_SLG | 0.509 | -0.019 |
| predicted_SO | 0.889 | 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.249 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.161 | 0.000 |
| predicted_AVG | 0.275 | 0.012 |
| predicted_BB | 0.331 | 0.007 |
| predicted_H | 1.143 | 0.050 |
| predicted_HBP | 0.160 | 0.000 |
| predicted_HR | 0.171 | 0.007 |
| predicted_OBP | 0.328 | -0.022 |
| predicted_R | 0.724 | 0.055 |
| predicted_RBI | 0.593 | 0.045 |
| predicted_SLG | 0.463 | -0.046 |
| predicted_SO | 0.870 | -0.020 |
AB rounded to 4 (raw=4.29), 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 | 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=10.0, weight=0.100, BvP AVG=0.400)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.249 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.161 |
| predicted_AVG | 0.250 | -0.025 |
| predicted_BB | 0.000 | -0.331 |
| predicted_H | 1.000 | -0.143 |
| predicted_HR | 0.000 | -0.171 |
| predicted_OBP | 0.250 | -0.078 |
| predicted_R | 1.000 | 0.276 |
| predicted_RBI | 1.000 | 0.407 |
| predicted_SLG | 0.250 | -0.213 |
| predicted_SO | 1.000 | 0.130 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 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 | - | 21.000 | 7.000 | 2.000 | 0.000 | 1.000 | 2.000 | 6.000 | 2.000 | 5.000 | 0.3333 | 0.4400 | 0.5714 | 0.3333 | 0.0476 | 0.0952 | 0.0952 | 0.2381 |
| last_10 | 0.20 | 10 | - | 41.000 | 12.000 | 3.000 | 0.000 | 1.000 | 3.000 | 9.000 | 5.000 | 11.000 | 0.2927 | 0.4082 | 0.4390 | 0.2927 | 0.0244 | 0.0732 | 0.1220 | 0.2683 |
| season | 0.60 | 86 | - | 336.000 | 91.000 | 20.000 | 1.000 | 16.000 | 60.000 | 52.000 | 26.000 | 74.000 | 0.2708 | 0.3280 | 0.4792 | 0.2708 | 0.0476 | 0.1786 | 0.0774 | 0.2202 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2700 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.9890 |
| predicted_AVG | 0.2847 |
| predicted_BB | 0.3530 |
| predicted_H | 1.1360 |
| predicted_HBP | 0.1600 |
| predicted_HR | 0.1690 |
| predicted_OBP | 0.3619 |
| predicted_R | 0.7550 |
| predicted_RBI | 0.5580 |
| predicted_SLG | 0.4835 |
| predicted_SO | 0.9280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2330 | 0.2700 | 0.2488 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.2900 | 3.9890 | 4.1611 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2847 | 0.2631 | model_form_blend |
| predicted_BB | 0.3020 | 0.3530 | 0.3238 | model_form_blend |
| predicted_H | 1.0600 | 1.1360 | 1.0925 | model_form_blend |
| predicted_HBP | - | 0.1600 | 0.1600 | form_only |
| predicted_HR | 0.1600 | 0.1690 | 0.1639 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3619 | 0.3499 | model_form_blend |
| predicted_R | 0.6050 | 0.7550 | 0.6692 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5580 | 0.5477 | model_form_blend |
| predicted_SLG | 0.5280 | 0.4835 | 0.5089 | model_form_blend |
| predicted_SO | 0.8600 | 0.9280 | 0.8891 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 86 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| 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 | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260701_LAD@OAK |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.348 |
| sl_xwoba | 0.342 |
| sl_xba | 0.271 |
| sl_xslg | 0.458 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 44.9 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 49.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.262 | 1.000 | 0.000 | Hitting_2B | 0.264 | 0.000 | 0.736 | 1.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.060 | 4.000 | 4.000 | Hitting_AB | 3.767 | 2.000 | 0.233 | 2.000 |
| predicted_AVG | 0.274 | 0.250 | 0.250 | Hitting_AVG | 0.278 | 0.500 | -0.028 | -0.250 |
| predicted_BB | 0.536 | 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.110 | 1.000 | 1.000 | Hitting_H | 1.047 | 1.000 | -0.047 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.143 | 1.000 | -0.143 | -1.000 |
| predicted_OBP | 0.388 | 0.250 | 0.400 | Hitting_OBP | 0.376 | 0.667 | -0.126 | -0.417 |
| predicted_R | 0.595 | 1.000 | 1.000 | Hitting_R | 0.566 | 1.000 | 0.434 | 0.000 |
| predicted_RBI | 0.610 | 2.000 | 1.000 | Hitting_RBI | 0.543 | 1.000 | 1.457 | 1.000 |
| predicted_SLG | 0.589 | 0.500 | 0.250 | Hitting_SLG | 0.470 | 2.000 | 0.030 | -1.500 |
| predicted_SO | 0.702 | 2.000 | 1.000 | Hitting_SO | 0.733 | 0.000 | 1.267 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.6100 -> 2.0000 (boost 1.3900, better) |
| Biggest Deboost | predicted_BB: 0.5360 -> 0.0000 (deboost -0.5360, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_H: 1.1100 -> 1.1896 (boost 0.0796, better) | predicted_AB: 4.0600 -> 3.9316 (deboost -0.1284, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.1896 -> 1.2443 (boost 0.0547, better) | predicted_SLG: 0.5836 -> 0.5379 (deboost -0.0457, 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.5496 -> 1.0000 (boost 0.4504, better) | predicted_2B: 0.2894 -> 0.0000 (deboost -0.2894, worse) | AB rounded to 4 (raw=4.06), rates preserved: AVG=0.306 HR/AB=0.046 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.556) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6932 -> 1.0000 (boost 0.3068, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5379 -> 0.2500 (deboost -0.2879, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 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 |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.5379 (boost 0.2879, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.262,
"predicted_3B": 0.012,
"predicted_AB": 4.06,
"predicted_AVG": 0.274,
"predicted_BB": 0.536,
"predicted_H": 1.11,
"predicted_HR": 0.18,
"predicted_OBP": 0.388,
"predicted_R": 0.595,
"predicted_RBI": 0.61,
"predicted_SLG": 0.589,
"predicted_SO": 0.702
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2894,
"predicted_3B": 0.0103,
"predicted_AB": 3.9316,
"predicted_AVG": 0.3043,
"predicted_BB": 0.5377,
"predicted_H": 1.1896,
"predicted_HBP": 0.022,
"predicted_HR": 0.1787,
"predicted_OBP": 0.4049,
"predicted_R": 0.6404,
"predicted_RBI": 0.616,
"predicted_SLG": 0.5836,
"predicted_SO": 0.6592
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.262,
"after": 0.2894,
"delta": 0.0274,
"percent_delta": 0.1046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 3.9316,
"delta": -0.1284,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.3043,
"delta": 0.0303,
"percent_delta": 0.1106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.536,
"after": 0.5377,
"delta": 0.0017,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.1896,
"delta": 0.0796,
"percent_delta": 0.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1787,
"delta": -0.0013,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.388,
"after": 0.4049,
"delta": 0.0169,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.6404,
"delta": 0.0454,
"percent_delta": 0.0763,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.616,
"delta": 0.006,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.589,
"after": 0.5836,
"delta": -0.0054,
"percent_delta": -0.0092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.702,
"after": 0.6592,
"delta": -0.0428,
"percent_delta": -0.061,
"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_H",
"before": 1.11,
"after": 1.1896,
"delta": 0.0796,
"percent_delta": 0.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.06,
"after": 3.9316,
"delta": -0.1284,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 84
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2894,
"predicted_3B": 0.0103,
"predicted_AB": 3.9316,
"predicted_AVG": 0.3165,
"predicted_BB": 0.5496,
"predicted_H": 1.2443,
"predicted_HBP": 0.022,
"predicted_HR": 0.1868,
"predicted_OBP": 0.4003,
"predicted_R": 0.6932,
"predicted_RBI": 0.6668,
"predicted_SLG": 0.5379,
"predicted_SO": 0.6446
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2894,
"after": 0.2894,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9316,
"after": 3.9316,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3043,
"after": 0.3165,
"delta": 0.0122,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5377,
"after": 0.5496,
"delta": 0.0119,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1896,
"after": 1.2443,
"delta": 0.0547,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.1787,
"after": 0.1868,
"delta": 0.0081,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4049,
"after": 0.4003,
"delta": -0.0046,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6404,
"after": 0.6932,
"delta": 0.0528,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.616,
"after": 0.6668,
"delta": 0.0508,
"percent_delta": 0.0825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5836,
"after": 0.5379,
"delta": -0.0457,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6592,
"after": 0.6446,
"delta": -0.0146,
"percent_delta": -0.0221,
"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.1896,
"after": 1.2443,
"delta": 0.0547,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5836,
"after": 0.5379,
"delta": -0.0457,
"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.06), rates preserved: AVG=0.306 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2894,
"after": 0.0,
"delta": -0.2894,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9316,
"after": 4.0,
"delta": 0.0684,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5496,
"after": 1.0,
"delta": 0.4504,
"percent_delta": 0.8195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2443,
"after": 1.0,
"delta": -0.2443,
"percent_delta": -0.1963,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1868,
"after": 0.0,
"delta": -0.1868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6668,
"after": 1.0,
"delta": 0.3332,
"percent_delta": 0.4997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6446,
"after": 1.0,
"delta": 0.3554,
"percent_delta": 0.5513,
"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.5496,
"after": 1.0,
"delta": 0.4504,
"percent_delta": 0.8195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2894,
"after": 0.0,
"delta": -0.2894,
"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.556)",
"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.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": 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.6932,
"after": 1.0,
"delta": 0.3068,
"percent_delta": 0.4426,
"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.6932,
"after": 1.0,
"delta": 0.3068,
"percent_delta": 0.4426,
"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.3165,
"after": 0.25,
"delta": -0.0665,
"percent_delta": -0.2101,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4003,
"after": 0.4,
"delta": -0.0003,
"percent_delta": -0.0007,
"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.5379,
"after": 0.25,
"delta": -0.2879,
"percent_delta": -0.5352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.5379,
"after": 0.25,
"delta": -0.2879,
"percent_delta": -0.5352,
"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": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.3165,
"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.4003,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5379,
"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.3165,
"delta": 0.0665,
"percent_delta": 0.266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.4003,
"delta": 0.0003,
"percent_delta": 0.0008,
"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.5379,
"delta": 0.2879,
"percent_delta": 1.1516,
"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.5379,
"delta": 0.2879,
"percent_delta": 1.1516,
"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.262,
"after": 1.0,
"delta": 0.738,
"percent_delta": 2.8168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 4.0,
"delta": -0.06,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.3165,
"delta": 0.0425,
"percent_delta": 0.1551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.536,
"after": 0.0,
"delta": -0.536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.11,
"after": 1.0,
"delta": -0.11,
"percent_delta": -0.0991,
"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.388,
"after": 0.4003,
"delta": 0.0123,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 2.0,
"delta": 1.39,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.589,
"after": 0.5379,
"delta": -0.0511,
"percent_delta": -0.0868,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.702,
"after": 2.0,
"delta": 1.298,
"percent_delta": 1.849,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.61,
"after": 2.0,
"delta": 1.39,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.536,
"after": 0.0,
"delta": -0.536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.262 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.536 | - |
| predicted_H | 1.110 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.388 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.589 | - |
| predicted_SO | 0.702 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.289 | 0.027 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.932 | -0.128 |
| predicted_AVG | 0.304 | 0.030 |
| predicted_BB | 0.538 | 0.002 |
| predicted_H | 1.190 | 0.080 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.179 | -0.001 |
| predicted_OBP | 0.405 | 0.017 |
| predicted_R | 0.640 | 0.045 |
| predicted_RBI | 0.616 | 0.006 |
| predicted_SLG | 0.584 | -0.005 |
| predicted_SO | 0.659 | -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.289 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.932 | 0.000 |
| predicted_AVG | 0.317 | 0.012 |
| predicted_BB | 0.550 | 0.012 |
| predicted_H | 1.244 | 0.055 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.187 | 0.008 |
| predicted_OBP | 0.400 | -0.005 |
| predicted_R | 0.693 | 0.053 |
| predicted_RBI | 0.667 | 0.051 |
| predicted_SLG | 0.538 | -0.046 |
| predicted_SO | 0.645 | -0.015 |
AB rounded to 4 (raw=4.06), rates preserved: AVG=0.306 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.556)
| 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.289 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.068 |
| predicted_AVG | 0.250 | -0.067 |
| predicted_BB | 1.000 | 0.450 |
| predicted_H | 1.000 | -0.244 |
| predicted_HR | 0.000 | -0.187 |
| predicted_OBP | 0.400 | -0.000 |
| predicted_R | 1.000 | 0.307 |
| predicted_RBI | 1.000 | 0.333 |
| predicted_SLG | 0.250 | -0.288 |
| predicted_SO | 1.000 | 0.355 |
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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 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 | 8.000 | 2.000 | 0.000 | 1.000 | 4.000 | 5.000 | 3.000 | 1.000 | 0.4211 | 0.5000 | 0.6842 | 0.4210 | 0.0526 | 0.2105 | 0.1579 | 0.0526 |
| last_10 | 0.20 | 10 | - | 37.000 | 17.000 | 5.000 | 0.000 | 2.000 | 7.000 | 8.000 | 6.000 | 6.000 | 0.4595 | 0.5349 | 0.7568 | 0.4595 | 0.0541 | 0.1892 | 0.1622 | 0.1622 |
| season | 0.60 | 84 | - | 316.000 | 93.000 | 22.000 | 1.000 | 14.000 | 47.000 | 50.000 | 45.000 | 59.000 | 0.2943 | 0.3842 | 0.5032 | 0.2943 | 0.0443 | 0.1487 | 0.1424 | 0.1867 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3260 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.7600 |
| predicted_AVG | 0.3448 |
| predicted_BB | 0.5400 |
| predicted_H | 1.2960 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1770 |
| predicted_OBP | 0.4275 |
| predicted_R | 0.7010 |
| predicted_RBI | 0.6240 |
| predicted_SLG | 0.5764 |
| predicted_SO | 0.6020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2620 | 0.3260 | 0.2894 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.0600 | 3.7600 | 3.9316 | model_form_blend |
| predicted_AVG | 0.2740 | 0.3448 | 0.3043 | model_form_blend |
| predicted_BB | 0.5360 | 0.5400 | 0.5377 | model_form_blend |
| predicted_H | 1.1100 | 1.2960 | 1.1896 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1800 | 0.1770 | 0.1787 | model_form_blend |
| predicted_OBP | 0.3880 | 0.4275 | 0.4049 | model_form_blend |
| predicted_R | 0.5950 | 0.7010 | 0.6404 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6240 | 0.6160 | model_form_blend |
| predicted_SLG | 0.5890 | 0.5764 | 0.5836 | model_form_blend |
| predicted_SO | 0.7020 | 0.6020 | 0.6592 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 84 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.294 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 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 | 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 | 20260701_LAD@OAK |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-01 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.385 |
| sl_xwoba | 0.393 |
| sl_xba | 0.297 |
| sl_xslg | 0.519 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 46.2 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 49.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.152 | 0.000 | 0.000 | Hitting_2B | 0.117 | 1.000 | -0.117 | -1.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 3.360 | 3.000 | 3.000 | Hitting_AB | 3.505 | 4.000 | -0.505 | -1.000 |
| predicted_AVG | 0.251 | 0.000 | 0.333 | Hitting_AVG | 0.265 | 0.250 | -0.265 | -0.250 |
| predicted_BB | 0.456 | 1.000 | 0.000 | Hitting_BB | 0.518 | 0.000 | 0.482 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.928 | 1.000 | -0.928 | -1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.257 | 0.000 | -0.257 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.333 | Hitting_OBP | 0.364 | 0.250 | -0.114 | 0.000 |
| predicted_R | 0.646 | 1.000 | 1.000 | Hitting_R | 0.766 | 0.000 | 0.234 | 1.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.441 | 0.000 | -0.441 | 0.000 |
| predicted_SLG | 0.545 | 0.000 | 0.333 | Hitting_SLG | 0.521 | 0.500 | -0.521 | -0.500 |
| predicted_SO | 0.886 | 1.000 | 1.000 | Hitting_SO | 1.032 | 0.000 | -0.032 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.4560 -> 1.0000 (boost 0.5440, better) |
| 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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.3600 -> 3.4557 (boost 0.0957, better) | predicted_SLG: 0.5450 -> 0.5269 (deboost -0.0181, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 3 | 1 | 3 | 1 | predicted_R: 0.6350 -> 0.6873 (boost 0.0523, better) | predicted_SLG: 0.5269 -> 0.4892 (deboost -0.0377, 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.8283 -> 1.0000 (boost 0.1717, worse) | predicted_RBI: 0.5443 -> 0.0000 (deboost -0.5443, worse) | AB rounded to 3 (raw=3.46), rates preserved: AVG=0.266 HR/AB=0.052 |
| 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.6873 -> 1.0000 (boost 0.3127, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2663 -> 0.3330 (boost 0.0667, better) | predicted_SLG: 0.4892 -> 0.3330 (deboost -0.1562, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4892 (boost 0.1562, better) | predicted_AVG: 0.3330 -> 0.2663 (deboost -0.0667, 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.152,
"predicted_3B": 0.013,
"predicted_AB": 3.36,
"predicted_AVG": 0.251,
"predicted_BB": 0.456,
"predicted_H": 0.84,
"predicted_HR": 0.16,
"predicted_OBP": 0.317,
"predicted_R": 0.646,
"predicted_RBI": 0.48,
"predicted_SLG": 0.545,
"predicted_SO": 0.886
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0325,
"predicted_AB": 3.4557,
"predicted_AVG": 0.255,
"predicted_BB": 0.4069,
"predicted_H": 0.8798,
"predicted_HBP": 0.025,
"predicted_HR": 0.1714,
"predicted_OBP": 0.3214,
"predicted_R": 0.635,
"predicted_RBI": 0.5029,
"predicted_SLG": 0.5269,
"predicted_SO": 0.847
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1677,
"delta": 0.0157,
"percent_delta": 0.1033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0325,
"delta": 0.0195,
"percent_delta": 1.5,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.36,
"after": 3.4557,
"delta": 0.0957,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.255,
"delta": 0.004,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.456,
"after": 0.4069,
"delta": -0.0491,
"percent_delta": -0.1077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8798,
"delta": 0.0398,
"percent_delta": 0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1714,
"delta": 0.0114,
"percent_delta": 0.0712,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3214,
"delta": 0.0044,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 0.635,
"delta": -0.011,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.5029,
"delta": 0.0229,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.545,
"after": 0.5269,
"delta": -0.0181,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.886,
"after": 0.847,
"delta": -0.039,
"percent_delta": -0.044,
"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.36,
"after": 3.4557,
"delta": 0.0957,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.545,
"after": 0.5269,
"delta": -0.0181,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 79
}
},
{
"index": 3,
"step": "team_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.0325,
"predicted_AB": 3.4557,
"predicted_AVG": 0.2663,
"predicted_BB": 0.4159,
"predicted_H": 0.9203,
"predicted_HBP": 0.025,
"predicted_HR": 0.1792,
"predicted_OBP": 0.3451,
"predicted_R": 0.6873,
"predicted_RBI": 0.5443,
"predicted_SLG": 0.4892,
"predicted_SO": 0.8283
},
"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.0325,
"after": 0.0325,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4557,
"after": 3.4557,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2663,
"delta": 0.0113,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4069,
"after": 0.4159,
"delta": 0.009,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8798,
"after": 0.9203,
"delta": 0.0405,
"percent_delta": 0.046,
"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.1714,
"after": 0.1792,
"delta": 0.0078,
"percent_delta": 0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3214,
"after": 0.3451,
"delta": 0.0237,
"percent_delta": 0.0737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.635,
"after": 0.6873,
"delta": 0.0523,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5029,
"after": 0.5443,
"delta": 0.0414,
"percent_delta": 0.0823,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5269,
"after": 0.4892,
"delta": -0.0377,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.847,
"after": 0.8283,
"delta": -0.0187,
"percent_delta": -0.0221,
"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.635,
"after": 0.6873,
"delta": 0.0523,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5269,
"after": 0.4892,
"delta": -0.0377,
"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 3 (raw=3.46), rates preserved: AVG=0.266 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": 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.0325,
"after": 0.0,
"delta": -0.0325,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4557,
"after": 3.0,
"delta": -0.4557,
"percent_delta": -0.1319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4159,
"after": 0.0,
"delta": -0.4159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9203,
"after": 1.0,
"delta": 0.0797,
"percent_delta": 0.0866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1792,
"after": 0.0,
"delta": -0.1792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5443,
"after": 0.0,
"delta": -0.5443,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8283,
"after": 1.0,
"delta": 0.1717,
"percent_delta": 0.2073,
"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.8283,
"after": 1.0,
"delta": 0.1717,
"percent_delta": 0.2073,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5443,
"after": 0.0,
"delta": -0.5443,
"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": 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.6873,
"after": 1.0,
"delta": 0.3127,
"percent_delta": 0.455,
"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.6873,
"after": 1.0,
"delta": 0.3127,
"percent_delta": 0.455,
"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": 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.2663,
"after": 0.333,
"delta": 0.0667,
"percent_delta": 0.2505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3451,
"after": 0.333,
"delta": -0.0121,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4892,
"after": 0.333,
"delta": -0.1562,
"percent_delta": -0.3193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2663,
"after": 0.333,
"delta": 0.0667,
"percent_delta": 0.2505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4892,
"after": 0.333,
"delta": -0.1562,
"percent_delta": -0.3193,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 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": 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.2663,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3451,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4892,
"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.2663,
"delta": -0.0667,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3451,
"delta": 0.0121,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4892,
"delta": 0.1562,
"percent_delta": 0.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4892,
"delta": 0.1562,
"percent_delta": 0.4691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2663,
"delta": -0.0667,
"percent_delta": -0.2003,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.36,
"after": 3.0,
"delta": -0.36,
"percent_delta": -0.1071,
"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.456,
"after": 1.0,
"delta": 0.544,
"percent_delta": 1.193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3451,
"delta": 0.0281,
"percent_delta": 0.0886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.545,
"after": 0.4892,
"delta": -0.0558,
"percent_delta": -0.1024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.886,
"after": 1.0,
"delta": 0.114,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.456,
"after": 1.0,
"delta": 0.544,
"percent_delta": 1.193,
"direction": "boost",
"projection_effect": "better",
"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.152 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.360 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.456 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.646 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.545 | - |
| predicted_SO | 0.886 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.016 |
| predicted_3B | 0.033 | 0.020 |
| predicted_AB | 3.456 | 0.096 |
| predicted_AVG | 0.255 | 0.004 |
| predicted_BB | 0.407 | -0.049 |
| predicted_H | 0.880 | 0.040 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.171 | 0.011 |
| predicted_OBP | 0.321 | 0.004 |
| predicted_R | 0.635 | -0.011 |
| predicted_RBI | 0.503 | 0.023 |
| predicted_SLG | 0.527 | -0.018 |
| predicted_SO | 0.847 | -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.168 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.456 | 0.000 |
| predicted_AVG | 0.266 | 0.011 |
| predicted_BB | 0.416 | 0.009 |
| predicted_H | 0.920 | 0.040 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.179 | 0.008 |
| predicted_OBP | 0.345 | 0.024 |
| predicted_R | 0.687 | 0.052 |
| predicted_RBI | 0.544 | 0.041 |
| predicted_SLG | 0.489 | -0.038 |
| predicted_SO | 0.828 | -0.019 |
AB rounded to 3 (raw=3.46), rates preserved: AVG=0.266 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 | 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 | 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.033 |
| predicted_AB | 3.000 | -0.456 |
| predicted_AVG | 0.333 | 0.067 |
| predicted_BB | 0.000 | -0.416 |
| predicted_H | 1.000 | 0.080 |
| predicted_HR | 0.000 | -0.179 |
| predicted_OBP | 0.333 | -0.012 |
| predicted_R | 1.000 | 0.313 |
| predicted_RBI | 0.000 | -0.544 |
| predicted_SLG | 0.333 | -0.156 |
| predicted_SO | 1.000 | 0.172 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | 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 | - | 20.000 | 5.000 | 1.000 | 1.000 | 1.000 | 3.000 | 4.000 | 1.000 | 2.000 | 0.2500 | 0.2857 | 0.5500 | 0.2500 | 0.0500 | 0.1500 | 0.0500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 3.000 | 1.000 | 1.000 | 7.000 | 4.000 | 1.000 | 8.000 | 0.2632 | 0.2821 | 0.4737 | 0.2632 | 0.0263 | 0.1842 | 0.0263 | 0.2105 |
| season | 0.60 | 79 | - | 264.000 | 70.000 | 12.000 | 1.000 | 17.000 | 37.000 | 51.000 | 36.000 | 70.000 | 0.2652 | 0.3597 | 0.5114 | 0.2651 | 0.0644 | 0.1401 | 0.1364 | 0.2651 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1890 |
| predicted_3B | 0.0590 |
| predicted_AB | 3.5860 |
| predicted_AVG | 0.2605 |
| predicted_BB | 0.3400 |
| predicted_H | 0.9340 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1870 |
| predicted_OBP | 0.3273 |
| predicted_R | 0.6200 |
| predicted_RBI | 0.5340 |
| predicted_SLG | 0.5023 |
| predicted_SO | 0.7940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.1890 | 0.1677 | model_form_blend |
| predicted_3B | 0.0130 | 0.0590 | 0.0325 | model_form_blend |
| predicted_AB | 3.3600 | 3.5860 | 3.4557 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2605 | 0.2550 | model_form_blend |
| predicted_BB | 0.4560 | 0.3400 | 0.4069 | model_form_blend |
| predicted_H | 0.8400 | 0.9340 | 0.8798 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1600 | 0.1870 | 0.1714 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3273 | 0.3214 | model_form_blend |
| predicted_R | 0.6460 | 0.6200 | 0.6350 | model_form_blend |
| predicted_RBI | 0.4800 | 0.5340 | 0.5029 | model_form_blend |
| predicted_SLG | 0.5450 | 0.5023 | 0.5269 | model_form_blend |
| predicted_SO | 0.8860 | 0.7940 | 0.8470 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.265 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260701_LAD@OAK |
| game_type | full |
| mlbID | 571970 |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-01 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 11.9 |
| sl_woba | 0.377 |
| sl_xwoba | 0.368 |
| sl_xba | 0.255 |
| sl_xslg | 0.502 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 14.4 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 27.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.151 | 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 | 3.566 | 4.000 | 4.000 | Hitting_AB | 3.685 | 3.000 | 0.315 | 1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.250 | Hitting_AVG | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_BB | 0.377 | 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.890 | 0.000 | 1.000 | Hitting_H | 1.034 | 0.000 | -1.034 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.323 | 0.000 | 0.250 | Hitting_OBP | 0.354 | 0.200 | -0.354 | -0.200 |
| predicted_R | 0.604 | 0.000 | 1.000 | Hitting_R | 0.621 | 1.000 | -0.621 | -1.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.680 | 1.000 | -0.680 | -1.000 |
| predicted_SLG | 0.486 | 0.000 | 0.250 | Hitting_SLG | 0.440 | 0.000 | -0.440 | 0.000 |
| predicted_SO | 1.113 | 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 | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.5660 -> 4.0000 (boost 0.4340, 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 | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2550 -> 0.2643 (boost 0.0093, better) | predicted_SLG: 0.4860 -> 0.4567 (deboost -0.0293, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 3 | 1 | 3 | 1 | predicted_R: 0.6222 -> 0.6735 (boost 0.0513, better) | predicted_SLG: 0.4567 -> 0.4240 (deboost -0.0327, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_AB: 3.5321 -> 4.0000 (boost 0.4679, better) | predicted_BB: 0.3680 -> 0.0000 (deboost -0.3680, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.270 HR/AB=0.037 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6735 -> 1.0000 (boost 0.3265, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4240 -> 0.2500 (deboost -0.1740, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 0 | 3 | - | predicted_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.4240 (boost 0.1740, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"position": "LF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.151,
"predicted_3B": 0.0,
"predicted_AB": 3.566,
"predicted_AVG": 0.255,
"predicted_BB": 0.377,
"predicted_H": 0.89,
"predicted_HR": 0.13,
"predicted_OBP": 0.323,
"predicted_R": 0.604,
"predicted_RBI": 0.52,
"predicted_SLG": 0.486,
"predicted_SO": 1.113
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1369,
"predicted_3B": 0.0008,
"predicted_AB": 3.5321,
"predicted_AVG": 0.2643,
"predicted_BB": 0.36,
"predicted_H": 0.9219,
"predicted_HBP": 0.023,
"predicted_HR": 0.1259,
"predicted_OBP": 0.3283,
"predicted_R": 0.6222,
"predicted_RBI": 0.5407,
"predicted_SLG": 0.4567,
"predicted_SO": 1.108
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.1369,
"delta": -0.0141,
"percent_delta": -0.0934,
"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.566,
"after": 3.5321,
"delta": -0.0339,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2643,
"delta": 0.0093,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.377,
"after": 0.36,
"delta": -0.017,
"percent_delta": -0.0451,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9219,
"delta": 0.0319,
"percent_delta": 0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1259,
"delta": -0.0041,
"percent_delta": -0.0315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3283,
"delta": 0.0053,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 0.6222,
"delta": 0.0182,
"percent_delta": 0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5407,
"delta": 0.0207,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4567,
"delta": -0.0293,
"percent_delta": -0.0603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.113,
"after": 1.108,
"delta": -0.005,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_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.255,
"after": 0.2643,
"delta": 0.0093,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.4567,
"delta": -0.0293,
"percent_delta": -0.0603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1369,
"predicted_3B": 0.0008,
"predicted_AB": 3.5321,
"predicted_AVG": 0.273,
"predicted_BB": 0.368,
"predicted_H": 0.9643,
"predicted_HBP": 0.023,
"predicted_HR": 0.1316,
"predicted_OBP": 0.3416,
"predicted_R": 0.6735,
"predicted_RBI": 0.5853,
"predicted_SLG": 0.424,
"predicted_SO": 1.0835
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1369,
"after": 0.1369,
"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.5321,
"after": 3.5321,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2643,
"after": 0.273,
"delta": 0.0087,
"percent_delta": 0.0329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.36,
"after": 0.368,
"delta": 0.008,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9219,
"after": 0.9643,
"delta": 0.0424,
"percent_delta": 0.046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1259,
"after": 0.1316,
"delta": 0.0057,
"percent_delta": 0.0453,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3283,
"after": 0.3416,
"delta": 0.0133,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6222,
"after": 0.6735,
"delta": 0.0513,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5407,
"after": 0.5853,
"delta": 0.0446,
"percent_delta": 0.0825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4567,
"after": 0.424,
"delta": -0.0327,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.108,
"after": 1.0835,
"delta": -0.0245,
"percent_delta": -0.0221,
"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.6222,
"after": 0.6735,
"delta": 0.0513,
"percent_delta": 0.0824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4567,
"after": 0.424,
"delta": -0.0327,
"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=3.57), rates preserved: AVG=0.270 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1369,
"after": 0.0,
"delta": -0.1369,
"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.5321,
"after": 4.0,
"delta": 0.4679,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9643,
"after": 1.0,
"delta": 0.0357,
"percent_delta": 0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1316,
"after": 0.0,
"delta": -0.1316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5853,
"after": 1.0,
"delta": 0.4147,
"percent_delta": 0.7085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0835,
"after": 1.0,
"delta": -0.0835,
"percent_delta": -0.0771,
"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.5321,
"after": 4.0,
"delta": 0.4679,
"percent_delta": 0.1325,
"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
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, 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.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.6735,
"after": 1.0,
"delta": 0.3265,
"percent_delta": 0.4848,
"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.6735,
"after": 1.0,
"delta": 0.3265,
"percent_delta": 0.4848,
"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.273,
"after": 0.25,
"delta": -0.023,
"percent_delta": -0.0842,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3416,
"after": 0.25,
"delta": -0.0916,
"percent_delta": -0.2681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.25,
"delta": -0.174,
"percent_delta": -0.4104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.424,
"after": 0.25,
"delta": -0.174,
"percent_delta": -0.4104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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.273,
"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.3416,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.424,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.273,
"delta": 0.023,
"percent_delta": 0.092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3416,
"delta": 0.0916,
"percent_delta": 0.3664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.424,
"delta": 0.174,
"percent_delta": 0.6961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.424,
"delta": 0.174,
"percent_delta": 0.6961,
"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.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.566,
"after": 4.0,
"delta": 0.434,
"percent_delta": 0.1217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.273,
"delta": 0.018,
"percent_delta": 0.0706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.377,
"after": 0.0,
"delta": -0.377,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3416,
"delta": 0.0186,
"percent_delta": 0.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 0.0,
"delta": -0.604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.424,
"delta": -0.062,
"percent_delta": -0.1276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.113,
"after": 1.0,
"delta": -0.113,
"percent_delta": -0.1015,
"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.566,
"after": 4.0,
"delta": 0.434,
"percent_delta": 0.1217,
"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.151 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.566 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.377 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.604 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.486 | - |
| predicted_SO | 1.113 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.532 | -0.034 |
| predicted_AVG | 0.264 | 0.009 |
| predicted_BB | 0.360 | -0.017 |
| predicted_H | 0.922 | 0.032 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.126 | -0.004 |
| predicted_OBP | 0.328 | 0.005 |
| predicted_R | 0.622 | 0.018 |
| predicted_RBI | 0.541 | 0.021 |
| predicted_SLG | 0.457 | -0.029 |
| predicted_SO | 1.108 | -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.137 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.532 | 0.000 |
| predicted_AVG | 0.273 | 0.009 |
| predicted_BB | 0.368 | 0.008 |
| predicted_H | 0.964 | 0.042 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.132 | 0.006 |
| predicted_OBP | 0.342 | 0.013 |
| predicted_R | 0.673 | 0.051 |
| predicted_RBI | 0.585 | 0.045 |
| predicted_SLG | 0.424 | -0.033 |
| predicted_SO | 1.083 | -0.025 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.270 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 | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, 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.137 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.468 |
| predicted_AVG | 0.250 | -0.023 |
| predicted_BB | 0.000 | -0.368 |
| predicted_H | 1.000 | 0.036 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.250 | -0.092 |
| predicted_R | 1.000 | 0.327 |
| predicted_RBI | 1.000 | 0.415 |
| predicted_SLG | 0.250 | -0.174 |
| 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 | 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 | - | 16.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 6.000 | 0.2500 | 0.2778 | 0.2500 | 0.2500 | 0.0000 | 0.0625 | 0.0625 | 0.3750 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 1.000 | 0.000 | 2.000 | 9.000 | 9.000 | 4.000 | 11.000 | 0.3333 | 0.3846 | 0.5455 | 0.3333 | 0.0606 | 0.2727 | 0.1212 | 0.3333 |
| season | 0.60 | 53 | - | 189.000 | 52.000 | 8.000 | 0.000 | 7.000 | 32.000 | 32.000 | 20.000 | 59.000 | 0.2751 | 0.3458 | 0.4286 | 0.2751 | 0.0370 | 0.1693 | 0.1058 | 0.3122 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1170 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4840 |
| predicted_AVG | 0.2775 |
| predicted_BB | 0.3360 |
| predicted_H | 0.9670 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.1200 |
| predicted_OBP | 0.3358 |
| predicted_R | 0.6480 |
| predicted_RBI | 0.5700 |
| predicted_SLG | 0.4153 |
| predicted_SO | 1.1010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.1170 | 0.1369 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.5660 | 3.4840 | 3.5321 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2775 | 0.2643 | model_form_blend |
| predicted_BB | 0.3770 | 0.3360 | 0.3600 | model_form_blend |
| predicted_H | 0.8900 | 0.9670 | 0.9219 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.1300 | 0.1200 | 0.1259 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3358 | 0.3283 | model_form_blend |
| predicted_R | 0.6040 | 0.6480 | 0.6222 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5700 | 0.5407 | model_form_blend |
| predicted_SLG | 0.4860 | 0.4153 | 0.4567 | model_form_blend |
| predicted_SO | 1.1130 | 1.1010 | 1.1080 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.275 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260630_LAD@OAK |
| game_type | full |
| mlbID | 606192 |
| playerID | 606192 |
| playerName | Teoscar Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-30 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.339 |
| sl_xwoba | 0.333 |
| sl_xba | 0.256 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 45.1 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 29.9 |
| 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.203 | 0.000 | 0.000 | Hitting_2B | 0.251 | 0.000 | -0.251 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 3.709 | 4.000 | 4.000 | Hitting_AB | 3.816 | 0.000 | 0.184 | 4.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.252 | - | -0.252 | - |
| predicted_BB | 0.519 | 0.000 | 1.000 | Hitting_BB | 0.561 | 4.000 | -0.561 | -4.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.961 | 0.000 | -0.961 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.321 | 0.000 | 0.400 | Hitting_OBP | 0.347 | 1.000 | -0.347 | -1.000 |
| predicted_R | 0.595 | 0.000 | 1.000 | Hitting_R | 0.714 | 0.000 | -0.714 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.537 | 0.000 | -0.537 | 0.000 |
| predicted_SLG | 0.461 | 0.000 | 0.250 | Hitting_SLG | 0.412 | - | -0.412 | - |
| predicted_SO | 0.911 | 2.000 | 1.000 | Hitting_SO | 0.843 | 0.000 | 1.157 | 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.9110 -> 2.0000 (boost 1.0890, worse) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.0000 (deboost -0.8900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4610 -> 0.4276 (deboost -0.0334, worse) | Final model input calibrated with local form: 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.3258 -> 0.3439 (boost 0.0181, better) | predicted_SLG: 0.4276 -> 0.4062 (deboost -0.0214, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.5035 -> 1.0000 (boost 0.4965, better) | predicted_2B: 0.1715 -> 0.0000 (deboost -0.1715, worse) | AB rounded to 4 (raw=3.74), rates preserved: AVG=0.256 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6247 -> 1.0000 (boost 0.3753, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3439 -> 0.4000 (boost 0.0561, better) | predicted_SLG: 0.4062 -> 0.2500 (deboost -0.1562, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 1 | 4 | 0 | 5 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_BB: 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.4062 (boost 0.1562, better) | predicted_OBP: 0.4000 -> 0.3439 (deboost -0.0561, 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.203,
"predicted_3B": 0.025,
"predicted_AB": 3.709,
"predicted_AVG": 0.241,
"predicted_BB": 0.519,
"predicted_H": 0.89,
"predicted_HR": 0.11,
"predicted_OBP": 0.321,
"predicted_R": 0.595,
"predicted_RBI": 0.52,
"predicted_SLG": 0.461,
"predicted_SO": 0.911
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1715,
"predicted_3B": 0.0207,
"predicted_AB": 3.7422,
"predicted_AVG": 0.245,
"predicted_BB": 0.4926,
"predicted_H": 0.9147,
"predicted_HBP": 0.017,
"predicted_HR": 0.1117,
"predicted_OBP": 0.3258,
"predicted_R": 0.5771,
"predicted_RBI": 0.5469,
"predicted_SLG": 0.4276,
"predicted_SO": 0.9604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1715,
"delta": -0.0315,
"percent_delta": -0.1552,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0207,
"delta": -0.0043,
"percent_delta": -0.172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.709,
"after": 3.7422,
"delta": 0.0332,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.245,
"delta": 0.004,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.519,
"after": 0.4926,
"delta": -0.0264,
"percent_delta": -0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9147,
"delta": 0.0247,
"percent_delta": 0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1117,
"delta": 0.0017,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3258,
"delta": 0.0048,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.5771,
"delta": -0.0179,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5469,
"delta": 0.0269,
"percent_delta": 0.0517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4276,
"delta": -0.0334,
"percent_delta": -0.0725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.911,
"after": 0.9604,
"delta": 0.0494,
"percent_delta": 0.0542,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.461,
"after": 0.4276,
"delta": -0.0334,
"percent_delta": -0.0725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1715,
"predicted_3B": 0.0207,
"predicted_AB": 3.7422,
"predicted_AVG": 0.2557,
"predicted_BB": 0.5035,
"predicted_H": 0.9568,
"predicted_HBP": 0.017,
"predicted_HR": 0.1168,
"predicted_OBP": 0.3439,
"predicted_R": 0.6247,
"predicted_RBI": 0.592,
"predicted_SLG": 0.4062,
"predicted_SO": 0.9392
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1715,
"after": 0.1715,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7422,
"after": 3.7422,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2557,
"delta": 0.0107,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4926,
"after": 0.5035,
"delta": 0.0109,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9147,
"after": 0.9568,
"delta": 0.0421,
"percent_delta": 0.046,
"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.1117,
"after": 0.1168,
"delta": 0.0051,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3258,
"after": 0.3439,
"delta": 0.0181,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5771,
"after": 0.6247,
"delta": 0.0476,
"percent_delta": 0.0825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5469,
"after": 0.592,
"delta": 0.0451,
"percent_delta": 0.0825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4276,
"after": 0.4062,
"delta": -0.0214,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9604,
"after": 0.9392,
"delta": -0.0212,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_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.3258,
"after": 0.3439,
"delta": 0.0181,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4276,
"after": 0.4062,
"delta": -0.0214,
"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 4 (raw=3.74), rates preserved: AVG=0.256 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1715,
"after": 0.0,
"delta": -0.1715,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0,
"delta": -0.0207,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7422,
"after": 4.0,
"delta": 0.2578,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5035,
"after": 1.0,
"delta": 0.4965,
"percent_delta": 0.9861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9568,
"after": 1.0,
"delta": 0.0432,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1168,
"after": 0.0,
"delta": -0.1168,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9392,
"after": 1.0,
"delta": 0.0608,
"percent_delta": 0.0647,
"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.5035,
"after": 1.0,
"delta": 0.4965,
"percent_delta": 0.9861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1715,
"after": 0.0,
"delta": -0.1715,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.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": 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.6247,
"after": 1.0,
"delta": 0.3753,
"percent_delta": 0.6008,
"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.6247,
"after": 1.0,
"delta": 0.3753,
"percent_delta": 0.6008,
"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.2557,
"after": 0.25,
"delta": -0.0057,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3439,
"after": 0.4,
"delta": 0.0561,
"percent_delta": 0.1631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4062,
"after": 0.25,
"delta": -0.1562,
"percent_delta": -0.3845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3439,
"after": 0.4,
"delta": 0.0561,
"percent_delta": 0.1631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4062,
"after": 0.25,
"delta": -0.1562,
"percent_delta": -0.3845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2557,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3439,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4062,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2557,
"delta": 0.0057,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3439,
"delta": -0.0561,
"percent_delta": -0.1401,
"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.4062,
"delta": 0.1562,
"percent_delta": 0.6247,
"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.4062,
"delta": 0.1562,
"percent_delta": 0.6247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3439,
"delta": -0.0561,
"percent_delta": -0.1401,
"direction": "deboost",
"projection_effect": "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.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.709,
"after": 4.0,
"delta": 0.291,
"percent_delta": 0.0785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2557,
"delta": 0.0147,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.519,
"after": 0.0,
"delta": -0.519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3439,
"delta": 0.0229,
"percent_delta": 0.0713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.0,
"delta": -0.595,
"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.461,
"after": 0.4062,
"delta": -0.0548,
"percent_delta": -0.1189,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.911,
"after": 2.0,
"delta": 1.089,
"percent_delta": 1.1954,
"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.911,
"after": 2.0,
"delta": 1.089,
"percent_delta": 1.1954,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.709 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.519 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.461 | - |
| predicted_SO | 0.911 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.032 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.742 | 0.033 |
| predicted_AVG | 0.245 | 0.004 |
| predicted_BB | 0.493 | -0.026 |
| predicted_H | 0.915 | 0.025 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.112 | 0.002 |
| predicted_OBP | 0.326 | 0.005 |
| predicted_R | 0.577 | -0.018 |
| predicted_RBI | 0.547 | 0.027 |
| predicted_SLG | 0.428 | -0.033 |
| predicted_SO | 0.960 | 0.049 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.742 | 0.000 |
| predicted_AVG | 0.256 | 0.011 |
| predicted_BB | 0.503 | 0.011 |
| predicted_H | 0.957 | 0.042 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.117 | 0.005 |
| predicted_OBP | 0.344 | 0.018 |
| predicted_R | 0.625 | 0.048 |
| predicted_RBI | 0.592 | 0.045 |
| predicted_SLG | 0.406 | -0.021 |
| predicted_SO | 0.939 | -0.021 |
AB rounded to 4 (raw=3.74), rates preserved: AVG=0.256 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.021 |
| predicted_AB | 4.000 | 0.258 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 1.000 | 0.497 |
| predicted_H | 1.000 | 0.043 |
| predicted_HR | 0.000 | -0.117 |
| predicted_OBP | 0.400 | 0.056 |
| predicted_R | 1.000 | 0.375 |
| predicted_RBI | 1.000 | 0.408 |
| predicted_SLG | 0.250 | -0.156 |
| predicted_SO | 1.000 | 0.061 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 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 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 2.000 | 7.000 | 0.3000 | 0.3636 | 0.4500 | 0.3000 | 0.0500 | 0.2000 | 0.1000 | 0.3500 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 0.000 | 0.000 | 1.000 | 5.000 | 4.000 | 4.000 | 11.000 | 0.2368 | 0.3095 | 0.3158 | 0.2368 | 0.0263 | 0.1316 | 0.1053 | 0.2895 |
| season | 0.60 | 79 | - | 293.000 | 70.000 | 16.000 | 2.000 | 7.000 | 44.000 | 47.000 | 41.000 | 72.000 | 0.2389 | 0.3333 | 0.3788 | 0.2389 | 0.0239 | 0.1502 | 0.1399 | 0.2457 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.7870 |
| predicted_AVG | 0.2505 |
| predicted_BB | 0.4570 |
| predicted_H | 0.9480 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1140 |
| predicted_OBP | 0.3323 |
| predicted_R | 0.5530 |
| predicted_RBI | 0.5830 |
| predicted_SLG | 0.3827 |
| predicted_SO | 1.0270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1290 | 0.1715 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0207 | model_form_blend |
| predicted_AB | 3.7090 | 3.7870 | 3.7422 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2505 | 0.2450 | model_form_blend |
| predicted_BB | 0.5190 | 0.4570 | 0.4926 | model_form_blend |
| predicted_H | 0.8900 | 0.9480 | 0.9147 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1100 | 0.1140 | 0.1117 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3323 | 0.3258 | model_form_blend |
| predicted_R | 0.5950 | 0.5530 | 0.5771 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5830 | 0.5469 | model_form_blend |
| predicted_SLG | 0.4610 | 0.3827 | 0.4276 | model_form_blend |
| predicted_SO | 0.9110 | 1.0270 | 0.9604 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 4 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | RF |
| gameID | 20260701_LAD@OAK |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.324 |
| sl_xwoba | 0.331 |
| sl_xba | 0.251 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 39.7 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 48.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.140 | 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.120 | 4.000 | 3.000 | Hitting_AB | 3.325 | 1.000 | 0.675 | 3.000 |
| predicted_AVG | 0.247 | 0.500 | 0.333 | Hitting_AVG | 0.272 | 0.000 | 0.228 | 0.500 |
| predicted_BB | 0.300 | 0.000 | 0.000 | Hitting_BB | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.700 | 2.000 | 1.000 | Hitting_H | 0.906 | 0.000 | 1.094 | 2.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.282 | 0.000 | 0.718 | 1.000 |
| predicted_OBP | 0.299 | 0.500 | 0.333 | Hitting_OBP | 0.357 | 0.000 | 0.143 | 0.500 |
| predicted_R | 0.460 | 1.000 | 0.000 | Hitting_R | 0.590 | 0.000 | 0.410 | 1.000 |
| predicted_RBI | 0.430 | 1.000 | 0.000 | Hitting_RBI | 0.650 | 0.000 | 0.350 | 1.000 |
| predicted_SLG | 0.478 | 1.500 | 0.333 | Hitting_SLG | 0.560 | 0.000 | 0.940 | 1.500 |
| predicted_SO | 0.940 | 1.000 | 1.000 | Hitting_SO | 0.983 | 1.000 | 0.017 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.7000 -> 2.0000 (boost 1.3000, better) |
| Biggest Deboost | predicted_BB: 0.3000 -> 0.0000 (deboost -0.3000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.1200 -> 3.1786 (boost 0.0586, better) | predicted_SLG: 0.4780 -> 0.4505 (deboost -0.0275, worse) | Final model input calibrated with local 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.4505 -> 0.4177 (deboost -0.0328, 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.7522 -> 1.0000 (boost 0.2478, better) | predicted_RBI: 0.4958 -> 0.0000 (deboost -0.4958, worse) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.237 HR/AB=0.047 |
| 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 | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2366 -> 0.3330 (boost 0.0964, better) | predicted_SLG: 0.4177 -> 0.3330 (deboost -0.0847, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 6 | 0 | 6 | 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.4177 (boost 0.0847, better) | predicted_AVG: 0.3330 -> 0.2366 (deboost -0.0964, 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.14,
"predicted_3B": 0.0,
"predicted_AB": 3.12,
"predicted_AVG": 0.247,
"predicted_BB": 0.3,
"predicted_H": 0.7,
"predicted_HR": 0.13,
"predicted_OBP": 0.299,
"predicted_R": 0.46,
"predicted_RBI": 0.43,
"predicted_SLG": 0.478,
"predicted_SO": 0.94
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1229,
"predicted_3B": 0.0008,
"predicted_AB": 3.1786,
"predicted_AVG": 0.2395,
"predicted_BB": 0.2984,
"predicted_H": 0.7191,
"predicted_HBP": 0.047,
"predicted_HR": 0.1438,
"predicted_OBP": 0.3001,
"predicted_R": 0.4608,
"predicted_RBI": 0.4581,
"predicted_SLG": 0.4505,
"predicted_SO": 0.9396
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.1229,
"delta": -0.0171,
"percent_delta": -0.1221,
"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.12,
"after": 3.1786,
"delta": 0.0586,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2395,
"delta": -0.0075,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.2984,
"delta": -0.0016,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7191,
"delta": 0.0191,
"percent_delta": 0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1438,
"delta": 0.0138,
"percent_delta": 0.1062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3001,
"delta": 0.0011,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.46,
"after": 0.4608,
"delta": 0.0008,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4581,
"delta": 0.0281,
"percent_delta": 0.0653,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.4505,
"delta": -0.0275,
"percent_delta": -0.0575,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.94,
"after": 0.9396,
"delta": -0.0004,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_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.12,
"after": 3.1786,
"delta": 0.0586,
"percent_delta": 0.0188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.478,
"after": 0.4505,
"delta": -0.0275,
"percent_delta": -0.0575,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1229,
"predicted_3B": 0.0008,
"predicted_AB": 3.1786,
"predicted_AVG": 0.2366,
"predicted_BB": 0.305,
"predicted_H": 0.7522,
"predicted_HBP": 0.047,
"predicted_HR": 0.1503,
"predicted_OBP": 0.3035,
"predicted_R": 0.4988,
"predicted_RBI": 0.4958,
"predicted_SLG": 0.4177,
"predicted_SO": 0.9188
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1229,
"after": 0.1229,
"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.1786,
"after": 3.1786,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2395,
"after": 0.2366,
"delta": -0.0029,
"percent_delta": -0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2984,
"after": 0.305,
"delta": 0.0066,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7191,
"after": 0.7522,
"delta": 0.0331,
"percent_delta": 0.046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.047,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1438,
"after": 0.1503,
"delta": 0.0065,
"percent_delta": 0.0452,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3001,
"after": 0.3035,
"delta": 0.0034,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4608,
"after": 0.4988,
"delta": 0.038,
"percent_delta": 0.0825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4581,
"after": 0.4958,
"delta": 0.0377,
"percent_delta": 0.0823,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4505,
"after": 0.4177,
"delta": -0.0328,
"percent_delta": -0.0728,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9396,
"after": 0.9188,
"delta": -0.0208,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4505,
"after": 0.4177,
"delta": -0.0328,
"percent_delta": -0.0728,
"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.237 HR/AB=0.047",
"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.1229,
"after": 0.0,
"delta": -0.1229,
"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.1786,
"after": 3.0,
"delta": -0.1786,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.305,
"after": 0.0,
"delta": -0.305,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7522,
"after": 1.0,
"delta": 0.2478,
"percent_delta": 0.3294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1503,
"after": 0.0,
"delta": -0.1503,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4958,
"after": 0.0,
"delta": -0.4958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9188,
"after": 1.0,
"delta": 0.0812,
"percent_delta": 0.0884,
"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.7522,
"after": 1.0,
"delta": 0.2478,
"percent_delta": 0.3294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4958,
"after": 0.0,
"delta": -0.4958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4988,
"after": 0.0,
"delta": -0.4988,
"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.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": 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.2366,
"after": 0.333,
"delta": 0.0964,
"percent_delta": 0.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3035,
"after": 0.333,
"delta": 0.0295,
"percent_delta": 0.0972,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.4177,
"after": 0.333,
"delta": -0.0847,
"percent_delta": -0.2028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2366,
"after": 0.333,
"delta": 0.0964,
"percent_delta": 0.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4177,
"after": 0.333,
"delta": -0.0847,
"percent_delta": -0.2028,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 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": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"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.2366,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3035,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4177,
"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.2366,
"delta": -0.0964,
"percent_delta": -0.2894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3035,
"delta": -0.0295,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4177,
"delta": 0.0847,
"percent_delta": 0.2543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4177,
"delta": 0.0847,
"percent_delta": 0.2543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2366,
"delta": -0.0964,
"percent_delta": -0.2894,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"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.12,
"after": 4.0,
"delta": 0.88,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2366,
"delta": -0.0104,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 2.0,
"delta": 1.3,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3035,
"delta": 0.0045,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"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.478,
"after": 0.4177,
"delta": -0.0603,
"percent_delta": -0.1262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"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": 0.7,
"after": 2.0,
"delta": 1.3,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"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.140 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.120 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.300 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.460 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.478 | - |
| predicted_SO | 0.940 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | -0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.179 | 0.059 |
| predicted_AVG | 0.239 | -0.008 |
| predicted_BB | 0.298 | -0.002 |
| predicted_H | 0.719 | 0.019 |
| predicted_HBP | 0.047 | - |
| predicted_HR | 0.144 | 0.014 |
| predicted_OBP | 0.300 | 0.001 |
| predicted_R | 0.461 | 0.001 |
| predicted_RBI | 0.458 | 0.028 |
| predicted_SLG | 0.451 | -0.027 |
| predicted_SO | 0.940 | -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.123 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.179 | 0.000 |
| predicted_AVG | 0.237 | -0.003 |
| predicted_BB | 0.305 | 0.007 |
| predicted_H | 0.752 | 0.033 |
| predicted_HBP | 0.047 | 0.000 |
| predicted_HR | 0.150 | 0.006 |
| predicted_OBP | 0.303 | 0.003 |
| predicted_R | 0.499 | 0.038 |
| predicted_RBI | 0.496 | 0.038 |
| predicted_SLG | 0.418 | -0.033 |
| predicted_SO | 0.919 | -0.021 |
AB rounded to 3 (raw=3.18), rates preserved: AVG=0.237 HR/AB=0.047
| 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.123 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.179 |
| predicted_AVG | 0.333 | 0.096 |
| predicted_BB | 0.000 | -0.305 |
| predicted_H | 1.000 | 0.248 |
| predicted_HR | 0.000 | -0.150 |
| predicted_OBP | 0.333 | 0.030 |
| predicted_R | 0.000 | -0.499 |
| predicted_RBI | 0.000 | -0.496 |
| predicted_SLG | 0.333 | -0.085 |
| predicted_SO | 1.000 | 0.081 |
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 | 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 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 4.000 | 0.2353 | 0.3158 | 0.4118 | 0.2353 | 0.0588 | 0.1765 | 0.1177 | 0.2353 |
| last_10 | 0.20 | 10 | - | 31.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 2.000 | 11.000 | 0.1613 | 0.2121 | 0.2581 | 0.1613 | 0.0323 | 0.1290 | 0.0645 | 0.3548 |
| season | 0.60 | 50 | - | 156.000 | 38.000 | 7.000 | 0.000 | 9.000 | 25.000 | 23.000 | 15.000 | 47.000 | 0.2436 | 0.3257 | 0.4615 | 0.2436 | 0.0577 | 0.1603 | 0.0961 | 0.3013 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2640 |
| predicted_AVG | 0.2287 |
| predicted_BB | 0.2960 |
| predicted_H | 0.7470 |
| predicted_HBP | 0.0470 |
| predicted_HR | 0.1640 |
| predicted_OBP | 0.3017 |
| predicted_R | 0.4620 |
| predicted_RBI | 0.4990 |
| predicted_SLG | 0.4105 |
| predicted_SO | 0.9390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.0980 | 0.1229 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1200 | 3.2640 | 3.1786 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2287 | 0.2395 | model_form_blend |
| predicted_BB | 0.3000 | 0.2960 | 0.2984 | model_form_blend |
| predicted_H | 0.7000 | 0.7470 | 0.7191 | model_form_blend |
| predicted_HBP | - | 0.0470 | 0.0470 | form_only |
| predicted_HR | 0.1300 | 0.1640 | 0.1438 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3017 | 0.3001 | model_form_blend |
| predicted_R | 0.4600 | 0.4620 | 0.4608 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4990 | 0.4581 | model_form_blend |
| predicted_SLG | 0.4780 | 0.4105 | 0.4505 | model_form_blend |
| predicted_SO | 0.9400 | 0.9390 | 0.9396 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 1B |
| gameID | 20260701_LAD@OAK |
| game_type | short |
| mlbID | 687221 |
| playerID | 687221 |
| playerName | Dalton Rushing |
| pos | C |
| started | False |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.347 |
| sl_xwoba | 0.335 |
| sl_xba | 0.249 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 35.8 |
| sl_barrel_batted_rate | 10.1 |
| sl_hard_hit_percent | 41.3 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 18.8 |
| sl_whiff_percent | 32.4 |
| 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.182 | 1.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_3B | 0.091 | 0.000 | 0.000 | Hitting_3B | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_AB | 3.727 | 4.000 | 4.000 | Hitting_AB | 3.417 | 3.000 | 0.583 | 1.000 |
| predicted_AVG | 0.282 | 0.500 | 0.250 | Hitting_AVG | 0.366 | 0.000 | 0.134 | 0.500 |
| predicted_BB | 0.455 | 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 | 0.890 | 2.000 | 1.000 | Hitting_H | 1.250 | 0.000 | 0.750 | 2.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_OBP | 0.360 | 0.500 | 0.250 | Hitting_OBP | 0.435 | 0.250 | 0.065 | 0.250 |
| predicted_R | 0.273 | 1.000 | 0.000 | Hitting_R | 0.250 | 0.000 | 0.750 | 1.000 |
| predicted_RBI | 0.540 | 1.000 | 1.000 | Hitting_RBI | 0.667 | 0.000 | 0.333 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.544 | 0.750 | 0.250 | Hitting_SLG | 0.537 | 0.000 | 0.213 | 0.750 |
| predicted_SO | 0.818 | 1.000 | 1.000 | Hitting_SO | 0.750 | 2.000 | 0.250 | -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.8900 -> 2.0000 (boost 1.1100, better) |
| Biggest Deboost | predicted_BB: 0.4550 -> 0.0000 (deboost -0.4550, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.8900 -> 1.0001 (boost 0.1101, better) | predicted_SLG: 0.5440 -> 0.5323 (deboost -0.0117, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5323 -> 0.4697 (deboost -0.0626, 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.6504 -> 1.0000 (boost 0.3496, better) | predicted_BB: 0.4435 -> 0.0000 (deboost -0.4435, worse) | AB rounded to 4 (raw=3.74), rates preserved: AVG=0.280 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3437 -> 0.0000 (deboost -0.3437, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4697 -> 0.2500 (deboost -0.2197, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4697 (boost 0.2197, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669242",
"player_name": "Tommy Edman",
"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.182,
"predicted_3B": 0.091,
"predicted_AB": 3.727,
"predicted_AVG": 0.282,
"predicted_BB": 0.455,
"predicted_H": 0.89,
"predicted_HR": 0.11,
"predicted_OBP": 0.36,
"predicted_R": 0.273,
"predicted_RBI": 0.54,
"predicted_SLG": 0.544,
"predicted_SO": 0.818
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1833,
"predicted_3B": 0.0856,
"predicted_AB": 3.7427,
"predicted_AVG": 0.2957,
"predicted_BB": 0.4339,
"predicted_H": 1.0001,
"predicted_HBP": 0.013,
"predicted_HR": 0.114,
"predicted_OBP": 0.3695,
"predicted_R": 0.3175,
"predicted_RBI": 0.6009,
"predicted_SLG": 0.5323,
"predicted_SO": 0.8331
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1833,
"delta": 0.0013,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.091,
"after": 0.0856,
"delta": -0.0054,
"percent_delta": -0.0593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.727,
"after": 3.7427,
"delta": 0.0157,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2957,
"delta": 0.0137,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.455,
"after": 0.4339,
"delta": -0.0211,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.0001,
"delta": 0.1101,
"percent_delta": 0.1237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.114,
"delta": 0.004,
"percent_delta": 0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.36,
"after": 0.3695,
"delta": 0.0095,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.273,
"after": 0.3175,
"delta": 0.0445,
"percent_delta": 0.163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.6009,
"delta": 0.0609,
"percent_delta": 0.1128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.544,
"after": 0.5323,
"delta": -0.0117,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 0.8331,
"delta": 0.0151,
"percent_delta": 0.0185,
"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.89,
"after": 1.0001,
"delta": 0.1101,
"percent_delta": 0.1237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.544,
"after": 0.5323,
"delta": -0.0117,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 11
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1833,
"predicted_3B": 0.0856,
"predicted_AB": 3.7427,
"predicted_AVG": 0.2795,
"predicted_BB": 0.4435,
"predicted_H": 1.0461,
"predicted_HBP": 0.013,
"predicted_HR": 0.1192,
"predicted_OBP": 0.3558,
"predicted_R": 0.3437,
"predicted_RBI": 0.6504,
"predicted_SLG": 0.4697,
"predicted_SO": 0.8147
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1833,
"after": 0.1833,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0856,
"after": 0.0856,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7427,
"after": 3.7427,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2957,
"after": 0.2795,
"delta": -0.0162,
"percent_delta": -0.0548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4339,
"after": 0.4435,
"delta": 0.0096,
"percent_delta": 0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0001,
"after": 1.0461,
"delta": 0.046,
"percent_delta": 0.046,
"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.114,
"after": 0.1192,
"delta": 0.0052,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3695,
"after": 0.3558,
"delta": -0.0137,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3175,
"after": 0.3437,
"delta": 0.0262,
"percent_delta": 0.0825,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6009,
"after": 0.6504,
"delta": 0.0495,
"percent_delta": 0.0824,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5323,
"after": 0.4697,
"delta": -0.0626,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8331,
"after": 0.8147,
"delta": -0.0184,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5323,
"after": 0.4697,
"delta": -0.0626,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.74), rates preserved: AVG=0.280 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.1833,
"after": 0.0,
"delta": -0.1833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0856,
"after": 0.0,
"delta": -0.0856,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.7427,
"after": 4.0,
"delta": 0.2573,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4435,
"after": 0.0,
"delta": -0.4435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0461,
"after": 1.0,
"delta": -0.0461,
"percent_delta": -0.0441,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1192,
"after": 0.0,
"delta": -0.1192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6504,
"after": 1.0,
"delta": 0.3496,
"percent_delta": 0.5375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8147,
"after": 1.0,
"delta": 0.1853,
"percent_delta": 0.2274,
"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.6504,
"after": 1.0,
"delta": 0.3496,
"percent_delta": 0.5375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": 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.3437,
"after": 0.0,
"delta": -0.3437,
"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.3437,
"after": 0.0,
"delta": -0.3437,
"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.2795,
"after": 0.25,
"delta": -0.0295,
"percent_delta": -0.1055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3558,
"after": 0.25,
"delta": -0.1058,
"percent_delta": -0.2974,
"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.4697,
"after": 0.25,
"delta": -0.2197,
"percent_delta": -0.4677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4697,
"after": 0.25,
"delta": -0.2197,
"percent_delta": -0.4677,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2795,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3558,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4697,
"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.2795,
"delta": 0.0295,
"percent_delta": 0.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_CS",
"before": 0.0,
"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.3558,
"delta": 0.1058,
"percent_delta": 0.4233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4697,
"delta": 0.2197,
"percent_delta": 0.879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4697,
"delta": 0.2197,
"percent_delta": 0.879,
"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.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.727,
"after": 4.0,
"delta": 0.273,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2795,
"delta": -0.0025,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"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.36,
"after": 0.3558,
"delta": -0.0042,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.273,
"after": 1.0,
"delta": 0.727,
"percent_delta": 2.663,
"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.544,
"after": 0.4697,
"delta": -0.0743,
"percent_delta": -0.1366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.818,
"after": 1.0,
"delta": 0.182,
"percent_delta": 0.2225,
"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.89,
"after": 2.0,
"delta": 1.11,
"percent_delta": 1.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}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.091 | - |
| predicted_AB | 3.727 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.455 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.360 | - |
| predicted_R | 0.273 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.544 | - |
| predicted_SO | 0.818 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.001 |
| predicted_3B | 0.086 | -0.005 |
| predicted_AB | 3.743 | 0.016 |
| predicted_AVG | 0.296 | 0.014 |
| predicted_BB | 0.434 | -0.021 |
| predicted_H | 1.000 | 0.110 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.114 | 0.004 |
| predicted_OBP | 0.369 | 0.010 |
| predicted_R | 0.318 | 0.044 |
| predicted_RBI | 0.601 | 0.061 |
| predicted_SLG | 0.532 | -0.012 |
| predicted_SO | 0.833 | 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.183 | 0.000 |
| predicted_3B | 0.086 | 0.000 |
| predicted_AB | 3.743 | 0.000 |
| predicted_AVG | 0.280 | -0.016 |
| predicted_BB | 0.444 | 0.010 |
| predicted_H | 1.046 | 0.046 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.119 | 0.005 |
| predicted_OBP | 0.356 | -0.014 |
| predicted_R | 0.344 | 0.026 |
| predicted_RBI | 0.650 | 0.049 |
| predicted_SLG | 0.470 | -0.063 |
| predicted_SO | 0.815 | -0.018 |
AB rounded to 4 (raw=3.74), rates preserved: AVG=0.280 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 | - |
Enforced H<=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.183 |
| predicted_3B | 0.000 | -0.086 |
| predicted_AB | 4.000 | 0.257 |
| predicted_AVG | 0.250 | -0.030 |
| predicted_BB | 0.000 | -0.444 |
| predicted_H | 1.000 | -0.046 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.250 | -0.106 |
| predicted_R | 0.000 | -0.344 |
| predicted_RBI | 1.000 | 0.350 |
| predicted_SLG | 0.250 | -0.220 |
| predicted_SO | 1.000 | 0.185 |
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 | 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 | - | 19.000 | 7.000 | 1.000 | 1.000 | 1.000 | 7.000 | 3.000 | 3.000 | 5.000 | 0.3684 | 0.4545 | 0.6842 | 0.3684 | 0.0526 | 0.3684 | 0.1579 | 0.2632 |
| last_10 | 0.20 | 10 | - | 38.000 | 15.000 | 2.000 | 1.000 | 1.000 | 8.000 | 3.000 | 4.000 | 9.000 | 0.3947 | 0.4524 | 0.5789 | 0.3947 | 0.0263 | 0.2105 | 0.1053 | 0.2368 |
| season | 0.60 | 11 | - | 41.000 | 15.000 | 2.000 | 1.000 | 1.000 | 8.000 | 3.000 | 5.000 | 9.000 | 0.3659 | 0.4348 | 0.5366 | 0.3659 | 0.0244 | 0.1951 | 0.1220 | 0.2195 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0750 |
| predicted_AB | 3.7740 |
| predicted_AVG | 0.3230 |
| predicted_BB | 0.3920 |
| predicted_H | 1.2190 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.3884 |
| predicted_R | 0.4060 |
| predicted_RBI | 0.7220 |
| predicted_SLG | 0.5090 |
| predicted_SO | 0.8630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1860 | 0.1833 | model_form_blend |
| predicted_3B | 0.0910 | 0.0750 | 0.0856 | model_form_blend |
| predicted_AB | 3.7270 | 3.7740 | 3.7427 | model_form_blend |
| predicted_AVG | 0.2820 | 0.3230 | 0.2957 | model_form_blend |
| predicted_BB | 0.4550 | 0.3920 | 0.4339 | model_form_blend |
| predicted_H | 0.8900 | 1.2190 | 1.0001 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1100 | 0.1220 | 0.1140 | model_form_blend |
| predicted_OBP | 0.3600 | 0.3884 | 0.3695 | model_form_blend |
| predicted_R | 0.2730 | 0.4060 | 0.3175 | model_form_blend |
| predicted_RBI | 0.5400 | 0.7220 | 0.6009 | model_form_blend |
| predicted_SLG | 0.5440 | 0.5090 | 0.5323 | model_form_blend |
| predicted_SO | 0.8180 | 0.8630 | 0.8331 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 11 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.366 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260701_LAD@OAK |
| game_type | full |
| mlbID | 669242 |
| playerID | 669242 |
| playerName | Tommy Edman |
| pos | 2B |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.423 |
| sl_xwoba | 0.375 |
| sl_xba | 0.319 |
| sl_xslg | 0.461 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 19.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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.143 | 5.000 | -0.143 | -3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.786 | 3.000 | -1.786 | -2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 4.714 | 3.000 | 1.286 | 3.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.043 | 4.000 | 0.157 | 1.200 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.143 | 2.000 | -1.143 | 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": "808963",
"player_name": "Roki Sasaki",
"position": "Starter",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 6.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": 2.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.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": 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": 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 | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 6.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 | 26.100 | 14.000 | 19.000 | 12.000 | 29.000 | 5.000 | 4.7848 | 1.1772 | 0.5316 | 0.7215 | 0.4557 | 1.1013 | 0.1899 |
| last_10 | 0.35 | 10 | 54.100 | 27.000 | 45.000 | 18.000 | 55.000 | 10.000 | 4.4724 | 1.1595 | 0.4969 | 0.8282 | 0.3313 | 1.0123 | 0.1840 |
| season | 0.20 | 14 | 72.000 | 39.000 | 66.000 | 30.000 | 72.000 | 14.000 | 4.8750 | 1.3333 | 0.5417 | 0.9167 | 0.4167 | 1.0000 | 0.1944 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1060 |
| predicted_ER | 2.7680 |
| predicted_ERA | 4.6370 |
| predicted_H | 4.5230 |
| predicted_HR | 0.9550 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.5030 |
| predicted_WHIP | 1.2340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.1060 | 2.0571 | model_form_blend |
| predicted_ER | 1.0000 | 2.7680 | 1.9526 | model_form_blend |
| predicted_ERA | - | 4.6370 | 4.6370 | form_only |
| predicted_H | 6.0000 | 4.5230 | 5.2042 | model_form_blend |
| predicted_HR | 0.0000 | 0.9550 | 0.5146 | model_form_blend |
| predicted_IP | 5.2000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 5.5030 | 4.8098 | model_form_blend |
| predicted_WHIP | - | 1.2340 | 1.2340 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 6 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 4 |
| HR | 0 |
| 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 | 5 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 20 |
| Pitching_ER | 3 |
| Pitching_ERA | 4.88 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 4 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 81 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 45 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260626_LAD@SD |
| game_type | full |
| mlbID | 808963 |
| playerID | 808963 |
| playerName | Roki Sasaki |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-26 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.341 |
| sl_xwoba | 0.331 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 45.1 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 49.8 |
| sl_avg_best_speed | 79.780837723 |
| sl_avg_hyper_speed | 94.645479801 |
| 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.355 | 1.000 | -0.355 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.645 | 0.000 | 0.355 | 1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.971 | 1.000 | 0.229 | 0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.065 | 0.000 | -0.065 | 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": "683618",
"player_name": "Edgardo Henriquez",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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 | 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 | 2.000 | 5.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.0000 | 0.4000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 5.000 | 2.000 | 14.000 | 0.000 | 1.6875 | 0.6562 | 0.1875 | 0.4688 | 0.1875 | 1.3125 | 0.0000 |
| season | 0.20 | 31 | 32.200 | 10.000 | 20.000 | 11.000 | 33.000 | 1.000 | 2.7551 | 0.9490 | 0.3061 | 0.6122 | 0.3367 | 1.0102 | 0.0306 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3320 |
| predicted_ER | 0.2880 |
| predicted_ERA | 2.5956 |
| predicted_H | 0.5820 |
| predicted_HR | 0.0670 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0430 |
| predicted_WHIP | 0.9147 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3320 | 0.1547 | model_form_blend |
| predicted_ER | 0.0000 | 0.2880 | 0.1342 | model_form_blend |
| predicted_ERA | - | 2.5956 | 2.5956 | form_only |
| predicted_H | 1.0000 | 0.5820 | 0.8052 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0312 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0430 | 1.0200 | model_form_blend |
| predicted_WHIP | - | 0.9147 | 0.9147 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 10 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.76 |
| 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 | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260628_LAD@SD |
| game_type | full |
| mlbID | 683618 |
| playerID | 683618 |
| playerName | Edgardo Henriquez |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-28 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.25 |
| sl_xwoba | 0.25 |
| sl_sweet_spot_percent | 22.5 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 30.0 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 50.6 |
| sl_avg_best_speed | 71.68097075 |
| sl_avg_hyper_speed | 92.468348101 |
| 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.083 | 0.000 | -0.083 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.583 | 1.000 | -0.583 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.889 | 1.100 | 0.111 | -0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.167 | 2.000 | -0.167 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656945",
"player_name": "Tanner Scott",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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.100 | 0.000 | 2.000 | 0.000 | 7.000 | 0.000 | 0.0000 | 0.3750 | 0.0000 | 0.3750 | 0.0000 | 1.3125 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 7.000 | 0.000 | 14.000 | 1.000 | 1.8621 | 0.7241 | 0.2069 | 0.7241 | 0.0000 | 1.4483 | 0.1035 |
| season | 0.20 | 36 | 34.100 | 8.000 | 21.000 | 3.000 | 42.000 | 4.000 | 2.0971 | 0.6990 | 0.2330 | 0.6117 | 0.0874 | 1.2233 | 0.1165 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1620 |
| predicted_ER | 0.2790 |
| predicted_ERA | 2.5142 |
| predicted_H | 0.7230 |
| predicted_HR | 0.0970 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1770 |
| predicted_WHIP | 0.8842 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1620 | 0.0763 | model_form_blend |
| predicted_ER | 0.0000 | 0.2790 | 0.1314 | model_form_blend |
| predicted_ERA | - | 2.5142 | 2.5142 | form_only |
| predicted_H | 0.0000 | 0.7230 | 0.3406 | model_form_blend |
| predicted_HR | 0.0000 | 0.0970 | 0.0457 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1770 | 1.0834 | model_form_blend |
| predicted_WHIP | - | 0.8842 | 0.8842 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.10 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260628_LAD@SD |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-28 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 2.4 |
| sl_woba | 0.217 |
| sl_xwoba | 0.257 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 28.7 |
| sl_whiff_percent | 34.2 |
| sl_swing_percent | 55.9 |
| sl_avg_best_speed | 79.562151538 |
| sl_avg_hyper_speed | 92.921213462 |
| 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.432 | 0.000 | -0.432 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.216 | 1.000 | -0.216 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.378 | 1.000 | 0.622 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.565 | 0.200 | -0.365 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.054 | 1.000 | -0.054 | 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": "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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 1.000 | 3.000 | 4.000 | 8.000 | 0.000 | 2.0769 | 1.6154 | 0.2308 | 0.6923 | 0.9231 | 1.8461 | 0.0000 |
| last_10 | 0.35 | 10 | 6.200 | 3.000 | 4.000 | 6.000 | 11.000 | 0.000 | 4.0500 | 1.5000 | 0.4500 | 0.6000 | 0.9000 | 1.6500 | 0.0000 |
| season | 0.20 | 37 | 27.200 | 8.000 | 14.000 | 16.000 | 39.000 | 0.000 | 2.6024 | 1.0843 | 0.2892 | 0.5060 | 0.5783 | 1.4096 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4570 |
| predicted_ER | 0.3010 |
| predicted_ERA | 3.6385 |
| predicted_H | 0.5860 |
| predicted_HR | 0.0520 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.9980 |
| predicted_WHIP | 1.3992 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4570 | 0.2050 | model_form_blend |
| predicted_ER | 0.0000 | 0.3010 | 0.1350 | model_form_blend |
| predicted_ERA | - | 3.6385 | 3.6385 | form_only |
| predicted_H | 1.0000 | 0.5860 | 0.8143 | model_form_blend |
| predicted_HR | 0.0000 | 0.0520 | 0.0233 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9980 | 0.9991 | 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 | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.60 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 12 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260628_LAD@SD |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-28 |
| sl_k_percent | 34.2 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.21 |
| sl_xwoba | 0.255 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 38.3 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 77.693721333 |
| sl_avg_hyper_speed | 92.688559153 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | STL 3 - 4 ATL | ATL | 0.545 | scoring_simulation.final_score | True |
| Simulation draw | STL 3 - 5 ATL | ATL | - | reconciled_final_score | 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.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5450 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | reconciled_final_score |
| 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 | 3.816 | 5.015 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 4 | 0.5450 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 3 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 3 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 3 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4640009299426934,
"base_low_score_probability": 0.419054441260745,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.04494648868194839,
"confidence": 0.65362846,
"factors": {
"environmental": 0.9496199999999999,
"pitcher_form": 1.1,
"team_form": 1.06,
"situational": 1.0,
"combined": 1.10725692
},
"prediction": "normal_scoring",
"expected_total_runs": 8,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 8,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 44,
"near_bucket_sample_size": 44,
"medium_bucket_sample_size": 79,
"wide_bucket_sample_size": 88,
"global_sample_size": 88,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.4318,
"bayesian_hit_rate": 0.4516,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.7097,
"confidence_cap": 0.545,
"raw_pick_probability": 0.575,
"calibrated_pick_probability": 0.505,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "ATL",
"games": 85,
"wins": 50,
"losses": 35,
"win_pct": 0.5882352941176471,
"runs_scored": 400,
"runs_allowed": 315,
"run_differential": 85,
"run_differential_per_game": 1.0,
"available": true
},
"away": {
"team": "STL",
"games": 83,
"wins": 44,
"losses": 39,
"win_pct": 0.5301204819277109,
"runs_scored": 368,
"runs_allowed": 378,
"run_differential": -10,
"run_differential_per_game": -0.12048192771084337,
"available": true
},
"run_differential_edge_per_game": 1.1205,
"win_pct_edge": 0.0581,
"quality_edge": 1.2077,
"margin_adjustment": 0.5072,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 3.318,
"home_runs": 4.2,
"home_win_probability": 0.575
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "ATL",
"guardrail_predicted_team": "ATL",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "ATL",
"output_opponent_team": "STL",
"final_score_winner": "ATL",
"pre_simulation_winner": "ATL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "STL 3 - 4 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "STL 3 - 5 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 1.2077,
"winner": "ATL",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "ATL",
"games": 85,
"wins": 50,
"losses": 35,
"win_pct": 0.5882352941176471,
"runs_scored": 400,
"runs_allowed": 315,
"run_differential": 85,
"run_differential_per_game": 1.0,
"available": true
},
"away": {
"team": "STL",
"games": 83,
"wins": 44,
"losses": 39,
"win_pct": 0.5301204819277109,
"runs_scored": 368,
"runs_allowed": 378,
"run_differential": -10,
"run_differential_per_game": -0.12048192771084337,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.8819,
"final_margin": 0.8819,
"margin_cap": 2.0,
"season_quality_edge": 1.2077,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.505,
"final_confidence": 0.505,
"confidence_cap": 0.545,
"score_gap": 0.8819,
"calibration_sample_size": 44,
"calibration_empirical_hit_rate": 0.4318,
"calibration_bayesian_hit_rate": 0.4516,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.2077,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"Bayesian-smoothed bucket hit rate is below coin flip",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "STL 3 - 4 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "STL 3 - 5 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 1.2077,
"winner": "ATL",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 3,
"home_runs": 5,
"confidence": 0.545,
"home_win_probability": 0.545,
"away_win_probability": 0.45499999999999996,
"predicted_score_text": "STL 3 - 5 ATL",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "STL",
"original_runs": 3,
"run_delta": 0.4277,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.33754750853291304,
"contact": 0.5374804161234066,
"power": 0.43595919134317246,
"discipline": 0.23444682012492474,
"xwoba": 0.33830303030303027,
"recent_xwoba": 0.33830303030303027,
"barrel": 8.56060606060606,
"ab_hard_contact": -0.24512208944246983,
"ab_bat_speed": 71.11414509573974,
"ab_strikeout_rate": 0.2065957484176439,
"available_players": 6,
"top_players": [
{
"player_id": "676475",
"player_name": "Alec Burleson",
"position": "1B",
"weight": 4.0,
"quality": 1.2846862310316813,
"contact": 1.4853398188255047,
"power": 1.3723148460630372,
"discipline": 0.39321988795518215,
"xwoba": 0.385,
"recent_xwoba": 0.385,
"barrel": 10.9,
"ab_hard_contact": 1.453535016498833,
"ab_bat_speed": 71.32671661998133,
"ab_strikeout_rate": 0.15980392156862747,
"available": 1.0
},
{
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "RF",
"weight": 4.0,
"quality": 0.9505713172819872,
"contact": 1.0647208762484741,
"power": 1.433686594880733,
"discipline": -0.5534407096171803,
"xwoba": 0.359,
"recent_xwoba": 0.359,
"barrel": 13.2,
"ab_hard_contact": 1.2143033261860898,
"ab_bat_speed": 77.65222766884531,
"ab_strikeout_rate": 0.25653594771241833,
"available": 1.0
},
{
"player_id": "802139",
"player_name": "JJ Wetherholt",
"position": "2B",
"weight": 4.0,
"quality": 0.5543559435692056,
"contact": 0.737775238682336,
"power": 0.4027669903185378,
"discipline": 0.5279652972300033,
"xwoba": 0.351,
"recent_xwoba": 0.351,
"barrel": 7.2,
"ab_hard_contact": 0.31705409208504276,
"ab_bat_speed": 70.77633986928105,
"ab_strikeout_rate": 0.1883442265795207,
"available": 1.0
},
{
"player_id": "691026",
"player_name": "Masyn Winn",
"position": "SS",
"weight": 4.0,
"quality": -0.33471229506448075,
"contact": -0.19830472882466618,
"power": -0.8071189570333654,
"discipline": 0.16444003527336867,
"xwoba": 0.302,
"recent_xwoba": 0.302,
"barrel": 3.2,
"ab_hard_contact": -0.7050458073339841,
"ab_bat_speed": 68.19941049382716,
"ab_strikeout_rate": 0.19901234567901235,
"available": 1.0
},
{
"player_id": "671056",
"player_name": "Iván Herrera",
"position": "DH",
"weight": 4.0,
"quality": 0.5055058427386048,
"contact": 0.7454566800124942,
"power": 0.12687161597296334,
"discipline": 0.8827606837606837,
"xwoba": 0.36,
"recent_xwoba": 0.36,
"barrel": 6.6000000000000005,
"ab_hard_contact": 1.1328608908878284,
"ab_bat_speed": 72.77918627899878,
"ab_strikeout_rate": 0.1829059829059829,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "694462",
"player_name": "Hurston Waldrep",
"quality": -0.00965607623560353,
"contact": 2.0,
"command": -1.4020000000000001,
"movement": -1.6999999999999997,
"xwoba": 0.311,
"whiff": 25.9,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "ATL",
"original_runs": 4,
"run_delta": 0.2535,
"adjusted_runs": 4,
"lineup": {
"players_used": 8,
"total_weight": 30.0,
"quality": 0.37917468118641234,
"contact": 0.43011668840432643,
"power": 0.5232030657473145,
"discipline": -0.019942375887819955,
"xwoba": 0.3322333333333333,
"recent_xwoba": 0.3322333333333333,
"barrel": 9.54666666666667,
"ab_hard_contact": 0.7302962355812083,
"ab_bat_speed": 70.97588375119179,
"ab_strikeout_rate": 0.21143761398305808,
"available_players": 8,
"top_players": [
{
"player_id": "686948",
"player_name": "Drake Baldwin",
"position": "C",
"weight": 4.0,
"quality": 1.1085284145667746,
"contact": 1.0664958989200428,
"power": 1.5635715364152194,
"discipline": 0.03980753968253969,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 16.1,
"ab_hard_contact": 1.6767640616377226,
"ab_bat_speed": 73.73786871693122,
"ab_strikeout_rate": 0.20243055555555556,
"available": 1.0
},
{
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"weight": 4.0,
"quality": 1.1004447469053813,
"contact": 1.4503461810857934,
"power": 1.5845763957672137,
"discipline": -0.42047619047619034,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 14.300000000000002,
"ab_hard_contact": 1.5471469629633166,
"ab_bat_speed": 73.9240186965812,
"ab_strikeout_rate": 0.2,
"available": 1.0
},
{
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"weight": 4.0,
"quality": 1.0471176111265046,
"contact": 1.0025427780414489,
"power": 1.5204908907352293,
"discipline": 0.0844047619047619,
"xwoba": 0.361,
"recent_xwoba": 0.361,
"barrel": 13.5,
"ab_hard_contact": 1.6521035289903003,
"ab_bat_speed": 73.18710813492063,
"ab_strikeout_rate": 0.23154761904761906,
"available": 1.0
},
{
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"weight": 4.0,
"quality": -0.23161353466715803,
"contact": -0.14596298437077362,
"power": -0.45714191962391115,
"discipline": 0.2984642857142858,
"xwoba": 0.302,
"recent_xwoba": 0.302,
"barrel": 4.2,
"ab_hard_contact": 0.300590178950344,
"ab_bat_speed": 67.33196853741497,
"ab_strikeout_rate": 0.12470238095238095,
"available": 1.0
},
{
"player_id": "573262",
"player_name": "Mike Yastrzemski",
"position": "RF",
"weight": 3.0,
"quality": -0.13185421874706638,
"contact": -0.1758823808418623,
"power": -0.35126202966895065,
"discipline": 0.09373015873015877,
"xwoba": 0.291,
"recent_xwoba": 0.291,
"barrel": 4.7,
"ab_hard_contact": 0.2760927399543199,
"ab_bat_speed": 68.96588831018518,
"ab_strikeout_rate": 0.2722222222222222,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669160",
"player_name": "Dustin May",
"quality": -0.026007858441541055,
"contact": -0.1305983126636506,
"command": -0.056285714285714425,
"movement": 0.6277188079442876,
"xwoba": 0.301,
"whiff": 21.7,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"adjusted_score": {
"away_runs": 3,
"home_runs": 4,
"winner_side": "home"
},
"signals": {
"season_quality_edge_home_minus_away": 1.2077,
"recent_form_edge_home_minus_away": -0.068,
"pitcher_matchup_edge_home_minus_away": -0.0245,
"composite_home_edge": 0.7733,
"existing_home_win_probability": 0.505,
"refreshed_home_win_probability": 0.7,
"winner_support_before_review": 0.7733
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 4,
"predicted_score_text": "STL 3 - 4 ATL",
"confidence": 0.545,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "STL 3 - 4 ATL",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 5,
"score_text": "STL 3 - 5 ATL",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 2,
"winner_quality_edge": 1.2077,
"winner": "ATL",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "ATL",
"display_confidence": 0.545,
"internal_fair_probability": 0.6016,
"confidence_compression_detected": true,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.0776,
"moneyline_fit": "press",
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "low_total_lean",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 2,
"winner_quality_edge": 1.2077,
"winner_recent_form_edge": -0.068,
"winner_pitcher_matchup_edge": -0.0245,
"winner_simulation_draw_rate": 0.5625,
"blowout_draw_rate_margin_4_plus": 0.125,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.8125,
"total_runs_spread": {
"min": 1,
"median": 5,
"max": 8,
"range": 7
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}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 STL | True | 1.0408 | 1.0408 | 1 | 9 | 0 |
| Home ATL | True | 1.0347 | 1.0391 | 0.8889 | 8 | 1 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Iván Herrera | 52 | 1.0505 | 0.6740 | neutral | 0.3600 | 0.2580 | 0.4030 | 6.60 | 41.20 | 89.40 | 8.50 | 19.90 | 15.80 | 12.80 | 0.0857 |
| 1B | Alec Burleson | 99 | 1.1223 | 1.6301 | positive_batter_regression | 0.3850 | 0.2940 | 0.5410 | 10.90 | 48.30 | 91.70 | 11.70 | 20 | 14.70 | 8.50 | 0.9714 |
| RF | Jordan Walker | 24 | 1.0901 | 1.2008 | neutral | 0.3590 | 0.2800 | 0.4980 | 13.20 | 50.90 | 93.70 | 11.70 | 31.50 | 26.10 | 7.20 | -0.2286 |
| 2B | JJ Wetherholt | 9 | 1.0612 | 0.8162 | neutral | 0.3510 | 0.2600 | 0.4360 | 7.20 | 45.30 | 90.10 | 14 | 20.90 | 15.90 | 10.30 | 0.3714 |
| LF | Lars Nootbaar | 216 | 1.0529 | 0.7054 | neutral | 0.3770 | 0.2810 | 0.5090 | 12.50 | 57.10 | 94 | 9.10 | 20.20 | 22.70 | 13.60 | 0.3143 |
| SS | Masyn Winn | 112 | 0.9888 | -0.1488 | neutral | 0.3020 | 0.2570 | 0.3280 | 3.20 | 32.40 | 87.40 | 12.20 | 21.50 | 19.10 | 8.30 | 0.3143 |
| 3B | Blaze Jordan | 389 | 0.9916 | -0.1116 | neutral | 0.2730 | 0.2200 | 0.3510 | 7.80 | 43.10 | 88.10 | 9.90 | 17.10 | 11.70 | 3.30 | 0.6286 |
| CF | Nathan Church | 133 | 0.9931 | -0.0921 | neutral | 0.2940 | 0.2430 | 0.3870 | 9 | 32.10 | 86.20 | 10.70 | 24 | 21.40 | 5.10 | -0.3143 |
| C | Jimmy Crooks | 540 | 1.0165 | 0.2202 | positive_batter_regression | 0.3090 | 0.2270 | 0.3900 | 5.90 | 48.60 | 90.50 | 13.20 | 31.10 | 30.50 | 8.50 | 2 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Michael Harris II | 39 | 1.1051 | 1.4017 | neutral | 0.3770 | 0.3080 | 0.5310 | 14.30 | 50.20 | 91.80 | 10.20 | 25.90 | 19.90 | 5 | 0.6857 |
| 1B | Matt Olson | 21 | 1.0890 | 1.1868 | neutral | 0.3610 | 0.2570 | 0.5150 | 13.50 | 51.20 | 92.80 | 17.90 | 24.70 | 23 | 9.60 | -0.2286 |
| 2B | Ozzie Albies | 55 | 0.9840 | -0.2138 | neutral | 0.3020 | 0.2540 | 0.3870 | 4.20 | 28.20 | 87.20 | 17.10 | 19.70 | 11.40 | 6.70 | -0.8286 |
| C | Drake Baldwin | 91 | 1.1112 | 1.4830 | neutral | 0.3730 | 0.2720 | 0.5120 | 16.10 | 48.90 | 91.20 | 10.20 | 25.80 | 24.40 | 9.60 | 0.7429 |
| LF | Mauricio Dubón | 57 | 1.0149 | 0.1990 | neutral | 0.3220 | 0.2750 | 0.4050 | 5.10 | 29.90 | 86.50 | 15.40 | 16.20 | 13.90 | 6.50 | -0.0286 |
| DH | Dominic Smith | 219 | 1.0186 | 0.2481 | neutral | 0.3300 | 0.2740 | 0.4290 | 6.90 | 36.40 | 87.90 | 14.40 | 19.90 | 13.30 | 6.40 | 0.2571 |
| 3B | Austin Riley | 376 | 1.0005 | 0.0070 | neutral | 0.2910 | 0.2050 | 0.3710 | 9.70 | 43.50 | 90.80 | 19.10 | 33 | 29.10 | 8.20 | 0.3714 |
| RF | Mike Yastrzemski | 228 | 0.9894 | -0.1417 | neutral | 0.2910 | 0.2240 | 0.3260 | 4.70 | 43.20 | 90.30 | 14.80 | 23.80 | 24.20 | 10 | -0.0857 |
{
"home": {
"applied": true,
"offense_factor": 1.0347,
"raw_average_factor": 1.0391,
"team_espn_average_rank": 135.75,
"coverage_weight": 0.8889,
"covered_batters": 8,
"missing_batters": 1,
"players": [
{
"position": "CF",
"player_id": "671739",
"player_name": "Michael Harris II",
"offense_factor": 1.1051,
"quality_score": 1.4017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671739",
"espn_id": 42470,
"player_name": "Michael Harris II",
"team": "ATL",
"role": "batter",
"espn_rank": 39,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 39,
"gp_value": 78.0,
"gp_rank": 118,
"ab_value": 283.0,
"ab_rank": 98,
"r_value": 37.0,
"r_rank": 108,
"h_value": 83.0,
"h_rank": 42,
"avg_value": 0.2932862,
"avg_rank": 16.0,
"2b_value": 13.0,
"2b_rank": 101,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 44.0,
"rbi_rank": 52,
"tb_value": 138.0,
"tb_rank": 697,
"bb_value": 15.0,
"bb_rank": 237,
"so_value": 60.0,
"so_rank": 120,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3289036,
"obp_rank": "81",
"slg_value": 0.4876325,
"slg_rank": "31",
"ops_value": 0.8165361,
"ops_rank": 50.0,
"war_value": 2.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 195.0,
"k_percent": 19.9,
"bb_percent": 5.0,
"woba": 0.353,
"xwoba": 0.377,
"xba": 0.308,
"xslg": 0.531,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 50.2,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 10.2,
"whiff_percent": 25.9,
"swing_percent": 55.3
},
"components": {
"expected_quality": 1.7272,
"regression_edge": 0.6857,
"xwoba_edge": 2.1143,
"xba_edge": 1.9714,
"xslg_edge": 2.2857,
"barrel_edge": 1.6444,
"hard_hit_edge": 1.7286,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "621566",
"player_name": "Matt Olson",
"offense_factor": 1.089,
"quality_score": 1.1868,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621566",
"espn_id": 32767,
"player_name": "Matt Olson",
"team": "ATL",
"role": "batter",
"espn_rank": 21,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 21,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 327.0,
"ab_rank": 20,
"r_value": 54.0,
"r_rank": 17,
"h_value": 89.0,
"h_rank": 20,
"avg_value": 0.2721712,
"avg_rank": 45.0,
"2b_value": 22.0,
"2b_rank": 2,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 20.0,
"hr_rank": 9,
"rbi_value": 52.0,
"rbi_rank": 27,
"tb_value": 171.0,
"tb_rank": 477,
"bb_value": 35.0,
"bb_rank": 52,
"so_value": 84.0,
"so_rank": 39,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.34153,
"obp_rank": "58",
"slg_value": 0.5229357,
"slg_rank": "16",
"ops_value": 0.8644657,
"ops_rank": 42.0,
"war_value": 3.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 244.0,
"k_percent": 23.0,
"bb_percent": 9.6,
"woba": 0.369,
"xwoba": 0.361,
"xba": 0.257,
"xslg": 0.515,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 13.5,
"hard_hit_percent": 51.2,
"exit_velocity_avg": 92.8,
"launch_angle_avg": 17.9,
"whiff_percent": 24.7,
"swing_percent": 45.7
},
"components": {
"expected_quality": 1.4173,
"regression_edge": -0.2286,
"xwoba_edge": 1.6571,
"xba_edge": 0.5143,
"xslg_edge": 2.0571,
"barrel_edge": 1.4667,
"hard_hit_edge": 1.8714,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "645277",
"player_name": "Ozzie Albies",
"offense_factor": 0.984,
"quality_score": -0.2138,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "645277",
"espn_id": 33783,
"player_name": "Ozzie Albies",
"team": "ATL",
"role": "batter",
"espn_rank": 55,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 55,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 322.0,
"ab_rank": 23,
"r_value": 53.0,
"r_rank": 23,
"h_value": 89.0,
"h_rank": 20,
"avg_value": 0.2763975,
"avg_rank": 37.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 48.0,
"rbi_rank": 38,
"tb_value": 143.0,
"tb_rank": 688,
"bb_value": 24.0,
"bb_rank": 136,
"so_value": 41.0,
"so_rank": 229,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.325,
"obp_rank": "87",
"slg_value": 0.4440993,
"slg_rank": "65",
"ops_value": 0.7690993,
"ops_rank": 22.0,
"war_value": 2.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 242.0,
"k_percent": 11.4,
"bb_percent": 6.7,
"woba": 0.331,
"xwoba": 0.302,
"xba": 0.254,
"xslg": 0.387,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 28.2,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 17.1,
"whiff_percent": 19.7,
"swing_percent": 55.3
},
"components": {
"expected_quality": -0.1137,
"regression_edge": -0.8286,
"xwoba_edge": -0.0286,
"xba_edge": 0.4286,
"xslg_edge": 0.2286,
"barrel_edge": -0.6,
"hard_hit_edge": -1.4143,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "686948",
"player_name": "Drake Baldwin",
"offense_factor": 1.1112,
"quality_score": 1.483,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686948",
"espn_id": 4810190,
"player_name": "Drake Baldwin",
"team": "ATL",
"role": "batter",
"espn_rank": 91,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 91,
"gp_value": 61.0,
"gp_rank": 217,
"ab_value": 239.0,
"ab_rank": 148,
"r_value": 44.0,
"r_rank": 57,
"h_value": 61.0,
"h_rank": 133,
"avg_value": 0.2552301,
"avg_rank": 81.0,
"2b_value": 6.0,
"2b_rank": 266,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 39.0,
"rbi_rank": 76,
"tb_value": 109.0,
"tb_rank": 953,
"bb_value": 26.0,
"bb_rank": 115,
"so_value": 66.0,
"so_rank": 97,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.337037,
"obp_rank": "71",
"slg_value": 0.4560669,
"slg_rank": "57",
"ops_value": 0.7931039,
"ops_rank": 14.0,
"war_value": 1.64,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 24.4,
"bb_percent": 9.6,
"woba": 0.347,
"xwoba": 0.373,
"xba": 0.272,
"xslg": 0.512,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 16.1,
"hard_hit_percent": 48.9,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 10.2,
"whiff_percent": 25.8,
"swing_percent": 51.0
},
"components": {
"expected_quality": 1.6435,
"regression_edge": 0.7429,
"xwoba_edge": 2.0,
"xba_edge": 0.9429,
"xslg_edge": 2.0143,
"barrel_edge": 2.0444,
"hard_hit_edge": 1.5429,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 0.9833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"offense_factor": 1.0149,
"quality_score": 0.199,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643289",
"espn_id": 35304,
"player_name": "Mauricio Dubon",
"team": "ATL",
"role": "batter",
"espn_rank": 57,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 57,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 298.0,
"ab_rank": 82,
"r_value": 36.0,
"r_rank": 113,
"h_value": 79.0,
"h_rank": 66,
"avg_value": 0.2651006,
"avg_rank": 59.0,
"2b_value": 17.0,
"2b_rank": 32,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 44.0,
"rbi_rank": 52,
"tb_value": 124.0,
"tb_rank": 519,
"bb_value": 21.0,
"bb_rank": 168,
"so_value": 45.0,
"so_rank": 203,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.317757,
"obp_rank": "106",
"slg_value": 0.4161073,
"slg_rank": "91",
"ops_value": 0.7338643,
"ops_rank": 197.0,
"war_value": 2.11,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 13.9,
"bb_percent": 6.5,
"woba": 0.323,
"xwoba": 0.322,
"xba": 0.275,
"xslg": 0.405,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 29.9,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 15.4,
"whiff_percent": 16.2,
"swing_percent": 51.9
},
"components": {
"expected_quality": 0.2436,
"regression_edge": -0.0286,
"xwoba_edge": 0.5429,
"xba_edge": 1.0286,
"xslg_edge": 0.4857,
"barrel_edge": -0.4,
"hard_hit_edge": -1.1714,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "642086",
"player_name": "Dominic Smith",
"offense_factor": 1.0186,
"quality_score": 0.2481,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642086",
"espn_id": 33218,
"player_name": "Dominic Smith",
"team": "ATL",
"role": "batter",
"espn_rank": 219,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 219,
"gp_value": 70.0,
"gp_rank": 167,
"ab_value": 183.0,
"ab_rank": 229,
"r_value": 26.0,
"r_rank": 191,
"h_value": 51.0,
"h_rank": 186,
"avg_value": 0.2786885,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 299,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 32.0,
"rbi_rank": 131,
"tb_value": 76.0,
"tb_rank": 1206,
"bb_value": 13.0,
"bb_rank": 263,
"so_value": 27.0,
"so_rank": 326,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3217821,
"obp_rank": "-",
"slg_value": 0.4153005,
"slg_rank": "-",
"ops_value": 0.7370826,
"ops_rank": null,
"war_value": 0.5,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 116.0,
"k_percent": 13.3,
"bb_percent": 6.4,
"woba": 0.321,
"xwoba": 0.33,
"xba": 0.274,
"xslg": 0.429,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 14.4,
"whiff_percent": 19.9,
"swing_percent": 50.7
},
"components": {
"expected_quality": 0.5054,
"regression_edge": 0.2571,
"xwoba_edge": 0.7714,
"xba_edge": 1.0,
"xslg_edge": 0.8286,
"barrel_edge": 0.0,
"hard_hit_edge": -0.2429,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "663586",
"player_name": "Austin Riley",
"offense_factor": 1.0005,
"quality_score": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663586",
"espn_id": 34982,
"player_name": "Austin Riley",
"team": "ATL",
"role": "batter",
"espn_rank": 376,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 376,
"gp_value": 84.0,
"gp_rank": 29,
"ab_value": 304.0,
"ab_rank": 67,
"r_value": 33.0,
"r_rank": 134,
"h_value": 63.0,
"h_rank": 124,
"avg_value": 0.2072368,
"avg_rank": 154.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 8.0,
"hr_rank": 123,
"rbi_value": 38.0,
"rbi_rank": 84,
"tb_value": 101.0,
"tb_rank": 789,
"bb_value": 28.0,
"bb_rank": 97,
"so_value": 99.0,
"so_rank": 12,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.2852941,
"obp_rank": "150",
"slg_value": 0.3322368,
"slg_rank": "149",
"ops_value": 0.6175309,
"ops_rank": 299.0,
"war_value": -0.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 232.0,
"k_percent": 29.1,
"bb_percent": 8.2,
"woba": 0.278,
"xwoba": 0.291,
"xba": 0.205,
"xslg": 0.371,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 19.1,
"whiff_percent": 33.0,
"swing_percent": 47.3
},
"components": {
"expected_quality": -0.0523,
"regression_edge": 0.3714,
"xwoba_edge": -0.3429,
"xba_edge": -0.9714,
"xslg_edge": 0.0,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.7714,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": -0.5333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "573262",
"player_name": "Mike Yastrzemski",
"offense_factor": 0.9894,
"quality_score": -0.1417,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573262",
"espn_id": 33341,
"player_name": "Mike Yastrzemski",
"team": "ATL",
"role": "batter",
"espn_rank": 228,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 228,
"gp_value": 76.0,
"gp_rank": 130,
"ab_value": 204.0,
"ab_rank": 188,
"r_value": 27.0,
"r_rank": 184,
"h_value": 45.0,
"h_rank": 210,
"avg_value": 0.2205882,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 191,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 4.0,
"hr_rank": 238,
"rbi_value": 19.0,
"rbi_rank": 251,
"tb_value": 68.0,
"tb_rank": 1293,
"bb_value": 23.0,
"bb_rank": 145,
"so_value": 56.0,
"so_rank": 146,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3116883,
"obp_rank": "-",
"slg_value": 0.3333333,
"slg_rank": "-",
"ops_value": 0.6450216,
"ops_rank": null,
"war_value": 0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 151.0,
"k_percent": 24.2,
"bb_percent": 10.0,
"woba": 0.294,
"xwoba": 0.291,
"xba": 0.224,
"xslg": 0.326,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 14.8,
"whiff_percent": 23.8,
"swing_percent": 41.3
},
"components": {
"expected_quality": -0.2261,
"regression_edge": -0.0857,
"xwoba_edge": -0.3429,
"xba_edge": -0.4286,
"xslg_edge": -0.6429,
"barrel_edge": -0.4889,
"hard_hit_edge": 0.7286,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0408,
"raw_average_factor": 1.0408,
"team_espn_average_rank": 174.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "671056",
"player_name": "Iván Herrera",
"offense_factor": 1.0505,
"quality_score": 0.674,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671056",
"espn_id": 41889,
"player_name": "Ivan Herrera",
"team": "STL",
"role": "batter",
"espn_rank": 52,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 52,
"gp_value": 83.0,
"gp_rank": 48,
"ab_value": 302.0,
"ab_rank": 72,
"r_value": 54.0,
"r_rank": 17,
"h_value": 76.0,
"h_rank": 73,
"avg_value": 0.2516556,
"avg_rank": 83.0,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 10.0,
"hr_rank": 94,
"rbi_value": 35.0,
"rbi_rank": 105,
"tb_value": 122.0,
"tb_rank": 620,
"bb_value": 48.0,
"bb_rank": 17,
"so_value": 59.0,
"so_rank": 128,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.3903743,
"obp_rank": "11",
"slg_value": 0.4039735,
"slg_rank": "100",
"ops_value": 0.7943478,
"ops_rank": 111.0,
"war_value": 2.19,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 234.0,
"k_percent": 15.8,
"bb_percent": 12.8,
"woba": 0.357,
"xwoba": 0.36,
"xba": 0.258,
"xslg": 0.403,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 41.2,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 8.5,
"whiff_percent": 19.9,
"swing_percent": 42.7
},
"components": {
"expected_quality": 0.7697,
"regression_edge": 0.0857,
"xwoba_edge": 1.6286,
"xba_edge": 0.5429,
"xslg_edge": 0.4571,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "676475",
"player_name": "Alec Burleson",
"offense_factor": 1.1223,
"quality_score": 1.6301,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676475",
"espn_id": 4345070,
"player_name": "Alec Burleson",
"team": "STL",
"role": "batter",
"espn_rank": 99,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 99,
"gp_value": 82.0,
"gp_rank": 62,
"ab_value": 316.0,
"ab_rank": 33,
"r_value": 42.0,
"r_rank": 73,
"h_value": 87.0,
"h_rank": 28,
"avg_value": 0.2753164,
"avg_rank": 38.0,
"2b_value": 20.0,
"2b_rank": 9,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 57.0,
"rbi_rank": 11,
"tb_value": 148.0,
"tb_rank": 392,
"bb_value": 30.0,
"bb_rank": 79,
"so_value": 52.0,
"so_rank": 163,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.3427762,
"obp_rank": "55",
"slg_value": 0.4683544,
"slg_rank": "46",
"ops_value": 0.8111306,
"ops_rank": 9.0,
"war_value": 1.51,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 14.7,
"bb_percent": 8.5,
"woba": 0.351,
"xwoba": 0.385,
"xba": 0.294,
"xslg": 0.541,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 48.3,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 11.7,
"whiff_percent": 20.0,
"swing_percent": 50.4
},
"components": {
"expected_quality": 1.7374,
"regression_edge": 0.9714,
"xwoba_edge": 2.3429,
"xba_edge": 1.5714,
"xslg_edge": 2.4286,
"barrel_edge": 0.8889,
"hard_hit_edge": 1.4571,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "691023",
"player_name": "Jordan Walker",
"offense_factor": 1.0901,
"quality_score": 1.2008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691023",
"espn_id": 4684778,
"player_name": "Jordan Walker",
"team": "STL",
"role": "batter",
"espn_rank": 24,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 24,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 316.0,
"ab_rank": 33,
"r_value": 47.0,
"r_rank": 43,
"h_value": 91.0,
"h_rank": 15,
"avg_value": 0.2879746,
"avg_rank": 22.0,
"2b_value": 16.0,
"2b_rank": 42,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 18.0,
"hr_rank": 21,
"rbi_value": 59.0,
"rbi_rank": 5,
"tb_value": 161.0,
"tb_rank": 548,
"bb_value": 25.0,
"bb_rank": 123,
"so_value": 90.0,
"so_rank": 24,
"sb_value": 11.0,
"sb_rank": 37,
"obp_value": 0.3420289,
"obp_rank": "58",
"slg_value": 0.5094936,
"slg_rank": "22",
"ops_value": 0.8515225,
"ops_rank": 36.0,
"war_value": 2.92,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 26.1,
"bb_percent": 7.2,
"woba": 0.367,
"xwoba": 0.359,
"xba": 0.28,
"xslg": 0.498,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 13.2,
"hard_hit_percent": 50.9,
"exit_velocity_avg": 93.7,
"launch_angle_avg": 11.7,
"whiff_percent": 31.5,
"swing_percent": 51.7
},
"components": {
"expected_quality": 1.4334,
"regression_edge": -0.2286,
"xwoba_edge": 1.6,
"xba_edge": 1.1714,
"xslg_edge": 1.8143,
"barrel_edge": 1.4,
"hard_hit_edge": 1.8286,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"offense_factor": 1.0612,
"quality_score": 0.8162,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802139",
"espn_id": 4941056,
"player_name": "JJ Wetherholt",
"team": "STL",
"role": "batter",
"espn_rank": 9,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 9,
"gp_value": 79.0,
"gp_rank": 109,
"ab_value": 309.0,
"ab_rank": 52,
"r_value": 49.0,
"r_rank": 36,
"h_value": 80.0,
"h_rank": 59,
"avg_value": 0.2588996,
"avg_rank": 70.0,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 12.0,
"hr_rank": 72,
"rbi_value": 34.0,
"rbi_rank": 110,
"tb_value": 124.0,
"tb_rank": 913,
"bb_value": 37.0,
"bb_rank": 44,
"so_value": 57.0,
"so_rank": 142,
"sb_value": 9.0,
"sb_rank": 55,
"obp_value": 0.3565459,
"obp_rank": "39",
"slg_value": 0.4012944,
"slg_rank": "102",
"ops_value": 0.7578403,
"ops_rank": 141.0,
"war_value": 3.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 234.0,
"k_percent": 15.9,
"bb_percent": 10.3,
"woba": 0.338,
"xwoba": 0.351,
"xba": 0.26,
"xslg": 0.436,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 14.0,
"whiff_percent": 20.9,
"swing_percent": 43.2
},
"components": {
"expected_quality": 0.8886,
"regression_edge": 0.3714,
"xwoba_edge": 1.3714,
"xba_edge": 0.6,
"xslg_edge": 0.9286,
"barrel_edge": 0.0667,
"hard_hit_edge": 1.0286,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "663457",
"player_name": "Lars Nootbaar",
"offense_factor": 1.0529,
"quality_score": 0.7054,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663457",
"espn_id": 4448736,
"player_name": "Lars Nootbaar",
"team": "STL",
"role": "batter",
"espn_rank": 216,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 216,
"gp_value": 22.0,
"gp_rank": 426,
"ab_value": 75.0,
"ab_rank": 389,
"r_value": 13.0,
"r_rank": 331,
"h_value": 22.0,
"h_rank": 347,
"avg_value": 0.2933333,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 2.0,
"hr_rank": 339,
"rbi_value": 7.0,
"rbi_rank": 392,
"tb_value": 34.0,
"tb_rank": 1877,
"bb_value": 12.0,
"bb_rank": 278,
"so_value": 20.0,
"so_rank": 390,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3863636,
"obp_rank": "-",
"slg_value": 0.4533333,
"slg_rank": "-",
"ops_value": 0.8396969,
"ops_rank": null,
"war_value": 0.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 22.7,
"bb_percent": 13.6,
"woba": 0.366,
"xwoba": 0.377,
"xba": 0.281,
"xslg": 0.509,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 57.1,
"exit_velocity_avg": 94.0,
"launch_angle_avg": 9.1,
"whiff_percent": 20.2,
"swing_percent": 35.2
},
"components": {
"expected_quality": 1.7717,
"regression_edge": 0.3143,
"xwoba_edge": 2.1143,
"xba_edge": 1.2,
"xslg_edge": 1.9714,
"barrel_edge": 1.2444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.08,
"sweet_spot_edge": 1.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "691026",
"player_name": "Masyn Winn",
"offense_factor": 0.9888,
"quality_score": -0.1488,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691026",
"espn_id": 4683365,
"player_name": "Masyn Winn",
"team": "STL",
"role": "batter",
"espn_rank": 112,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 112,
"gp_value": 75.0,
"gp_rank": 134,
"ab_value": 277.0,
"ab_rank": 105,
"r_value": 35.0,
"r_rank": 118,
"h_value": 67.0,
"h_rank": 106,
"avg_value": 0.2418772,
"avg_rank": 106.0,
"2b_value": 11.0,
"2b_rank": 140,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 32.0,
"rbi_rank": 131,
"tb_value": 91.0,
"tb_rank": 1111,
"bb_value": 26.0,
"bb_rank": 115,
"so_value": 60.0,
"so_rank": 120,
"sb_value": 7.0,
"sb_rank": 72,
"obp_value": 0.3152866,
"obp_rank": "112",
"slg_value": 0.3285198,
"slg_rank": "150",
"ops_value": 0.6438064,
"ops_rank": 262.0,
"war_value": 1.31,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 196.0,
"k_percent": 19.1,
"bb_percent": 8.3,
"woba": 0.291,
"xwoba": 0.302,
"xba": 0.257,
"xslg": 0.328,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 32.4,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 12.2,
"whiff_percent": 21.5,
"swing_percent": 42.8
},
"components": {
"expected_quality": -0.2454,
"regression_edge": 0.3143,
"xwoba_edge": -0.0286,
"xba_edge": 0.5143,
"xslg_edge": -0.6143,
"barrel_edge": -0.8222,
"hard_hit_edge": -0.8143,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691458",
"player_name": "Blaze Jordan",
"offense_factor": 0.9916,
"quality_score": -0.1116,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691458",
"espn_id": 4722953,
"player_name": "Blaze Jordan",
"team": "STL",
"role": "batter",
"espn_rank": 389,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 389,
"gp_value": 16.0,
"gp_rank": 465,
"ab_value": 54.0,
"ab_rank": 427,
"r_value": 5.0,
"r_rank": 437,
"h_value": 12.0,
"h_rank": 423,
"avg_value": 0.2222222,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 375,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 13.0,
"rbi_rank": 312,
"tb_value": 20.0,
"tb_rank": 2134,
"bb_value": 2.0,
"bb_rank": 466,
"so_value": 7.0,
"so_rank": 497,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2333333,
"obp_rank": "-",
"slg_value": 0.3703703,
"slg_rank": "-",
"ops_value": 0.6037036,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 11.7,
"bb_percent": 3.3,
"woba": 0.251,
"xwoba": 0.273,
"xba": 0.22,
"xslg": 0.351,
"sweet_spot_percent": 25.5,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 43.1,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 9.9,
"whiff_percent": 17.1,
"swing_percent": 52.9
},
"components": {
"expected_quality": -0.3906,
"regression_edge": 0.6286,
"xwoba_edge": -0.8571,
"xba_edge": -0.5429,
"xslg_edge": -0.2857,
"barrel_edge": 0.2,
"hard_hit_edge": 0.7143,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": -1.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "701675",
"player_name": "Nathan Church",
"offense_factor": 0.9931,
"quality_score": -0.0921,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701675",
"espn_id": 4843048,
"player_name": "Nathan Church",
"team": "STL",
"role": "batter",
"espn_rank": 133,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 133,
"gp_value": 65.0,
"gp_rank": 196,
"ab_value": 200.0,
"ab_rank": 198,
"r_value": 26.0,
"r_rank": 191,
"h_value": 51.0,
"h_rank": 186,
"avg_value": 0.255,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 191,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 6.0,
"hr_rank": 181,
"rbi_value": 23.0,
"rbi_rank": 208,
"tb_value": 80.0,
"tb_rank": 1098,
"bb_value": 11.0,
"bb_rank": 293,
"so_value": 46.0,
"so_rank": 197,
"sb_value": 5.0,
"sb_rank": 112,
"obp_value": 0.2976744,
"obp_rank": "-",
"slg_value": 0.4,
"slg_rank": "-",
"ops_value": 0.6976744,
"ops_rank": null,
"war_value": 1.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 21.4,
"bb_percent": 5.1,
"woba": 0.305,
"xwoba": 0.294,
"xba": 0.243,
"xslg": 0.387,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 32.1,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 10.7,
"whiff_percent": 24.0,
"swing_percent": 56.7
},
"components": {
"expected_quality": -0.106,
"regression_edge": -0.3143,
"xwoba_edge": -0.2571,
"xba_edge": 0.1143,
"xslg_edge": 0.2286,
"barrel_edge": 0.4667,
"hard_hit_edge": -0.8571,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "699625",
"player_name": "Jimmy Crooks",
"offense_factor": 1.0165,
"quality_score": 0.2202,
"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": 540,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 540,
"gp_value": 19.0,
"gp_rank": 445,
"ab_value": 53.0,
"ab_rank": 428,
"r_value": 2.0,
"r_rank": 494,
"h_value": 8.0,
"h_rank": 459,
"avg_value": 0.1509433,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 412,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 7.0,
"rbi_rank": 392,
"tb_value": 13.0,
"tb_rank": 2457,
"bb_value": 5.0,
"bb_rank": 404,
"so_value": 18.0,
"so_rank": 400,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2372881,
"obp_rank": "-",
"slg_value": 0.245283,
"slg_rank": "-",
"ops_value": 0.4825711,
"ops_rank": null,
"war_value": -0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 30.5,
"bb_percent": 8.5,
"woba": 0.225,
"xwoba": 0.309,
"xba": 0.227,
"xslg": 0.39,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 13.2,
"whiff_percent": 31.1,
"swing_percent": 45.3
},
"components": {
"expected_quality": 0.2435,
"regression_edge": 2.0,
"xwoba_edge": 0.1714,
"xba_edge": -0.3429,
"xslg_edge": 0.2714,
"barrel_edge": -0.2222,
"hard_hit_edge": 1.5,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 1.1333,
"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 STL | True | 189 | 0.0027 | 1 | 0.9998 | 0.9780 | 0.9460 | 1.0329 | neutral | 0.3010 | 0.3030 | 22.50 | 6.40 | 21.70 | 7.20 | 46.40 | |
| Home ATL | True | 332 | 0.0121 | 0.4500 | 0.9990 | 1.0017 | 1 | 0.9986 | neutral | 0.3110 | 0.3100 | 22.80 | 9.10 | 25.90 | 7.30 | 38.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away STL | True | None | 89 | 92.34 | 2528 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1447 | |
| Home ATL | False | - | - | - | - | - | - | - | - | - | - | - | - | - |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9996 |
| home_runs_vs_away_pitcher | 0.9998 |
| home_pitcher_quality_edge | 0.0094 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "694462",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.8,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.311,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.9,
"swing_percent": 47.5
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0364,
"command_and_miss": 0.0361,
"regression_edge": -0.0286,
"xwoba_edge": 0.0429,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0571,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "694462",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0121,
"sample_weight": 0.45,
"run_prevention_factor": 0.999,
"strikeout_factor": 1.0017,
"walk_factor": 1.0,
"homer_factor": 0.9986,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694462",
"espn_id": 4740117,
"player_name": "Hurston Waldrep",
"team": "ATL",
"role": "pitcher",
"espn_rank": 332,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 332,
"gp_value": 1.0,
"gp_rank": 661,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 0.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 2.0,
"ip_rank": 668,
"h_value": 2.0,
"h_rank": 662,
"er_value": 0.0,
"er_rank": 690,
"hr_value": 0.0,
"hr_rank": 614,
"bb_value": 4.0,
"bb_rank": 526,
"k_value": 3.0,
"k_rank": 608,
"k_per_9_value": 13.5,
"k_per_9_rank": 24,
"whip_value": 3.0,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_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": 22.5,
"bb_percent": 6.4,
"woba": 0.303,
"xwoba": 0.301,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 46.4,
"avg_best_speed": 79.3867,
"avg_hyper_speed": 94.7937,
"whiff_percent": 21.7,
"swing_percent": 47.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.001,
"command_and_miss": -0.0582,
"regression_edge": 0.0571,
"xwoba_edge": 0.3286,
"barrel_edge": 0.0444,
"hard_hit_edge": -1.1571,
"whiff_edge": -0.5429,
"bb_edge": 0.675,
"pitch_design_score": 0.1447
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669160",
"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": 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": 89,
"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.1447,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0332,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0027,
"sample_weight": 1.0,
"run_prevention_factor": 0.9998,
"strikeout_factor": 0.978,
"walk_factor": 0.946,
"homer_factor": 1.0329,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669160",
"espn_id": 40937,
"player_name": "Dustin May",
"team": "STL",
"role": "pitcher",
"espn_rank": 189,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 189,
"gp_value": 15.0,
"gp_rank": 328,
"gs_value": 15.0,
"gs_rank": 68,
"qs_value": 9.0,
"qs_rank": 22,
"era_value": 4.3027,
"era_rank": 56.0,
"w_value": 5.0,
"w_rank": 57,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 83.2,
"ip_rank": 68,
"h_value": 78.0,
"h_rank": 66,
"er_value": 40.0,
"er_rank": 54,
"hr_value": 7.0,
"hr_rank": 139,
"bb_value": 22.0,
"bb_rank": 124,
"k_value": 77.0,
"k_rank": 62,
"k_per_9_value": 8.282868,
"k_per_9_rank": 24,
"whip_value": 1.1952,
"whip_rank": 35.0,
"war_value": 0.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9996,
"home_runs_vs_away_pitcher": 0.9998,
"home_pitcher_quality_edge": 0.0094
},
"score_before": {
"away_runs": 3.571,
"home_runs": 4.047
},
"score_after": {
"away_runs": 3.5693,
"home_runs": 4.0462,
"home_win_probability": 0.5407
},
"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 STL | 4-6 | 0.400 | 3.50 | 4.90 | -14 | average | average | |
| Home ATL | 3-7 | 0.300 | 2.80 | 3.70 | -9 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away STL | 44-39 | 0.530 | -10 | -0.120 | True |
| Home ATL | 50-35 | 0.588 | 85 | 1 | True |
| Signal | - | - | 1.121 | 1.208 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target STL | - | - | 3 | - | - | - | - |
| Game target ATL | - | - | 4 | - | - | - | - |
| Player finalized STL | 33 | 9 | 3 | 0 | 1 | 1 | 8 |
| Player finalized ATL | 34 | 9 | 3 | 0 | 2 | 0 | 8 |
| Player model fractional STL | 32.79 | 7.36 | 3.81 | 0.88 | 3.67 | 2.95 | 7.12 |
| Player model fractional ATL | 32.45 | 7.64 | 4.22 | 1.05 | 3.90 | 2.65 | 6.98 |
| Simulation box STL | 30 | 4 | 3 | 1 | 3 | 3 | 13 |
| Simulation box ATL | 33 | 8 | 5 | 2 | 5 | 2 | 9 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away STL | Starter | Dustin May | 5.20 | 2 | 9 | 4 | 1 | 3.75 | 1.05 | True |
| Away STL | Middle Reliever | George Soriano | 1 | 2 | 0 | 2 | 0 | 4.72 | 1.27 | True |
| Away STL | Middle Reliever | Riley O'Brien | 1.10 | 1 | 0 | 2 | 1 | 4.36 | 1.22 | True |
| Away STL | Middle Reliever | JoJo Romero | 0 | 0 | 0 | 0 | 0 | 4.28 | 1.31 | True |
| Home ATL | Starter | Hurston Waldrep | 3 | 3 | 7 | 3 | 2 | 4.15 | 1.45 | True |
| Home ATL | Middle Reliever | Dylan Lee | 1.20 | 0 | 2 | 0 | 0 | 1.90 | 0.81 | True |
| Home ATL | Middle Reliever | Raisel Iglesias | 2.10 | 0 | 2 | 1 | 0 | 2.98 | 1.19 | True |
| Home ATL | Middle Reliever | Didier Fuentes | 1 | 0 | 1 | 0 | 0 | 3.43 | 1.25 | True |
| Home ATL | Middle Reliever | Tyler Kinley | 1 | 0 | 1 | 0 | 1 | 3.06 | 1.16 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | ATL | pitcher | Starter | Hurston Waldrep | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 2.9000 | boost | better |
| home | ATL | batter | SS | Jim Jarvis | better | 8 | 6 | 2 | 5 | 3 | predicted_RBI | 2.5800 | boost | better |
| away | STL | batter | 2B | JJ Wetherholt | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | -2.4300 | deboost | worse |
| away | STL | batter | 1B | Alec Burleson | worse | 11 | 1 | 10 | 0 | 11 | predicted_SO | 2.3580 | boost | worse |
| away | STL | batter | DH | Iván Herrera | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.2800 | boost | worse |
| away | STL | pitcher | Starter | Dustin May | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 2.0000 | boost | better |
| away | STL | pitcher | Middle Reliever | JoJo Romero | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -2.0000 | deboost | worse |
| home | ATL | batter | RF | Mike Yastrzemski | worse | 10 | 1 | 9 | 2 | 8 | predicted_BB | 1.6990 | boost | better |
| away | STL | batter | RF | Jordan Walker | worse | 9 | 3 | 6 | 4 | 5 | predicted_RBI | 1.4700 | boost | better |
| home | ATL | batter | DH | Dominic Smith | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | 1.2900 | boost | better |
| home | ATL | batter | 3B | Austin Riley | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 1.2500 | boost | better |
| away | STL | batter | CF | Nathan Church | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.2330 | boost | worse |
| home | ATL | batter | CF | Michael Harris II | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.2310 | boost | worse |
| home | ATL | batter | 2B | Ozzie Albies | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | -1.1500 | deboost | worse |
| home | ATL | pitcher | Middle Reliever | Raisel Iglesias | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.1000 | boost | better |
| home | ATL | batter | C | Drake Baldwin | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | 1.0600 | boost | better |
| away | STL | batter | C | Jimmy Crooks | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.0530 | boost | worse |
| home | ATL | batter | 1B | Matt Olson | worse | 9 | 1 | 8 | 1 | 8 | predicted_H | -1.0100 | deboost | worse |
| home | ATL | batter | LF | Mauricio Dubón | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.9500 | deboost | worse |
| home | ATL | pitcher | Middle Reliever | Didier Fuentes | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | ATL | pitcher | Middle Reliever | Tyler Kinley | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| away | STL | batter | SS | Masyn Winn | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8900 | deboost | worse |
| away | STL | batter | LF | Lars Nootbaar | worse | 10 | 5 | 5 | 4 | 6 | predicted_2B | 0.8180 | boost | better |
| away | STL | batter | 3B | Blaze Jordan | worse | 12 | 3 | 9 | 2 | 10 | predicted_2B | 0.8120 | boost | better |
| home | ATL | pitcher | Middle Reliever | Dylan Lee | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | STL | pitcher | Middle Reliever | Riley O'Brien | 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 | Dustin May |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0027 |
| ESPN Rank | 189 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1447 |
| 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 | 4 |
| Pre BB | 1 |
| Pre SO | 9 |
| Season ERA | 4.3028 |
| Season WHIP | 1.1952 |
| Role Avg IP | 5.5780 |
| Recent Avg IP | 5.9330 |
| Last Start IP | 2 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"opponent": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"edges": {
"quality_edge": -0.135,
"offense_edge": -0.0631,
"opponent_offense_edge": 0.0178,
"defense_strength": 0.0755,
"opponent_defense_weakness": -0.2743,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 1.002,
"strikeout": 0.9945
},
"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": 22.5,
"bb_percent": 6.4,
"woba": 0.303,
"xwoba": 0.301,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 46.4,
"avg_best_speed": 79.3867,
"avg_hyper_speed": 94.7937,
"whiff_percent": 21.7,
"swing_percent": 47.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.001,
"command_and_miss": -0.0582,
"regression_edge": 0.0571,
"xwoba_edge": 0.3286,
"barrel_edge": 0.0444,
"hard_hit_edge": -1.1571,
"whiff_edge": -0.5429,
"bb_edge": 0.675,
"pitch_design_score": 0.1447
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669160",
"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": 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": 89,
"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.1447,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0332,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0027,
"sample_weight": 1.0,
"run_prevention_factor": 0.9998,
"strikeout_factor": 0.978,
"walk_factor": 0.946,
"homer_factor": 1.0329,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669160",
"espn_id": 40937,
"player_name": "Dustin May",
"team": "STL",
"role": "pitcher",
"espn_rank": 189,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 189,
"gp_value": 15.0,
"gp_rank": 328,
"gs_value": 15.0,
"gs_rank": 68,
"qs_value": 9.0,
"qs_rank": 22,
"era_value": 4.3027,
"era_rank": 56.0,
"w_value": 5.0,
"w_rank": 57,
"l_value": 6.0,
"l_rank": 30,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 83.2,
"ip_rank": 68,
"h_value": 78.0,
"h_rank": 66,
"er_value": 40.0,
"er_rank": 54,
"hr_value": 7.0,
"hr_rank": 139,
"bb_value": 22.0,
"bb_rank": 124,
"k_value": 77.0,
"k_rank": 62,
"k_per_9_value": 8.282868,
"k_per_9_rank": 24,
"whip_value": 1.1952,
"whip_rank": 35.0,
"war_value": 0.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9998,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9998,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.946,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0329,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 0.978,
"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.0,
"ER": 24,
"H": 45,
"BB": 17,
"SO": 57,
"HR": 4,
"ERA": 3.6610169491525424,
"WHIP": 1.0508474576271187,
"K9": 8.694915254237289,
"HR9": 0.6101694915254238,
"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-21T00:00:00"
}{
"available": true,
"pitcher_id": "669160",
"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": 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": 89,
"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.1447,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0332,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "669160",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.2,
"ER": 10.0,
"R": 11.0,
"H": 18.0,
"BB": 5.0,
"SO": 35.0,
"HR": 2.0,
"BF": 112.0,
"Pitches": 423.0
},
"per_game": {
"IP": 6.0,
"ER": 2.0,
"R": 2.2,
"H": 3.6,
"BB": 1.0,
"SO": 7.0,
"HR": 0.4,
"BF": 22.4,
"Pitches": 84.6
},
"rates": {
"ERA": 3.0337,
"WHIP": 0.7753,
"ER_per_IP": 0.33708,
"H_per_IP": 0.60674,
"BB_per_IP": 0.16854,
"SO_per_IP": 1.17978,
"HR_per_IP": 0.06742
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.0,
"ER": 24.0,
"R": 26.0,
"H": 45.0,
"BB": 17.0,
"SO": 57.0,
"HR": 4.0,
"BF": 236.0,
"Pitches": 892.0
},
"per_game": {
"IP": 6.0,
"ER": 2.4,
"R": 2.6,
"H": 4.5,
"BB": 1.7,
"SO": 5.7,
"HR": 0.4,
"BF": 23.6,
"Pitches": 89.2
},
"rates": {
"ERA": 3.661,
"WHIP": 1.0508,
"ER_per_IP": 0.40678,
"H_per_IP": 0.76271,
"BB_per_IP": 0.28814,
"SO_per_IP": 0.9661,
"HR_per_IP": 0.0678
}
},
"season": {
"games": 15,
"totals": {
"IP": 83.2,
"ER": 40.0,
"R": 43.0,
"H": 78.0,
"BB": 22.0,
"SO": 77.0,
"HR": 7.0,
"BF": 342.0,
"Pitches": 1295.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6667,
"R": 2.8667,
"H": 5.2,
"BB": 1.4667,
"SO": 5.1333,
"HR": 0.4667,
"BF": 22.8,
"Pitches": 86.3333
},
"rates": {
"ERA": 4.3028,
"WHIP": 1.1952,
"ER_per_IP": 0.47809,
"H_per_IP": 0.93227,
"BB_per_IP": 0.26295,
"SO_per_IP": 0.92032,
"HR_per_IP": 0.08367
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.444,
"predicted_H": 4.612,
"predicted_BB": 1.533,
"predicted_SO": 6.032,
"predicted_HR": 0.527,
"predicted_ERA": 3.75,
"predicted_WHIP": 1.0475
}
}{
"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": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.444,
"final": 2.2417,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.612,
"final": 4.3332,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.533,
"final": 1.2902,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 6.032,
"final": 6.473,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.527,
"final": 0.7425,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.75,
"final": 3.75,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0475,
"final": 1.0475,
"source": "form_only"
}
}
}{
"available": false,
"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.0872 |
| ESPN Rank | 204 |
| 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 | 0 |
| Pre SO | 0 |
| Season ERA | 3.4679 |
| Season WHIP | 1.1560 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"opponent": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"edges": {
"quality_edge": -0.135,
"offense_edge": -0.0631,
"opponent_offense_edge": 0.0178,
"defense_strength": 0.0755,
"opponent_defense_weakness": -0.2743,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 1.002,
"strikeout": 0.9945
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666277",
"profile": {
"available": true,
"pitcher_id": "666277",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 89.0,
"k_percent": 19.9,
"bb_percent": 9.9,
"woba": 0.281,
"xwoba": 0.327,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 40.0,
"avg_best_speed": 79.8628,
"avg_hyper_speed": 94.4579,
"whiff_percent": 29.9,
"swing_percent": 49.1
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.1157,
"command_and_miss": 0.0096,
"regression_edge": -1.3143,
"xwoba_edge": -0.4143,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.2429,
"whiff_edge": 0.6286,
"bb_edge": -0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "666277",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0872,
"sample_weight": 0.45,
"run_prevention_factor": 1.0074,
"strikeout_factor": 1.0045,
"walk_factor": 1.0072,
"homer_factor": 1.0268,
"woba_minus_xwoba": -0.046,
"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": 204,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 204,
"gp_value": 37.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.4678,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 11.0,
"hld_rank": 22,
"ip_value": 36.1,
"ip_rank": 229,
"h_value": 27.0,
"h_rank": 289,
"er_value": 14.0,
"er_rank": 273,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 15.0,
"bb_rank": 228,
"k_value": 30.0,
"k_rank": 298,
"k_per_9_value": 7.431193,
"k_per_9_rank": 35,
"whip_value": 1.1559,
"whip_rank": null,
"war_value": 0.49,
"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.0032,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0121,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.002,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 6,
"H": 9,
"BB": 5,
"SO": 8,
"HR": 1,
"ERA": 5.062499999999999,
"WHIP": 1.3124999999999998,
"K9": 6.749999999999999,
"HR9": 0.8437499999999999,
"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-30T00: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": 7.202,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5902,
"prior_weight": 0.4098
},
"role": "pitcher",
"player_id": "666277",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 2.0,
"BB": 4.0,
"SO": 3.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 86.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.4,
"BB": 0.8,
"SO": 0.6,
"HR": 0.0,
"BF": 4.2,
"Pitches": 17.2
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2,
"ER_per_IP": 0.6,
"H_per_IP": 0.4,
"BB_per_IP": 0.8,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 5.0,
"SO": 8.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.5,
"SO": 0.8,
"HR": 0.1,
"BF": 4.6,
"Pitches": 17.1
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.3125,
"ER_per_IP": 0.5625,
"H_per_IP": 0.84375,
"BB_per_IP": 0.46875,
"SO_per_IP": 0.75,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 37,
"totals": {
"IP": 36.1,
"ER": 14.0,
"R": 15.0,
"H": 27.0,
"BB": 15.0,
"SO": 30.0,
"HR": 4.0,
"BF": 151.0,
"Pitches": 572.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3784,
"R": 0.4054,
"H": 0.7297,
"BB": 0.4054,
"SO": 0.8108,
"HR": 0.1081,
"BF": 4.0811,
"Pitches": 15.4595
},
"rates": {
"ERA": 3.4679,
"WHIP": 1.156,
"ER_per_IP": 0.38532,
"H_per_IP": 0.74312,
"BB_per_IP": 0.41284,
"SO_per_IP": 0.82569,
"HR_per_IP": 0.11009
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.525,
"predicted_H": 0.764,
"predicted_BB": 0.505,
"predicted_SO": 0.802,
"predicted_HR": 0.093,
"predicted_ERA": 4.7246,
"predicted_WHIP": 1.2684
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5231,
"form_weight": 0.4769,
"form_reliability": 0.5902,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.202,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5902,
"prior_weight": 0.4098
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.525,
"final": 1.2966,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.764,
"final": 1.4106,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.505,
"final": 0.2408,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.802,
"final": 0.3824,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.093,
"final": 0.5675,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7246,
"final": 4.7246,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2684,
"final": 1.2684,
"source": "form_only"
}
}
}{
"available": false,
"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.0014 |
| ESPN Rank | 255 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 3.8208 |
| Season WHIP | 1.1604 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"opponent": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"edges": {
"quality_edge": -0.135,
"offense_edge": -0.0631,
"opponent_offense_edge": 0.0178,
"defense_strength": 0.0755,
"opponent_defense_weakness": -0.2743,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 1.002,
"strikeout": 0.9945
},
"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": 22.7,
"bb_percent": 7.3,
"woba": 0.288,
"xwoba": 0.324,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 38.4,
"avg_best_speed": 76.2216,
"avg_hyper_speed": 94.3659,
"whiff_percent": 26.7,
"swing_percent": 46.4
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.1039,
"command_and_miss": 0.1596,
"regression_edge": -1.0286,
"xwoba_edge": -0.3286,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.0143,
"whiff_edge": 0.1714,
"bb_edge": 0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676617",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0014,
"sample_weight": 0.45,
"run_prevention_factor": 1.0001,
"strikeout_factor": 1.0035,
"walk_factor": 0.9838,
"homer_factor": 0.9943,
"woba_minus_xwoba": -0.036,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676617",
"espn_id": 41509,
"player_name": "Riley O'Brien",
"team": "STL",
"role": "pitcher",
"espn_rank": 255,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 255,
"gp_value": 35.0,
"gp_rank": 55,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.8207,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 21.0,
"sv_rank": 2,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 35.1,
"ip_rank": 242,
"h_value": 30.0,
"h_rank": 256,
"er_value": 15.0,
"er_rank": 258,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 34.0,
"k_rank": 253,
"k_per_9_value": 8.6603775,
"k_per_9_rank": 28,
"whip_value": 1.1603,
"whip_rank": null,
"war_value": 0.28,
"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.9927,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9974,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0016,
"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": 9,
"BB": 7,
"SO": 7,
"HR": 1,
"ERA": 5.4,
"WHIP": 1.6,
"K9": 6.3,
"HR9": 0.9,
"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-30T00: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": 7.004,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5835,
"prior_weight": 0.4165
},
"role": "pitcher",
"player_id": "676617",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 35,
"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": 2.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 66.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.2,
"SO": 0.4,
"HR": 0.2,
"BF": 4.2,
"Pitches": 13.2
},
"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.4,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 7.0,
"SO": 7.0,
"HR": 1.0,
"BF": 48.0,
"Pitches": 180.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.7,
"SO": 0.7,
"HR": 0.1,
"BF": 4.8,
"Pitches": 18.0
},
"rates": {
"ERA": 5.4,
"WHIP": 1.6,
"ER_per_IP": 0.6,
"H_per_IP": 0.9,
"BB_per_IP": 0.7,
"SO_per_IP": 0.7,
"HR_per_IP": 0.1
}
},
"season": {
"games": 35,
"totals": {
"IP": 35.1,
"ER": 15.0,
"R": 17.0,
"H": 30.0,
"BB": 11.0,
"SO": 34.0,
"HR": 2.0,
"BF": 150.0,
"Pitches": 573.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4286,
"R": 0.4857,
"H": 0.8571,
"BB": 0.3143,
"SO": 0.9714,
"HR": 0.0571,
"BF": 4.2857,
"Pitches": 16.3714
},
"rates": {
"ERA": 3.8208,
"WHIP": 1.1604,
"ER_per_IP": 0.42453,
"H_per_IP": 0.84906,
"BB_per_IP": 0.31132,
"SO_per_IP": 0.96226,
"HR_per_IP": 0.0566
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.484,
"predicted_H": 0.842,
"predicted_BB": 0.381,
"predicted_SO": 0.757,
"predicted_HR": 0.141,
"predicted_ERA": 4.3593,
"predicted_WHIP": 1.2232
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.526,
"form_weight": 0.474,
"form_reliability": 0.5835,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.004,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5835,
"prior_weight": 0.4165
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.484,
"final": 0.7554,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.842,
"final": 1.4511,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.381,
"final": 0.7066,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.757,
"final": 0.3588,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.141,
"final": 0.0668,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3593,
"final": 4.3593,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2232,
"final": 1.2232,
"source": "form_only"
}
}
}{
"available": false,
"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.1670 |
| ESPN Rank | 219 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.8919 |
| Season WHIP | 1.2973 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"opponent": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"edges": {
"quality_edge": -0.135,
"offense_edge": -0.0631,
"opponent_offense_edge": 0.0178,
"defense_strength": 0.0755,
"opponent_defense_weakness": -0.2743,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9962,
"run_prevention": 1.002,
"strikeout": 0.9945
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668941",
"profile": {
"available": true,
"pitcher_id": "668941",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 22.8,
"bb_percent": 7.6,
"woba": 0.322,
"xwoba": 0.337,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 43.9,
"avg_best_speed": 80.2003,
"avg_hyper_speed": 95.7728,
"whiff_percent": 23.0,
"swing_percent": 39.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.5703,
"command_and_miss": -0.0339,
"regression_edge": -0.4286,
"xwoba_edge": -0.7,
"barrel_edge": -0.0222,
"hard_hit_edge": -0.8,
"whiff_edge": -0.3571,
"bb_edge": 0.375,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668941",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.167,
"sample_weight": 0.45,
"run_prevention_factor": 1.0142,
"strikeout_factor": 0.9942,
"walk_factor": 0.9865,
"homer_factor": 1.0247,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668941",
"espn_id": 40456,
"player_name": "JoJo Romero",
"team": "STL",
"role": "pitcher",
"espn_rank": 219,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 219,
"gp_value": 38.0,
"gp_rank": 23,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.8918,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 19.0,
"hld_rank": 1,
"ip_value": 37.0,
"ip_rank": 225,
"h_value": 36.0,
"h_rank": 194,
"er_value": 16.0,
"er_rank": 239,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 12.0,
"bb_rank": 289,
"k_value": 36.0,
"k_rank": 234,
"k_per_9_value": 8.756757,
"k_per_9_rank": 28,
"whip_value": 1.2972,
"whip_rank": null,
"war_value": 0.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0064,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0064,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9939,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0111,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9974,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 5,
"H": 12,
"BB": 1,
"SO": 8,
"HR": 2,
"ERA": 5.000000000000001,
"WHIP": 1.4444444444444446,
"K9": 8.000000000000002,
"HR9": 2.0000000000000004,
"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-30T00: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": 7.335,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5946,
"prior_weight": 0.4054
},
"role": "pitcher",
"player_id": "668941",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 38,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 0.0,
"SO": 4.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.0,
"SO": 0.8,
"HR": 0.2,
"BF": 4.2,
"Pitches": 14.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.2,
"ER_per_IP": 0.4,
"H_per_IP": 1.2,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 5.0,
"R": 5.0,
"H": 12.0,
"BB": 1.0,
"SO": 8.0,
"HR": 2.0,
"BF": 40.0,
"Pitches": 142.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.2,
"BB": 0.1,
"SO": 0.8,
"HR": 0.2,
"BF": 4.0,
"Pitches": 14.2
},
"rates": {
"ERA": 5.0,
"WHIP": 1.4444,
"ER_per_IP": 0.55556,
"H_per_IP": 1.33333,
"BB_per_IP": 0.11111,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 38,
"totals": {
"IP": 37.0,
"ER": 16.0,
"R": 16.0,
"H": 36.0,
"BB": 12.0,
"SO": 36.0,
"HR": 5.0,
"BF": 158.0,
"Pitches": 621.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4211,
"R": 0.4211,
"H": 0.9474,
"BB": 0.3158,
"SO": 0.9474,
"HR": 0.1316,
"BF": 4.1579,
"Pitches": 16.3421
},
"rates": {
"ERA": 3.8919,
"WHIP": 1.2973,
"ER_per_IP": 0.43243,
"H_per_IP": 0.97297,
"BB_per_IP": 0.32432,
"SO_per_IP": 0.97297,
"HR_per_IP": 0.13514
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.347,
"predicted_H": 0.807,
"predicted_BB": 0.151,
"predicted_SO": 0.658,
"predicted_HR": 0.128,
"predicted_ERA": 4.2823,
"predicted_WHIP": 1.3122
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5213,
"form_weight": 0.4787,
"form_reliability": 0.5946,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.335,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5946,
"prior_weight": 0.4054
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.347,
"final": 0.1661,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.807,
"final": 0.3863,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.151,
"final": 0.0723,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.658,
"final": 1.3576,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.128,
"final": 0.0613,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2823,
"final": 4.2823,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3122,
"final": 1.3122,
"source": "form_only"
}
}
}{
"available": false,
"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.171 | 0.000 | 0.000 | Hitting_2B | 0.202 | 1.000 | -0.202 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.040 | 3.000 | 4.000 | Hitting_AB | 3.768 | 4.000 | -0.768 | -1.000 |
| predicted_AVG | 0.224 | 0.000 | 0.250 | Hitting_AVG | 0.257 | 0.250 | -0.257 | -0.250 |
| predicted_BB | 0.561 | 1.000 | 0.000 | Hitting_BB | 0.581 | 0.000 | 0.419 | 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.120 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.250 | Hitting_OBP | 0.387 | 0.250 | -0.137 | 0.000 |
| predicted_R | 0.634 | 0.000 | 1.000 | Hitting_R | 0.614 | 1.000 | -0.614 | -1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SLG | 0.441 | 0.000 | 0.250 | Hitting_SLG | 0.401 | 0.500 | -0.401 | -0.500 |
| predicted_SO | 0.720 | 3.000 | 1.000 | Hitting_SO | 0.798 | 1.000 | 2.202 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7200 -> 3.0000 (boost 2.2800, worse) |
| Biggest Deboost | predicted_AB: 4.0400 -> 3.0000 (deboost -1.0400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 4.0400 -> 3.8692 (deboost -0.1708, worse) | Final model input calibrated with local form: 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.3972 -> 0.3377 (deboost -0.0595, 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.7334 -> 1.0000 (boost 0.2666, worse) | predicted_BB: 0.5012 -> 0.0000 (deboost -0.5012, worse) | AB rounded to 4 (raw=4.04), rates preserved: AVG=0.203 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5575 -> 1.0000 (boost 0.4425, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2123 -> 0.2500 (boost 0.0377, better) | predicted_SLG: 0.3377 -> 0.2500 (deboost -0.0877, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3377 (boost 0.0877, better) | predicted_AVG: 0.2500 -> 0.2123 (deboost -0.0377, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.171,
"predicted_3B": 0.0,
"predicted_AB": 4.04,
"predicted_AVG": 0.224,
"predicted_BB": 0.561,
"predicted_H": 0.9,
"predicted_HR": 0.12,
"predicted_OBP": 0.318,
"predicted_R": 0.634,
"predicted_RBI": 0.4,
"predicted_SLG": 0.441,
"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.1676,
"predicted_3B": 0.0004,
"predicted_AB": 3.8692,
"predicted_AVG": 0.2195,
"predicted_BB": 0.5045,
"predicted_H": 0.8474,
"predicted_HBP": 0.226,
"predicted_HR": 0.1102,
"predicted_OBP": 0.322,
"predicted_R": 0.5861,
"predicted_RBI": 0.376,
"predicted_SLG": 0.3972,
"predicted_SO": 0.7286
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.1676,
"delta": -0.0034,
"percent_delta": -0.0199,
"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.8692,
"delta": -0.1708,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2195,
"delta": -0.0045,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.561,
"after": 0.5045,
"delta": -0.0565,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.8474,
"delta": -0.0526,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1102,
"delta": -0.0098,
"percent_delta": -0.0817,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.322,
"delta": 0.004,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.634,
"after": 0.5861,
"delta": -0.0479,
"percent_delta": -0.0756,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.376,
"delta": -0.024,
"percent_delta": -0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.3972,
"delta": -0.0438,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 0.7286,
"delta": 0.0086,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 3.8692,
"delta": -0.1708,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 82
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1676,
"predicted_3B": 0.0004,
"predicted_AB": 3.8692,
"predicted_AVG": 0.2123,
"predicted_BB": 0.5012,
"predicted_H": 0.8214,
"predicted_HBP": 0.226,
"predicted_HR": 0.1056,
"predicted_OBP": 0.3026,
"predicted_R": 0.5575,
"predicted_RBI": 0.3577,
"predicted_SLG": 0.3377,
"predicted_SO": 0.7334
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1676,
"after": 0.1676,
"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.8692,
"after": 3.8692,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2195,
"after": 0.2123,
"delta": -0.0072,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5045,
"after": 0.5012,
"delta": -0.0033,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8474,
"after": 0.8214,
"delta": -0.026,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.226,
"after": 0.226,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1102,
"after": 0.1056,
"delta": -0.0046,
"percent_delta": -0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3026,
"delta": -0.0194,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5861,
"after": 0.5575,
"delta": -0.0286,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.376,
"after": 0.3577,
"delta": -0.0183,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3972,
"after": 0.3377,
"delta": -0.0595,
"percent_delta": -0.1498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7286,
"after": 0.7334,
"delta": 0.0048,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3972,
"after": 0.3377,
"delta": -0.0595,
"percent_delta": -0.1498,
"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.203 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.1676,
"after": 0.0,
"delta": -0.1676,
"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.8692,
"after": 4.0,
"delta": 0.1308,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5012,
"after": 0.0,
"delta": -0.5012,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8214,
"after": 1.0,
"delta": 0.1786,
"percent_delta": 0.2174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1056,
"after": 0.0,
"delta": -0.1056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3577,
"after": 0.0,
"delta": -0.3577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7334,
"after": 1.0,
"delta": 0.2666,
"percent_delta": 0.3635,
"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.7334,
"after": 1.0,
"delta": 0.2666,
"percent_delta": 0.3635,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5012,
"after": 0.0,
"delta": -0.5012,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5575,
"after": 1.0,
"delta": 0.4425,
"percent_delta": 0.7937,
"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.5575,
"after": 1.0,
"delta": 0.4425,
"percent_delta": 0.7937,
"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.2123,
"after": 0.25,
"delta": 0.0377,
"percent_delta": 0.1776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3026,
"after": 0.25,
"delta": -0.0526,
"percent_delta": -0.1738,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3377,
"after": 0.25,
"delta": -0.0877,
"percent_delta": -0.2597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2123,
"after": 0.25,
"delta": 0.0377,
"percent_delta": 0.1776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3377,
"after": 0.25,
"delta": -0.0877,
"percent_delta": -0.2597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2123,
"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.3026,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3377,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2123,
"delta": -0.0377,
"percent_delta": -0.1508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3026,
"delta": 0.0526,
"percent_delta": 0.2105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3377,
"delta": 0.0877,
"percent_delta": 0.3507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3377,
"delta": 0.0877,
"percent_delta": 0.3507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2123,
"delta": -0.0377,
"percent_delta": -0.1508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 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": 3.0,
"delta": -1.04,
"percent_delta": -0.2574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2123,
"delta": -0.0117,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3026,
"delta": -0.0154,
"percent_delta": -0.0484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.634,
"after": 0.0,
"delta": -0.634,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.3377,
"delta": -0.1033,
"percent_delta": -0.2342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 3.0,
"delta": 2.28,
"percent_delta": 3.1667,
"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.72,
"after": 3.0,
"delta": 2.28,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 3.0,
"delta": -1.04,
"percent_delta": -0.2574,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.171 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.040 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.561 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.634 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.441 | - |
| 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.168 | -0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.869 | -0.171 |
| predicted_AVG | 0.220 | -0.005 |
| predicted_BB | 0.504 | -0.057 |
| predicted_H | 0.847 | -0.053 |
| predicted_HBP | 0.226 | - |
| predicted_HR | 0.110 | -0.010 |
| predicted_OBP | 0.322 | 0.004 |
| predicted_R | 0.586 | -0.048 |
| predicted_RBI | 0.376 | -0.024 |
| predicted_SLG | 0.397 | -0.044 |
| predicted_SO | 0.729 | 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.168 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.869 | 0.000 |
| predicted_AVG | 0.212 | -0.007 |
| predicted_BB | 0.501 | -0.003 |
| predicted_H | 0.821 | -0.026 |
| predicted_HBP | 0.226 | 0.000 |
| predicted_HR | 0.106 | -0.005 |
| predicted_OBP | 0.303 | -0.019 |
| predicted_R | 0.557 | -0.029 |
| predicted_RBI | 0.358 | -0.018 |
| predicted_SLG | 0.338 | -0.059 |
| predicted_SO | 0.733 | 0.005 |
AB rounded to 4 (raw=4.04), rates preserved: AVG=0.203 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.168 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.131 |
| predicted_AVG | 0.250 | 0.038 |
| predicted_BB | 0.000 | -0.501 |
| predicted_H | 1.000 | 0.179 |
| predicted_HR | 0.000 | -0.106 |
| predicted_OBP | 0.250 | -0.053 |
| predicted_R | 1.000 | 0.443 |
| predicted_RBI | 0.000 | -0.358 |
| predicted_SLG | 0.250 | -0.088 |
| 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 | 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 | 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 | - | 19.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 0.1053 | 0.1500 | 0.1579 | 0.1053 | 0.0000 | 0.0000 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 1.000 | 0.000 | 1.000 | 4.000 | 5.000 | 5.000 | 7.000 | 0.2059 | 0.3415 | 0.3235 | 0.2059 | 0.0294 | 0.1177 | 0.1471 | 0.2059 |
| season | 0.60 | 82 | - | 299.000 | 74.000 | 14.000 | 0.000 | 10.000 | 34.000 | 52.000 | 46.000 | 59.000 | 0.2475 | 0.3848 | 0.3946 | 0.2475 | 0.0334 | 0.1137 | 0.1538 | 0.1973 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1630 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6410 |
| predicted_AVG | 0.2135 |
| predicted_BB | 0.4290 |
| predicted_H | 0.7770 |
| predicted_HBP | 0.2260 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.3274 |
| predicted_R | 0.5220 |
| predicted_RBI | 0.3440 |
| predicted_SLG | 0.3387 |
| predicted_SO | 0.7400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1710 | 0.1630 | 0.1676 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0400 | 3.6410 | 3.8692 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2135 | 0.2195 | model_form_blend |
| predicted_BB | 0.5610 | 0.4290 | 0.5045 | model_form_blend |
| predicted_H | 0.9000 | 0.7770 | 0.8474 | model_form_blend |
| predicted_HBP | - | 0.2260 | 0.2260 | form_only |
| predicted_HR | 0.1200 | 0.0970 | 0.1102 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3274 | 0.3220 | model_form_blend |
| predicted_R | 0.6340 | 0.5220 | 0.5861 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3440 | 0.3760 | model_form_blend |
| predicted_SLG | 0.4410 | 0.3387 | 0.3972 | model_form_blend |
| predicted_SO | 0.7200 | 0.7400 | 0.7286 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 272 |
| Season rows before report date | 272 |
| Report year | 2026 |
| Profile rows used | 82 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 3 |
| 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 671056 |
| playerID | 671056 |
| playerName | Iván Herrera |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.357 |
| sl_xwoba | 0.36 |
| sl_xba | 0.258 |
| sl_xslg | 0.403 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 41.2 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 8.5 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 42.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.247 | 0.000 | 0.000 | Hitting_2B | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.250 | 4.000 | 4.000 | Hitting_AB | 4.012 | 4.000 | -0.012 | 0.000 |
| predicted_AVG | 0.224 | 0.000 | 0.250 | Hitting_AVG | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_BB | 0.358 | 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.950 | 0.000 | 1.000 | Hitting_H | 1.113 | 0.000 | -1.113 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.144 | 0.000 | -0.144 | 0.000 |
| predicted_OBP | 0.294 | 0.000 | 0.250 | Hitting_OBP | 0.343 | 0.000 | -0.343 | 0.000 |
| predicted_R | 0.519 | 0.000 | 0.000 | Hitting_R | 0.525 | 0.000 | -0.525 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 0.000 | Hitting_RBI | 0.693 | 0.000 | -0.693 | 0.000 |
| predicted_SLG | 0.471 | 0.000 | 0.250 | Hitting_SLG | 0.458 | 0.000 | -0.458 | 0.000 |
| predicted_SO | 0.642 | 3.000 | 1.000 | Hitting_SO | 0.720 | 1.000 | 2.280 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 0 |
| Worse Metrics | 11 |
| Biggest Boost | predicted_SO: 0.6420 -> 3.0000 (boost 2.3580, worse) |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.2500 -> 3.9444 (deboost -0.3056, worse) | Final model input calibrated with local form: 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.4212 -> 0.3593 (deboost -0.0619, 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.6235 -> 1.0000 (boost 0.3765, worse) | predicted_RBI: 0.4649 -> 0.0000 (deboost -0.4649, worse) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.197 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4296 -> 0.0000 (deboost -0.4296, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2119 -> 0.2500 (boost 0.0381, better) | predicted_SLG: 0.3593 -> 0.2500 (deboost -0.1093, 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 -> 3.0000 (boost 2.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.3593 (boost 0.1093, better) | predicted_AVG: 0.2500 -> 0.2119 (deboost -0.0381, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676475",
"player_name": "Alec Burleson",
"position": "1B",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.247,
"predicted_3B": 0.012,
"predicted_AB": 4.25,
"predicted_AVG": 0.224,
"predicted_BB": 0.358,
"predicted_H": 0.95,
"predicted_HR": 0.13,
"predicted_OBP": 0.294,
"predicted_R": 0.519,
"predicted_RBI": 0.52,
"predicted_SLG": 0.471,
"predicted_SO": 0.642
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.218,
"predicted_3B": 0.0188,
"predicted_AB": 3.9444,
"predicted_AVG": 0.2182,
"predicted_BB": 0.3371,
"predicted_H": 0.8621,
"predicted_HBP": 0.115,
"predicted_HR": 0.1134,
"predicted_OBP": 0.2941,
"predicted_R": 0.4516,
"predicted_RBI": 0.4888,
"predicted_SLG": 0.4212,
"predicted_SO": 0.6194
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.218,
"delta": -0.029,
"percent_delta": -0.1174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0188,
"delta": 0.0068,
"percent_delta": 0.5667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 3.9444,
"delta": -0.3056,
"percent_delta": -0.0719,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2182,
"delta": -0.0058,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.358,
"after": 0.3371,
"delta": -0.0209,
"percent_delta": -0.0584,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.8621,
"delta": -0.0879,
"percent_delta": -0.0925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1134,
"delta": -0.0166,
"percent_delta": -0.1277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2941,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.4516,
"delta": -0.0674,
"percent_delta": -0.1299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.4888,
"delta": -0.0312,
"percent_delta": -0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4212,
"delta": -0.0498,
"percent_delta": -0.1057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.642,
"after": 0.6194,
"delta": -0.0226,
"percent_delta": -0.0352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.25,
"after": 3.9444,
"delta": -0.3056,
"percent_delta": -0.0719,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.218,
"predicted_3B": 0.0188,
"predicted_AB": 3.9444,
"predicted_AVG": 0.2119,
"predicted_BB": 0.3349,
"predicted_H": 0.8356,
"predicted_HBP": 0.115,
"predicted_HR": 0.1087,
"predicted_OBP": 0.2735,
"predicted_R": 0.4296,
"predicted_RBI": 0.4649,
"predicted_SLG": 0.3593,
"predicted_SO": 0.6235
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.218,
"after": 0.218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0188,
"after": 0.0188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9444,
"after": 3.9444,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2182,
"after": 0.2119,
"delta": -0.0063,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3371,
"after": 0.3349,
"delta": -0.0022,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8621,
"after": 0.8356,
"delta": -0.0265,
"percent_delta": -0.0307,
"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.1134,
"after": 0.1087,
"delta": -0.0047,
"percent_delta": -0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2941,
"after": 0.2735,
"delta": -0.0206,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4516,
"after": 0.4296,
"delta": -0.022,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4888,
"after": 0.4649,
"delta": -0.0239,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4212,
"after": 0.3593,
"delta": -0.0619,
"percent_delta": -0.147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6194,
"after": 0.6235,
"delta": 0.0041,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4212,
"after": 0.3593,
"delta": -0.0619,
"percent_delta": -0.147,
"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.197 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.218,
"after": 0.0,
"delta": -0.218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0188,
"after": 0.0,
"delta": -0.0188,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9444,
"after": 4.0,
"delta": 0.0556,
"percent_delta": 0.0141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3349,
"after": 0.0,
"delta": -0.3349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8356,
"after": 1.0,
"delta": 0.1644,
"percent_delta": 0.1967,
"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.1087,
"after": 0.0,
"delta": -0.1087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4649,
"after": 0.0,
"delta": -0.4649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6235,
"after": 1.0,
"delta": 0.3765,
"percent_delta": 0.6038,
"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.6235,
"after": 1.0,
"delta": 0.3765,
"percent_delta": 0.6038,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4649,
"after": 0.0,
"delta": -0.4649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4296,
"after": 0.0,
"delta": -0.4296,
"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.4296,
"after": 0.0,
"delta": -0.4296,
"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.2119,
"after": 0.25,
"delta": 0.0381,
"percent_delta": 0.1798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2735,
"after": 0.25,
"delta": -0.0235,
"percent_delta": -0.0859,
"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.3593,
"after": 0.25,
"delta": -0.1093,
"percent_delta": -0.3042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2119,
"after": 0.25,
"delta": 0.0381,
"percent_delta": 0.1798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3593,
"after": 0.25,
"delta": -0.1093,
"percent_delta": -0.3042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.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": 3.0,
"delta": 2.0,
"percent_delta": 2.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.2119,
"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.2735,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3593,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2119,
"delta": -0.0381,
"percent_delta": -0.1526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2735,
"delta": 0.0235,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3593,
"delta": 0.1093,
"percent_delta": 0.4372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3593,
"delta": 0.1093,
"percent_delta": 0.4372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2119,
"delta": -0.0381,
"percent_delta": -0.1526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.247,
"after": 0.0,
"delta": -0.247,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 4.0,
"delta": -0.25,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2119,
"delta": -0.0121,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.358,
"after": 0.0,
"delta": -0.358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2735,
"delta": -0.0205,
"percent_delta": -0.0697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.519,
"after": 0.0,
"delta": -0.519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.3593,
"delta": -0.1117,
"percent_delta": -0.2372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.642,
"after": 3.0,
"delta": 2.358,
"percent_delta": 3.6729,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 11,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.642,
"after": 3.0,
"delta": 2.358,
"percent_delta": 3.6729,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.358 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.519 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.642 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.218 | -0.029 |
| predicted_3B | 0.019 | 0.007 |
| predicted_AB | 3.944 | -0.306 |
| predicted_AVG | 0.218 | -0.006 |
| predicted_BB | 0.337 | -0.021 |
| predicted_H | 0.862 | -0.088 |
| predicted_HBP | 0.115 | - |
| predicted_HR | 0.113 | -0.017 |
| predicted_OBP | 0.294 | 0.000 |
| predicted_R | 0.452 | -0.067 |
| predicted_RBI | 0.489 | -0.031 |
| predicted_SLG | 0.421 | -0.050 |
| predicted_SO | 0.619 | -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.218 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.944 | 0.000 |
| predicted_AVG | 0.212 | -0.006 |
| predicted_BB | 0.335 | -0.002 |
| predicted_H | 0.836 | -0.026 |
| predicted_HBP | 0.115 | 0.000 |
| predicted_HR | 0.109 | -0.005 |
| predicted_OBP | 0.274 | -0.021 |
| predicted_R | 0.430 | -0.022 |
| predicted_RBI | 0.465 | -0.024 |
| predicted_SLG | 0.359 | -0.062 |
| predicted_SO | 0.624 | 0.004 |
AB rounded to 4 (raw=4.25), rates preserved: AVG=0.197 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 | 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.218 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.056 |
| predicted_AVG | 0.250 | 0.038 |
| predicted_BB | 0.000 | -0.335 |
| predicted_H | 1.000 | 0.164 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.250 | -0.024 |
| predicted_R | 0.000 | -0.430 |
| predicted_RBI | 0.000 | -0.465 |
| predicted_SLG | 0.250 | -0.109 |
| predicted_SO | 1.000 | 0.376 |
Attached 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 | 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 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.0000 | 0.1250 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 2.000 | 1.000 | 0.000 | 3.000 | 3.000 | 3.000 | 3.000 | 0.2188 | 0.3243 | 0.3438 | 0.2188 | 0.0000 | 0.0938 | 0.0938 | 0.0938 |
| season | 0.60 | 81 | - | 312.000 | 85.000 | 20.000 | 1.000 | 13.000 | 56.000 | 42.000 | 29.000 | 52.000 | 0.2724 | 0.3391 | 0.4679 | 0.2724 | 0.0417 | 0.1795 | 0.0930 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1790 |
| predicted_3B | 0.0280 |
| predicted_AB | 3.5340 |
| predicted_AVG | 0.2104 |
| predicted_BB | 0.3090 |
| predicted_H | 0.7440 |
| predicted_HBP | 0.1150 |
| predicted_HR | 0.0910 |
| predicted_OBP | 0.2943 |
| predicted_R | 0.3610 |
| predicted_RBI | 0.4470 |
| predicted_SLG | 0.3542 |
| predicted_SO | 0.5890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2470 | 0.1790 | 0.2180 | model_form_blend |
| predicted_3B | 0.0120 | 0.0280 | 0.0188 | model_form_blend |
| predicted_AB | 4.2500 | 3.5340 | 3.9444 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2104 | 0.2182 | model_form_blend |
| predicted_BB | 0.3580 | 0.3090 | 0.3371 | model_form_blend |
| predicted_H | 0.9500 | 0.7440 | 0.8621 | model_form_blend |
| predicted_HBP | - | 0.1150 | 0.1150 | form_only |
| predicted_HR | 0.1300 | 0.0910 | 0.1134 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2943 | 0.2941 | model_form_blend |
| predicted_R | 0.5190 | 0.3610 | 0.4516 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4470 | 0.4888 | model_form_blend |
| predicted_SLG | 0.4710 | 0.3542 | 0.4212 | model_form_blend |
| predicted_SO | 0.6420 | 0.5890 | 0.6194 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.272 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 20260701_STL@ATL |
| game_type | full |
| mlbID | 676475 |
| playerID | 676475 |
| playerName | Alec Burleson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.351 |
| sl_xwoba | 0.385 |
| sl_xba | 0.294 |
| sl_xslg | 0.541 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 48.3 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 50.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 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 | 4.140 | 4.000 | 4.000 | Hitting_AB | 3.921 | 3.000 | 0.079 | 1.000 |
| predicted_AVG | 0.248 | 0.250 | 0.250 | Hitting_AVG | 0.315 | 0.333 | -0.065 | -0.083 |
| predicted_BB | 0.312 | 0.000 | 0.000 | Hitting_BB | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_H | 1.030 | 1.000 | 1.000 | Hitting_H | 1.234 | 1.000 | -0.234 | 0.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.286 | 0.000 | 0.714 | 1.000 |
| predicted_OBP | 0.326 | 0.250 | 0.250 | Hitting_OBP | 0.377 | 0.333 | -0.127 | -0.083 |
| predicted_R | 0.575 | 1.000 | 0.000 | Hitting_R | 0.722 | 0.000 | 0.278 | 1.000 |
| predicted_RBI | 0.530 | 2.000 | 0.000 | Hitting_RBI | 0.853 | 1.000 | 1.147 | 1.000 |
| predicted_SLG | 0.494 | 1.000 | 0.250 | Hitting_SLG | 0.593 | 0.333 | 0.407 | 0.667 |
| predicted_SO | 1.113 | 0.000 | 1.000 | Hitting_SO | 1.107 | 2.000 | -1.107 | -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_RBI: 0.5300 -> 2.0000 (boost 1.4700, better) |
| Biggest Deboost | predicted_SO: 1.1130 -> 0.0000 (deboost -1.1130, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 3 | 3 | 2 | 4 | predicted_SO: 1.1130 -> 1.1663 (boost 0.0533, worse) | predicted_AB: 4.1400 -> 3.9452 (deboost -0.1948, worse) | Final model input calibrated with local form: 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.4581 -> 0.3948 (deboost -0.0633, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_AB: 3.9452 -> 4.0000 (boost 0.0548, better) | predicted_RBI: 0.4936 -> 0.0000 (deboost -0.4936, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.241 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4764 -> 0.0000 (deboost -0.4764, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3948 -> 0.2500 (deboost -0.1448, 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: 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3948 (boost 0.1448, 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.2,
"predicted_3B": 0.0,
"predicted_AB": 4.14,
"predicted_AVG": 0.248,
"predicted_BB": 0.312,
"predicted_H": 1.03,
"predicted_HR": 0.15,
"predicted_OBP": 0.326,
"predicted_R": 0.575,
"predicted_RBI": 0.53,
"predicted_SLG": 0.494,
"predicted_SO": 1.113
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1655,
"predicted_3B": 0.0004,
"predicted_AB": 3.9452,
"predicted_AVG": 0.2608,
"predicted_BB": 0.3265,
"predicted_H": 1.0274,
"predicted_HBP": 0.016,
"predicted_HR": 0.1376,
"predicted_OBP": 0.332,
"predicted_R": 0.5008,
"predicted_RBI": 0.5189,
"predicted_SLG": 0.4581,
"predicted_SO": 1.1663
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1655,
"delta": -0.0345,
"percent_delta": -0.1725,
"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": 3.9452,
"delta": -0.1948,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2608,
"delta": 0.0128,
"percent_delta": 0.0516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.3265,
"delta": 0.0145,
"percent_delta": 0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0274,
"delta": -0.0026,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1376,
"delta": -0.0124,
"percent_delta": -0.0827,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.332,
"delta": 0.006,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 0.5008,
"delta": -0.0742,
"percent_delta": -0.129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5189,
"delta": -0.0111,
"percent_delta": -0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.494,
"after": 0.4581,
"delta": -0.0359,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.113,
"after": 1.1663,
"delta": 0.0533,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.113,
"after": 1.1663,
"delta": 0.0533,
"percent_delta": 0.0479,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 3.9452,
"delta": -0.1948,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 80
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1655,
"predicted_3B": 0.0004,
"predicted_AB": 3.9452,
"predicted_AVG": 0.2524,
"predicted_BB": 0.3243,
"predicted_H": 0.9959,
"predicted_HBP": 0.016,
"predicted_HR": 0.1318,
"predicted_OBP": 0.3092,
"predicted_R": 0.4764,
"predicted_RBI": 0.4936,
"predicted_SLG": 0.3948,
"predicted_SO": 1.174
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1655,
"after": 0.1655,
"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.9452,
"after": 3.9452,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2608,
"after": 0.2524,
"delta": -0.0084,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3265,
"after": 0.3243,
"delta": -0.0022,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0274,
"after": 0.9959,
"delta": -0.0315,
"percent_delta": -0.0307,
"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.1376,
"after": 0.1318,
"delta": -0.0058,
"percent_delta": -0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3092,
"delta": -0.0228,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5008,
"after": 0.4764,
"delta": -0.0244,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5189,
"after": 0.4936,
"delta": -0.0253,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4581,
"after": 0.3948,
"delta": -0.0633,
"percent_delta": -0.1382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1663,
"after": 1.174,
"delta": 0.0077,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4581,
"after": 0.3948,
"delta": -0.0633,
"percent_delta": -0.1382,
"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.241 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.1655,
"after": 0.0,
"delta": -0.1655,
"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.9452,
"after": 4.0,
"delta": 0.0548,
"percent_delta": 0.0139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3243,
"after": 0.0,
"delta": -0.3243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9959,
"after": 1.0,
"delta": 0.0041,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1318,
"after": 0.0,
"delta": -0.1318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4936,
"after": 0.0,
"delta": -0.4936,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.174,
"after": 1.0,
"delta": -0.174,
"percent_delta": -0.1482,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.9452,
"after": 4.0,
"delta": 0.0548,
"percent_delta": 0.0139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4936,
"after": 0.0,
"delta": -0.4936,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4764,
"after": 0.0,
"delta": -0.4764,
"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.4764,
"after": 0.0,
"delta": -0.4764,
"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.2524,
"after": 0.25,
"delta": -0.0024,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3092,
"after": 0.25,
"delta": -0.0592,
"percent_delta": -0.1915,
"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.3948,
"after": 0.25,
"delta": -0.1448,
"percent_delta": -0.3668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.3948,
"after": 0.25,
"delta": -0.1448,
"percent_delta": -0.3668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"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": {
"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.2524,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3092,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3948,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2524,
"delta": 0.0024,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3092,
"delta": 0.0592,
"percent_delta": 0.2369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3948,
"delta": 0.1448,
"percent_delta": 0.5793,
"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.3948,
"delta": 0.1448,
"percent_delta": 0.5793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0,
"delta": -0.14,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2524,
"delta": 0.0044,
"percent_delta": 0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 1.03,
"after": 1.0,
"delta": -0.03,
"percent_delta": -0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3092,
"delta": -0.0168,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 1.0,
"delta": 0.425,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.494,
"after": 0.3948,
"delta": -0.0992,
"percent_delta": -0.2008,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.113,
"after": 0.0,
"delta": -1.113,
"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.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.113,
"after": 0.0,
"delta": -1.113,
"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.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.575 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.494 | - |
| predicted_SO | 1.113 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.035 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.945 | -0.195 |
| predicted_AVG | 0.261 | 0.013 |
| predicted_BB | 0.327 | 0.015 |
| predicted_H | 1.027 | -0.003 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.138 | -0.012 |
| predicted_OBP | 0.332 | 0.006 |
| predicted_R | 0.501 | -0.074 |
| predicted_RBI | 0.519 | -0.011 |
| predicted_SLG | 0.458 | -0.036 |
| predicted_SO | 1.166 | 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.166 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.945 | 0.000 |
| predicted_AVG | 0.252 | -0.008 |
| predicted_BB | 0.324 | -0.002 |
| predicted_H | 0.996 | -0.032 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.132 | -0.006 |
| predicted_OBP | 0.309 | -0.023 |
| predicted_R | 0.476 | -0.024 |
| predicted_RBI | 0.494 | -0.025 |
| predicted_SLG | 0.395 | -0.063 |
| predicted_SO | 1.174 | 0.008 |
AB rounded to 4 (raw=4.14), rates preserved: AVG=0.241 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.166 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.055 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 0.000 | -0.324 |
| predicted_H | 1.000 | 0.004 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.250 | -0.059 |
| predicted_R | 0.000 | -0.476 |
| predicted_RBI | 0.000 | -0.494 |
| predicted_SLG | 0.250 | -0.145 |
| predicted_SO | 1.000 | -0.174 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 16.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 8.000 | 0.2500 | 0.3333 | 0.2500 | 0.2500 | 0.0000 | 0.0625 | 0.1250 | 0.5000 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 4.000 | 13.000 | 0.2857 | 0.3500 | 0.2857 | 0.2857 | 0.0000 | 0.0857 | 0.1143 | 0.3714 |
| season | 0.60 | 80 | - | 311.000 | 90.000 | 16.000 | 0.000 | 17.000 | 56.000 | 46.000 | 25.000 | 89.000 | 0.2894 | 0.3441 | 0.5048 | 0.2894 | 0.0547 | 0.1801 | 0.0804 | 0.2862 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1190 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6830 |
| predicted_AVG | 0.2781 |
| predicted_BB | 0.3460 |
| predicted_H | 1.0240 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.3401 |
| predicted_R | 0.4010 |
| predicted_RBI | 0.5040 |
| predicted_SLG | 0.4099 |
| predicted_SO | 1.2380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1190 | 0.1655 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1400 | 3.6830 | 3.9452 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2781 | 0.2608 | model_form_blend |
| predicted_BB | 0.3120 | 0.3460 | 0.3265 | model_form_blend |
| predicted_H | 1.0300 | 1.0240 | 1.0274 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1500 | 0.1210 | 0.1376 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3401 | 0.3320 | model_form_blend |
| predicted_R | 0.5750 | 0.4010 | 0.5008 | model_form_blend |
| predicted_RBI | 0.5300 | 0.5040 | 0.5189 | model_form_blend |
| predicted_SLG | 0.4940 | 0.4099 | 0.4581 | model_form_blend |
| predicted_SO | 1.1130 | 1.2380 | 1.1663 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 2 |
| 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 691023 |
| playerID | 691023 |
| playerName | Jordan Walker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.367 |
| sl_xwoba | 0.359 |
| sl_xba | 0.28 |
| sl_xslg | 0.498 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 13.2 |
| sl_hard_hit_percent | 50.9 |
| sl_exit_velocity_avg | 93.7 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 31.5 |
| sl_swing_percent | 51.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.104 | 0.000 | 0.000 | Hitting_2B | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.430 | 2.000 | 4.000 | Hitting_AB | 3.929 | 3.000 | -1.929 | -1.000 |
| predicted_AVG | 0.231 | 0.000 | 0.250 | Hitting_AVG | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_BB | 0.468 | 1.000 | 0.000 | Hitting_BB | 0.550 | 1.000 | 0.450 | 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.952 | 0.000 | -0.952 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.314 | 0.250 | 0.250 | Hitting_OBP | 0.359 | 0.250 | -0.109 | 0.000 |
| predicted_R | 0.623 | 1.000 | 1.000 | Hitting_R | 0.684 | 0.000 | 0.316 | 1.000 |
| predicted_RBI | 0.390 | 1.000 | 0.000 | Hitting_RBI | 0.468 | 0.000 | 0.532 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_SLG | 0.458 | 0.000 | 0.250 | Hitting_SLG | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_SO | 0.727 | 0.000 | 1.000 | Hitting_SO | 0.814 | 0.000 | -0.814 | 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_RBI: 0.3900 -> 1.0000 (boost 0.6100, better) |
| Biggest Deboost | predicted_AB: 4.4300 -> 2.0000 (deboost -2.4300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.4300 -> 4.2276 (deboost -0.2024, worse) | Final model input calibrated with local form: 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.4163 -> 0.3419 (deboost -0.0744, 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.7404 -> 1.0000 (boost 0.2596, worse) | predicted_BB: 0.4326 -> 0.0000 (deboost -0.4326, worse) | AB rounded to 4 (raw=4.43), rates preserved: AVG=0.217 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5175 -> 1.0000 (boost 0.4825, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2275 -> 0.2500 (boost 0.0225, better) | predicted_SLG: 0.3419 -> 0.2500 (deboost -0.0919, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 3 | 3 | 3 | 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.3419 (boost 0.0919, better) | predicted_AVG: 0.2500 -> 0.2275 (deboost -0.0225, worse) | 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.104,
"predicted_3B": 0.0,
"predicted_AB": 4.43,
"predicted_AVG": 0.231,
"predicted_BB": 0.468,
"predicted_H": 1.02,
"predicted_HR": 0.14,
"predicted_OBP": 0.314,
"predicted_R": 0.623,
"predicted_RBI": 0.39,
"predicted_SLG": 0.458,
"predicted_SO": 0.727
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0903,
"predicted_3B": 0.0004,
"predicted_AB": 4.2276,
"predicted_AVG": 0.2354,
"predicted_BB": 0.4355,
"predicted_H": 0.9922,
"predicted_HBP": 0.099,
"predicted_HR": 0.1366,
"predicted_OBP": 0.3179,
"predicted_R": 0.544,
"predicted_RBI": 0.3639,
"predicted_SLG": 0.4163,
"predicted_SO": 0.7355
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.0903,
"delta": -0.0137,
"percent_delta": -0.1317,
"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.43,
"after": 4.2276,
"delta": -0.2024,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2354,
"delta": 0.0044,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.468,
"after": 0.4355,
"delta": -0.0325,
"percent_delta": -0.0694,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.9922,
"delta": -0.0278,
"percent_delta": -0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1366,
"delta": -0.0034,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3179,
"delta": 0.0039,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.623,
"after": 0.544,
"delta": -0.079,
"percent_delta": -0.1268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3639,
"delta": -0.0261,
"percent_delta": -0.0669,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4163,
"delta": -0.0417,
"percent_delta": -0.091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.727,
"after": 0.7355,
"delta": 0.0085,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.43,
"after": 4.2276,
"delta": -0.2024,
"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": 77
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0903,
"predicted_3B": 0.0004,
"predicted_AB": 4.2276,
"predicted_AVG": 0.2275,
"predicted_BB": 0.4326,
"predicted_H": 0.9617,
"predicted_HBP": 0.099,
"predicted_HR": 0.1309,
"predicted_OBP": 0.2992,
"predicted_R": 0.5175,
"predicted_RBI": 0.3461,
"predicted_SLG": 0.3419,
"predicted_SO": 0.7404
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0903,
"after": 0.0903,
"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.2276,
"after": 4.2276,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2354,
"after": 0.2275,
"delta": -0.0079,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4355,
"after": 0.4326,
"delta": -0.0029,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9922,
"after": 0.9617,
"delta": -0.0305,
"percent_delta": -0.0307,
"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.1366,
"after": 0.1309,
"delta": -0.0057,
"percent_delta": -0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3179,
"after": 0.2992,
"delta": -0.0187,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.544,
"after": 0.5175,
"delta": -0.0265,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3639,
"after": 0.3461,
"delta": -0.0178,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4163,
"after": 0.3419,
"delta": -0.0744,
"percent_delta": -0.1787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7355,
"after": 0.7404,
"delta": 0.0049,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4163,
"after": 0.3419,
"delta": -0.0744,
"percent_delta": -0.1787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.43), rates preserved: AVG=0.217 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0903,
"after": 0.0,
"delta": -0.0903,
"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.2276,
"after": 4.0,
"delta": -0.2276,
"percent_delta": -0.0538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4326,
"after": 0.0,
"delta": -0.4326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9617,
"after": 1.0,
"delta": 0.0383,
"percent_delta": 0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1309,
"after": 0.0,
"delta": -0.1309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3461,
"after": 0.0,
"delta": -0.3461,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7404,
"after": 1.0,
"delta": 0.2596,
"percent_delta": 0.3506,
"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.7404,
"after": 1.0,
"delta": 0.2596,
"percent_delta": 0.3506,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4326,
"after": 0.0,
"delta": -0.4326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5175,
"after": 1.0,
"delta": 0.4825,
"percent_delta": 0.9324,
"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.5175,
"after": 1.0,
"delta": 0.4825,
"percent_delta": 0.9324,
"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.2275,
"after": 0.25,
"delta": 0.0225,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3419,
"after": 0.25,
"delta": -0.0919,
"percent_delta": -0.2688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2275,
"after": 0.25,
"delta": 0.0225,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3419,
"after": 0.25,
"delta": -0.0919,
"percent_delta": -0.2688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"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.2275,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2992,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.3419,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2275,
"delta": -0.0225,
"percent_delta": -0.09,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.3419,
"delta": 0.0919,
"percent_delta": 0.3677,
"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.3419,
"delta": 0.0919,
"percent_delta": 0.3677,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2275,
"delta": -0.0225,
"percent_delta": -0.09,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.104,
"after": 0.0,
"delta": -0.104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.43,
"after": 2.0,
"delta": -2.43,
"percent_delta": -0.5485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2275,
"delta": -0.0035,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.468,
"after": 1.0,
"delta": 0.532,
"percent_delta": 1.1368,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.2992,
"delta": -0.0148,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.623,
"after": 1.0,
"delta": 0.377,
"percent_delta": 0.6051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.3419,
"delta": -0.1161,
"percent_delta": -0.2535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.727,
"after": 0.0,
"delta": -0.727,
"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_RBI",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.43,
"after": 2.0,
"delta": -2.43,
"percent_delta": -0.5485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.104 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.430 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.468 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.623 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.458 | - |
| predicted_SO | 0.727 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.090 | -0.014 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.228 | -0.202 |
| predicted_AVG | 0.235 | 0.004 |
| predicted_BB | 0.435 | -0.033 |
| predicted_H | 0.992 | -0.028 |
| predicted_HBP | 0.099 | - |
| predicted_HR | 0.137 | -0.003 |
| predicted_OBP | 0.318 | 0.004 |
| predicted_R | 0.544 | -0.079 |
| predicted_RBI | 0.364 | -0.026 |
| predicted_SLG | 0.416 | -0.042 |
| predicted_SO | 0.736 | 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.090 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.228 | 0.000 |
| predicted_AVG | 0.228 | -0.008 |
| predicted_BB | 0.433 | -0.003 |
| predicted_H | 0.962 | -0.030 |
| predicted_HBP | 0.099 | 0.000 |
| predicted_HR | 0.131 | -0.006 |
| predicted_OBP | 0.299 | -0.019 |
| predicted_R | 0.517 | -0.027 |
| predicted_RBI | 0.346 | -0.018 |
| predicted_SLG | 0.342 | -0.074 |
| predicted_SO | 0.740 | 0.005 |
AB rounded to 4 (raw=4.43), rates preserved: AVG=0.217 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.090 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.228 |
| predicted_AVG | 0.250 | 0.022 |
| predicted_BB | 0.000 | -0.433 |
| predicted_H | 1.000 | 0.038 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.250 | -0.049 |
| predicted_R | 1.000 | 0.483 |
| predicted_RBI | 0.000 | -0.346 |
| predicted_SLG | 0.250 | -0.092 |
| predicted_SO | 1.000 | 0.260 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.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 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.2105 | 0.2857 | 0.2105 | 0.2105 | 0.0000 | 0.0000 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 42.000 | 9.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 2.000 | 7.000 | 0.2143 | 0.2667 | 0.3571 | 0.2143 | 0.0476 | 0.0714 | 0.0476 | 0.1667 |
| season | 0.60 | 77 | - | 304.000 | 79.000 | 8.000 | 0.000 | 12.000 | 33.000 | 48.000 | 36.000 | 56.000 | 0.2599 | 0.3569 | 0.4046 | 0.2599 | 0.0395 | 0.1085 | 0.1184 | 0.1842 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0720 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9560 |
| predicted_AVG | 0.2414 |
| predicted_BB | 0.3920 |
| predicted_H | 0.9550 |
| predicted_HBP | 0.0990 |
| predicted_HR | 0.1320 |
| predicted_OBP | 0.3231 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.3290 |
| predicted_SLG | 0.3604 |
| predicted_SO | 0.7470 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1040 | 0.0720 | 0.0903 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.4300 | 3.9560 | 4.2276 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2414 | 0.2354 | model_form_blend |
| predicted_BB | 0.4680 | 0.3920 | 0.4355 | model_form_blend |
| predicted_H | 1.0200 | 0.9550 | 0.9922 | model_form_blend |
| predicted_HBP | - | 0.0990 | 0.0990 | form_only |
| predicted_HR | 0.1400 | 0.1320 | 0.1366 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3231 | 0.3179 | model_form_blend |
| predicted_R | 0.6230 | 0.4380 | 0.5440 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3290 | 0.3639 | model_form_blend |
| predicted_SLG | 0.4580 | 0.3604 | 0.4163 | model_form_blend |
| predicted_SO | 0.7270 | 0.7470 | 0.7355 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 77 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 802139 |
| playerID | 802139 |
| playerName | JJ Wetherholt |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 15.9 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.338 |
| sl_xwoba | 0.351 |
| sl_xba | 0.26 |
| sl_xslg | 0.436 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 20.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.182 | 1.000 | 0.000 | Hitting_2B | 0.182 | 0.000 | 0.818 | 1.000 |
| predicted_3B | 0.045 | 0.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_AB | 3.520 | 4.000 | 4.000 | Hitting_AB | 3.409 | 3.000 | 0.591 | 1.000 |
| predicted_AVG | 0.261 | 0.250 | 0.250 | Hitting_AVG | 0.293 | 0.000 | -0.043 | 0.250 |
| predicted_BB | 0.545 | 0.000 | 1.000 | Hitting_BB | 0.545 | 0.000 | -0.545 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.920 | 1.000 | 1.000 | Hitting_H | 1.000 | 0.000 | 0.000 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.347 | 0.250 | 0.400 | Hitting_OBP | 0.386 | 0.000 | -0.136 | 0.250 |
| predicted_R | 0.591 | 0.000 | 1.000 | Hitting_R | 0.591 | 0.000 | -0.591 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_SLG | 0.490 | 0.500 | 0.250 | Hitting_SLG | 0.453 | 0.000 | 0.047 | 0.500 |
| predicted_SO | 0.909 | 1.000 | 1.000 | Hitting_SO | 0.909 | 2.000 | 0.091 | -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.1820 -> 1.0000 (boost 0.8180, better) |
| Biggest Deboost | predicted_R: 0.5910 -> 0.0000 (deboost -0.5910, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2610 -> 0.2716 (boost 0.0106, better) | predicted_SLG: 0.4900 -> 0.4634 (deboost -0.0266, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4634 -> 0.4105 (deboost -0.0529, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.5035 -> 4.0000 (boost 0.4965, better) | predicted_RBI: 0.2935 -> 0.0000 (deboost -0.2935, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.262 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5332 -> 1.0000 (boost 0.4668, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3564 -> 0.4000 (boost 0.0436, better) | predicted_SLG: 0.4105 -> 0.2500 (deboost -0.1605, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 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.4105 (boost 0.1605, better) | predicted_OBP: 0.4000 -> 0.3564 (deboost -0.0436, 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.182,
"predicted_3B": 0.045,
"predicted_AB": 3.52,
"predicted_AVG": 0.261,
"predicted_BB": 0.545,
"predicted_H": 0.92,
"predicted_HR": 0.1,
"predicted_OBP": 0.347,
"predicted_R": 0.591,
"predicted_RBI": 0.33,
"predicted_SLG": 0.49,
"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.1722,
"predicted_3B": 0.0431,
"predicted_AB": 3.5035,
"predicted_AVG": 0.2716,
"predicted_BB": 0.5101,
"predicted_H": 0.9519,
"predicted_HBP": 0.008,
"predicted_HR": 0.0895,
"predicted_OBP": 0.3556,
"predicted_R": 0.5606,
"predicted_RBI": 0.3086,
"predicted_SLG": 0.4634,
"predicted_SO": 0.8985
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1722,
"delta": -0.0098,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0431,
"delta": -0.0019,
"percent_delta": -0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.52,
"after": 3.5035,
"delta": -0.0165,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2716,
"delta": 0.0106,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.545,
"after": 0.5101,
"delta": -0.0349,
"percent_delta": -0.064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9519,
"delta": 0.0319,
"percent_delta": 0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0895,
"delta": -0.0105,
"percent_delta": -0.105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3556,
"delta": 0.0086,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 0.5606,
"delta": -0.0304,
"percent_delta": -0.0514,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3086,
"delta": -0.0214,
"percent_delta": -0.0648,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4634,
"delta": -0.0266,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.909,
"after": 0.8985,
"delta": -0.0105,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_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.261,
"after": 0.2716,
"delta": 0.0106,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4634,
"delta": -0.0266,
"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": 22
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1722,
"predicted_3B": 0.0431,
"predicted_AB": 3.5035,
"predicted_AVG": 0.2634,
"predicted_BB": 0.5067,
"predicted_H": 0.9227,
"predicted_HBP": 0.008,
"predicted_HR": 0.0858,
"predicted_OBP": 0.3564,
"predicted_R": 0.5332,
"predicted_RBI": 0.2935,
"predicted_SLG": 0.4105,
"predicted_SO": 0.9044
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1722,
"after": 0.1722,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0431,
"after": 0.0431,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5035,
"after": 3.5035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2716,
"after": 0.2634,
"delta": -0.0082,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5101,
"after": 0.5067,
"delta": -0.0034,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9519,
"after": 0.9227,
"delta": -0.0292,
"percent_delta": -0.0307,
"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.0895,
"after": 0.0858,
"delta": -0.0037,
"percent_delta": -0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3556,
"after": 0.3564,
"delta": 0.0008,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5606,
"after": 0.5332,
"delta": -0.0274,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3086,
"after": 0.2935,
"delta": -0.0151,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4634,
"after": 0.4105,
"delta": -0.0529,
"percent_delta": -0.1142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8985,
"after": 0.9044,
"delta": 0.0059,
"percent_delta": 0.0066,
"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.4634,
"after": 0.4105,
"delta": -0.0529,
"percent_delta": -0.1142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.52), rates preserved: AVG=0.262 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1722,
"after": 0.0,
"delta": -0.1722,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0431,
"after": 0.0,
"delta": -0.0431,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5035,
"after": 4.0,
"delta": 0.4965,
"percent_delta": 0.1417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5067,
"after": 1.0,
"delta": 0.4933,
"percent_delta": 0.9736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9227,
"after": 1.0,
"delta": 0.0773,
"percent_delta": 0.0838,
"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.0858,
"after": 0.0,
"delta": -0.0858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2935,
"after": 0.0,
"delta": -0.2935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9044,
"after": 1.0,
"delta": 0.0956,
"percent_delta": 0.1057,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5035,
"after": 4.0,
"delta": 0.4965,
"percent_delta": 0.1417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2935,
"after": 0.0,
"delta": -0.2935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5332,
"after": 1.0,
"delta": 0.4668,
"percent_delta": 0.8755,
"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.5332,
"after": 1.0,
"delta": 0.4668,
"percent_delta": 0.8755,
"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.2634,
"after": 0.25,
"delta": -0.0134,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3564,
"after": 0.4,
"delta": 0.0436,
"percent_delta": 0.1223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4105,
"after": 0.25,
"delta": -0.1605,
"percent_delta": -0.391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3564,
"after": 0.4,
"delta": 0.0436,
"percent_delta": 0.1223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4105,
"after": 0.25,
"delta": -0.1605,
"percent_delta": -0.391,
"direction": "deboost",
"projection_effect": "worse",
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 4.0,
"predicted_AVG": 0.2634,
"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.3564,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4105,
"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.2634,
"delta": 0.0134,
"percent_delta": 0.0534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3564,
"delta": -0.0436,
"percent_delta": -0.1089,
"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.4105,
"delta": 0.1605,
"percent_delta": 0.6422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4105,
"delta": 0.1605,
"percent_delta": 0.6422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3564,
"delta": -0.0436,
"percent_delta": -0.1089,
"direction": "deboost",
"projection_effect": "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.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.52,
"after": 4.0,
"delta": 0.48,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2634,
"delta": 0.0024,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3564,
"delta": 0.0094,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4105,
"delta": -0.0795,
"percent_delta": -0.1622,
"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": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"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_R",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.520 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.545 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.591 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.490 | - |
| 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.172 | -0.010 |
| predicted_3B | 0.043 | -0.002 |
| predicted_AB | 3.503 | -0.017 |
| predicted_AVG | 0.272 | 0.011 |
| predicted_BB | 0.510 | -0.035 |
| predicted_H | 0.952 | 0.032 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.089 | -0.011 |
| predicted_OBP | 0.356 | 0.009 |
| predicted_R | 0.561 | -0.030 |
| predicted_RBI | 0.309 | -0.021 |
| predicted_SLG | 0.463 | -0.027 |
| predicted_SO | 0.898 | -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.172 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.503 | 0.000 |
| predicted_AVG | 0.263 | -0.008 |
| predicted_BB | 0.507 | -0.003 |
| predicted_H | 0.923 | -0.029 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.086 | -0.004 |
| predicted_OBP | 0.356 | 0.001 |
| predicted_R | 0.533 | -0.027 |
| predicted_RBI | 0.293 | -0.015 |
| predicted_SLG | 0.410 | -0.053 |
| predicted_SO | 0.904 | 0.006 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.262 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.172 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 4.000 | 0.497 |
| predicted_AVG | 0.250 | -0.013 |
| predicted_BB | 1.000 | 0.493 |
| predicted_H | 1.000 | 0.077 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.400 | 0.044 |
| predicted_R | 1.000 | 0.467 |
| predicted_RBI | 0.000 | -0.293 |
| predicted_SLG | 0.250 | -0.160 |
| predicted_SO | 1.000 | 0.096 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 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 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.3125 | 0.3889 | 0.3125 | 0.3125 | 0.0000 | 0.0000 | 0.1250 | 0.3125 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 2.000 | 1.000 | 0.000 | 1.000 | 6.000 | 5.000 | 7.000 | 0.3235 | 0.4103 | 0.4412 | 0.3235 | 0.0000 | 0.0294 | 0.1471 | 0.2059 |
| season | 0.60 | 22 | - | 75.000 | 22.000 | 4.000 | 1.000 | 2.000 | 7.000 | 13.000 | 12.000 | 20.000 | 0.2933 | 0.3864 | 0.4533 | 0.2933 | 0.0267 | 0.0933 | 0.1600 | 0.2667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1560 |
| predicted_3B | 0.0400 |
| predicted_AB | 3.4760 |
| predicted_AVG | 0.2891 |
| predicted_BB | 0.4520 |
| predicted_H | 1.0050 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0720 |
| predicted_OBP | 0.3699 |
| predicted_R | 0.5100 |
| predicted_RBI | 0.2730 |
| predicted_SLG | 0.4191 |
| predicted_SO | 0.8810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1560 | 0.1722 | model_form_blend |
| predicted_3B | 0.0450 | 0.0400 | 0.0431 | model_form_blend |
| predicted_AB | 3.5200 | 3.4760 | 3.5035 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2891 | 0.2716 | model_form_blend |
| predicted_BB | 0.5450 | 0.4520 | 0.5101 | model_form_blend |
| predicted_H | 0.9200 | 1.0050 | 0.9519 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1000 | 0.0720 | 0.0895 | model_form_blend |
| predicted_OBP | 0.3470 | 0.3699 | 0.3556 | model_form_blend |
| predicted_R | 0.5910 | 0.5100 | 0.5606 | model_form_blend |
| predicted_RBI | 0.3300 | 0.2730 | 0.3086 | model_form_blend |
| predicted_SLG | 0.4900 | 0.4191 | 0.4634 | model_form_blend |
| predicted_SO | 0.9090 | 0.8810 | 0.8985 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 22 |
| Season rows before report date | 22 |
| Report year | 2026 |
| Profile rows used | 22 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.293 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 20260701_STL@ATL |
| game_type | full |
| mlbID | 663457 |
| playerID | 663457 |
| playerName | Lars Nootbaar |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.366 |
| sl_xwoba | 0.377 |
| sl_xba | 0.281 |
| sl_xslg | 0.509 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 57.1 |
| sl_exit_velocity_avg | 94.0 |
| sl_launch_angle_avg | 9.1 |
| sl_whiff_percent | 20.2 |
| sl_swing_percent | 35.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.151 | 0.000 | 0.000 | Hitting_2B | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 3.750 | 4.000 | 4.000 | Hitting_AB | 3.803 | 3.000 | 0.197 | 1.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_BB | 0.329 | 0.000 | 0.000 | Hitting_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.886 | 0.000 | -0.886 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_OBP | 0.294 | 0.000 | 0.250 | Hitting_OBP | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_R | 0.452 | 0.000 | 0.000 | Hitting_R | 0.430 | 0.000 | -0.430 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_SLG | 0.423 | 0.000 | 0.250 | Hitting_SLG | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_SO | 0.795 | 1.000 | 1.000 | Hitting_SO | 0.825 | 1.000 | 0.175 | 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.7500 -> 4.0000 (boost 0.2500, 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 | 2 | 0 | 2 | 1 | 1 | - | predicted_SO: 0.7950 -> 0.7416 (deboost -0.0534, better) | Final model input calibrated with local form: 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.3825 -> 0.3344 (deboost -0.0481, 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.7110 -> 4.0000 (boost 0.2890, better) | predicted_RBI: 0.4062 -> 0.0000 (deboost -0.4062, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.229 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4694 -> 0.0000 (deboost -0.4694, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2316 -> 0.2500 (boost 0.0184, better) | predicted_SLG: 0.3344 -> 0.2500 (deboost -0.0844, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3344 (boost 0.0844, better) | predicted_AVG: 0.2500 -> 0.2316 (deboost -0.0184, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.151,
"predicted_3B": 0.027,
"predicted_AB": 3.75,
"predicted_AVG": 0.237,
"predicted_BB": 0.329,
"predicted_H": 0.89,
"predicted_HR": 0.08,
"predicted_OBP": 0.294,
"predicted_R": 0.452,
"predicted_RBI": 0.43,
"predicted_SLG": 0.423,
"predicted_SO": 0.795
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1425,
"predicted_3B": 0.0223,
"predicted_AB": 3.711,
"predicted_AVG": 0.2387,
"predicted_BB": 0.2989,
"predicted_H": 0.8866,
"predicted_HBP": 0.039,
"predicted_HR": 0.0677,
"predicted_OBP": 0.2946,
"predicted_R": 0.4935,
"predicted_RBI": 0.427,
"predicted_SLG": 0.3825,
"predicted_SO": 0.7416
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.1425,
"delta": -0.0085,
"percent_delta": -0.0563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0223,
"delta": -0.0047,
"percent_delta": -0.1741,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.711,
"delta": -0.039,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2387,
"delta": 0.0017,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.2989,
"delta": -0.0301,
"percent_delta": -0.0915,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8866,
"delta": -0.0034,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0677,
"delta": -0.0123,
"percent_delta": -0.1538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2946,
"delta": 0.0006,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 0.4935,
"delta": 0.0415,
"percent_delta": 0.0918,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.427,
"delta": -0.003,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.3825,
"delta": -0.0405,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 0.7416,
"delta": -0.0534,
"percent_delta": -0.0672,
"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": 0.795,
"after": 0.7416,
"delta": -0.0534,
"percent_delta": -0.0672,
"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": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1425,
"predicted_3B": 0.0223,
"predicted_AB": 3.711,
"predicted_AVG": 0.2316,
"predicted_BB": 0.2969,
"predicted_H": 0.8594,
"predicted_HBP": 0.039,
"predicted_HR": 0.0649,
"predicted_OBP": 0.2885,
"predicted_R": 0.4694,
"predicted_RBI": 0.4062,
"predicted_SLG": 0.3344,
"predicted_SO": 0.7465
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1425,
"after": 0.1425,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0223,
"after": 0.0223,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.711,
"after": 3.711,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2387,
"after": 0.2316,
"delta": -0.0071,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2989,
"after": 0.2969,
"delta": -0.002,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8866,
"after": 0.8594,
"delta": -0.0272,
"percent_delta": -0.0307,
"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.0677,
"after": 0.0649,
"delta": -0.0028,
"percent_delta": -0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2946,
"after": 0.2885,
"delta": -0.0061,
"percent_delta": -0.0207,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4935,
"after": 0.4694,
"delta": -0.0241,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.427,
"after": 0.4062,
"delta": -0.0208,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3825,
"after": 0.3344,
"delta": -0.0481,
"percent_delta": -0.1258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7416,
"after": 0.7465,
"delta": 0.0049,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3825,
"after": 0.3344,
"delta": -0.0481,
"percent_delta": -0.1258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.75), rates preserved: AVG=0.229 HR/AB=0.017",
"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.1425,
"after": 0.0,
"delta": -0.1425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0223,
"after": 0.0,
"delta": -0.0223,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.711,
"after": 4.0,
"delta": 0.289,
"percent_delta": 0.0779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2969,
"after": 0.0,
"delta": -0.2969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8594,
"after": 1.0,
"delta": 0.1406,
"percent_delta": 0.1636,
"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.0649,
"after": 0.0,
"delta": -0.0649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4062,
"after": 0.0,
"delta": -0.4062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7465,
"after": 1.0,
"delta": 0.2535,
"percent_delta": 0.3396,
"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.711,
"after": 4.0,
"delta": 0.289,
"percent_delta": 0.0779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4062,
"after": 0.0,
"delta": -0.4062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4694,
"after": 0.0,
"delta": -0.4694,
"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.4694,
"after": 0.0,
"delta": -0.4694,
"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.2316,
"after": 0.25,
"delta": 0.0184,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2885,
"after": 0.25,
"delta": -0.0385,
"percent_delta": -0.1334,
"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.3344,
"after": 0.25,
"delta": -0.0844,
"percent_delta": -0.2524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2316,
"after": 0.25,
"delta": 0.0184,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3344,
"after": 0.25,
"delta": -0.0844,
"percent_delta": -0.2524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2316,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 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.3344,
"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.2316,
"delta": -0.0184,
"percent_delta": -0.0737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3344,
"delta": 0.0844,
"percent_delta": 0.3377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3344,
"delta": 0.0844,
"percent_delta": 0.3377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2316,
"delta": -0.0184,
"percent_delta": -0.0737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2316,
"delta": -0.0054,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2885,
"delta": -0.0055,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"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.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.3344,
"delta": -0.0886,
"percent_delta": -0.2095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 1.0,
"delta": 0.205,
"percent_delta": 0.2579,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"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.151 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.452 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 0.795 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | -0.009 |
| predicted_3B | 0.022 | -0.005 |
| predicted_AB | 3.711 | -0.039 |
| predicted_AVG | 0.239 | 0.002 |
| predicted_BB | 0.299 | -0.030 |
| predicted_H | 0.887 | -0.003 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.068 | -0.012 |
| predicted_OBP | 0.295 | 0.001 |
| predicted_R | 0.493 | 0.041 |
| predicted_RBI | 0.427 | -0.003 |
| predicted_SLG | 0.383 | -0.040 |
| predicted_SO | 0.742 | -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.142 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 3.711 | 0.000 |
| predicted_AVG | 0.232 | -0.007 |
| predicted_BB | 0.297 | -0.002 |
| predicted_H | 0.859 | -0.027 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.065 | -0.003 |
| predicted_OBP | 0.288 | -0.006 |
| predicted_R | 0.469 | -0.024 |
| predicted_RBI | 0.406 | -0.021 |
| predicted_SLG | 0.334 | -0.048 |
| predicted_SO | 0.747 | 0.005 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.229 HR/AB=0.017
| 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.142 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 4.000 | 0.289 |
| predicted_AVG | 0.250 | 0.018 |
| predicted_BB | 0.000 | -0.297 |
| predicted_H | 1.000 | 0.141 |
| predicted_HR | 0.000 | -0.065 |
| predicted_OBP | 0.250 | -0.038 |
| predicted_R | 0.000 | -0.469 |
| predicted_RBI | 0.000 | -0.406 |
| predicted_SLG | 0.250 | -0.084 |
| 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 | 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 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 2.000 | 0.1875 | 0.2353 | 0.1875 | 0.1875 | 0.0000 | 0.0625 | 0.0625 | 0.1250 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 0.000 | 1.000 | 6.000 | 8.000 | 1.000 | 5.000 | 0.2895 | 0.3077 | 0.4211 | 0.2895 | 0.0263 | 0.1579 | 0.0263 | 0.1316 |
| season | 0.60 | 73 | - | 273.000 | 66.000 | 11.000 | 2.000 | 3.000 | 32.000 | 33.000 | 24.000 | 58.000 | 0.2418 | 0.3094 | 0.3297 | 0.2418 | 0.0110 | 0.1172 | 0.0879 | 0.2124 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1310 |
| predicted_3B | 0.0160 |
| predicted_AB | 3.6580 |
| predicted_AVG | 0.2411 |
| predicted_BB | 0.2580 |
| predicted_H | 0.8820 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.0510 |
| predicted_OBP | 0.2953 |
| predicted_R | 0.5500 |
| predicted_RBI | 0.4230 |
| predicted_SLG | 0.3274 |
| predicted_SO | 0.6690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1510 | 0.1310 | 0.1425 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0223 | model_form_blend |
| predicted_AB | 3.7500 | 3.6580 | 3.7110 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2411 | 0.2387 | model_form_blend |
| predicted_BB | 0.3290 | 0.2580 | 0.2989 | model_form_blend |
| predicted_H | 0.8900 | 0.8820 | 0.8866 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.0800 | 0.0510 | 0.0677 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2953 | 0.2946 | model_form_blend |
| predicted_R | 0.4520 | 0.5500 | 0.4935 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4230 | 0.4270 | model_form_blend |
| predicted_SLG | 0.4230 | 0.3274 | 0.3825 | model_form_blend |
| predicted_SO | 0.7950 | 0.6690 | 0.7416 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 228 |
| Season rows before report date | 228 |
| Report year | 2026 |
| Profile rows used | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 691026 |
| playerID | 691026 |
| playerName | Masyn Winn |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.291 |
| sl_xwoba | 0.302 |
| sl_xba | 0.257 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 32.4 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 21.5 |
| 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.188 | 1.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | 0.812 | 1.000 |
| predicted_3B | 0.062 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.375 | 3.000 | 3.000 | Hitting_AB | 3.375 | 3.000 | -0.375 | 0.000 |
| predicted_AVG | 0.231 | 0.333 | 0.333 | Hitting_AVG | 0.222 | 0.000 | 0.111 | 0.333 |
| predicted_BB | 0.125 | 0.000 | 0.000 | Hitting_BB | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 0.750 | 0.000 | 0.250 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.254 | 0.333 | 0.333 | Hitting_OBP | 0.233 | 0.000 | 0.100 | 0.333 |
| predicted_R | 0.312 | 0.000 | 0.000 | Hitting_R | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.812 | 0.000 | -0.812 | 0.000 |
| predicted_SLG | 0.430 | 0.667 | 0.333 | Hitting_SLG | 0.370 | 0.000 | 0.296 | 0.667 |
| predicted_SO | 0.438 | 1.000 | 0.000 | Hitting_SO | 0.438 | 2.000 | 0.562 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_2B: 0.1880 -> 1.0000 (boost 0.8120, 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 | 5 | 2 | 3 | 1 | 4 | predicted_SO: 0.4380 -> 0.4948 (boost 0.0568, worse) | predicted_SLG: 0.4300 -> 0.3994 (deboost -0.0306, worse) | Final model input calibrated with local form: 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.3994 -> 0.3592 (deboost -0.0402, 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.5908 -> 1.0000 (boost 0.4092, better) | predicted_SO: 0.4981 -> 0.0000 (deboost -0.4981, better) | AB rounded to 3 (raw=3.40), rates preserved: AVG=0.211 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2954 -> 0.0000 (deboost -0.2954, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2105 -> 0.3330 (boost 0.1225, better) | predicted_SLG: 0.3592 -> 0.3330 (deboost -0.0262, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_2B: 0.0000 -> 1.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.3592 (boost 0.0262, better) | predicted_AVG: 0.3330 -> 0.2105 (deboost -0.1225, worse) | 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.188,
"predicted_3B": 0.062,
"predicted_AB": 3.375,
"predicted_AVG": 0.231,
"predicted_BB": 0.125,
"predicted_H": 0.74,
"predicted_HR": 0.08,
"predicted_OBP": 0.254,
"predicted_R": 0.312,
"predicted_RBI": 0.57,
"predicted_SLG": 0.43,
"predicted_SO": 0.438
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1887,
"predicted_3B": 0.0507,
"predicted_AB": 3.4039,
"predicted_AVG": 0.2248,
"predicted_BB": 0.1324,
"predicted_H": 0.7393,
"predicted_HBP": 0.01,
"predicted_HR": 0.0751,
"predicted_OBP": 0.2482,
"predicted_R": 0.3106,
"predicted_RBI": 0.6211,
"predicted_SLG": 0.3994,
"predicted_SO": 0.4948
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.1887,
"delta": 0.0007,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.062,
"after": 0.0507,
"delta": -0.0113,
"percent_delta": -0.1823,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.375,
"after": 3.4039,
"delta": 0.0289,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2248,
"delta": -0.0062,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.1324,
"delta": 0.0074,
"percent_delta": 0.0592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7393,
"delta": -0.0007,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0751,
"delta": -0.0049,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.2482,
"delta": -0.0058,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.3106,
"delta": -0.0014,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.6211,
"delta": 0.0511,
"percent_delta": 0.0896,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.3994,
"delta": -0.0306,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.438,
"after": 0.4948,
"delta": 0.0568,
"percent_delta": 0.1297,
"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.438,
"after": 0.4948,
"delta": 0.0568,
"percent_delta": 0.1297,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.3994,
"delta": -0.0306,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1887,
"predicted_3B": 0.0507,
"predicted_AB": 3.4039,
"predicted_AVG": 0.2105,
"predicted_BB": 0.1315,
"predicted_H": 0.7166,
"predicted_HBP": 0.01,
"predicted_HR": 0.072,
"predicted_OBP": 0.2399,
"predicted_R": 0.2954,
"predicted_RBI": 0.5908,
"predicted_SLG": 0.3592,
"predicted_SO": 0.4981
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1887,
"after": 0.1887,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0507,
"after": 0.0507,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4039,
"after": 3.4039,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2248,
"after": 0.2105,
"delta": -0.0143,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1324,
"after": 0.1315,
"delta": -0.0009,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7393,
"after": 0.7166,
"delta": -0.0227,
"percent_delta": -0.0307,
"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.0751,
"after": 0.072,
"delta": -0.0031,
"percent_delta": -0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2482,
"after": 0.2399,
"delta": -0.0083,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3106,
"after": 0.2954,
"delta": -0.0152,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6211,
"after": 0.5908,
"delta": -0.0303,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3994,
"after": 0.3592,
"delta": -0.0402,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4948,
"after": 0.4981,
"delta": 0.0033,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3994,
"after": 0.3592,
"delta": -0.0402,
"percent_delta": -0.1007,
"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.211 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1887,
"after": 0.0,
"delta": -0.1887,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0507,
"after": 0.0,
"delta": -0.0507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.4039,
"after": 3.0,
"delta": -0.4039,
"percent_delta": -0.1187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1315,
"after": 0.0,
"delta": -0.1315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7166,
"after": 1.0,
"delta": 0.2834,
"percent_delta": 0.3955,
"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.072,
"after": 0.0,
"delta": -0.072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5908,
"after": 1.0,
"delta": 0.4092,
"percent_delta": 0.6926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4981,
"after": 0.0,
"delta": -0.4981,
"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.5908,
"after": 1.0,
"delta": 0.4092,
"percent_delta": 0.6926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4981,
"after": 0.0,
"delta": -0.4981,
"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": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2954,
"after": 0.0,
"delta": -0.2954,
"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.2954,
"after": 0.0,
"delta": -0.2954,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2105,
"after": 0.333,
"delta": 0.1225,
"percent_delta": 0.5819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2399,
"after": 0.333,
"delta": 0.0931,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"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.3592,
"after": 0.333,
"delta": -0.0262,
"percent_delta": -0.0729,
"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.2105,
"after": 0.333,
"delta": 0.1225,
"percent_delta": 0.5819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3592,
"after": 0.333,
"delta": -0.0262,
"percent_delta": -0.0729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"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": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2105,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2399,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3592,
"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.333,
"after": 0.2105,
"delta": -0.1225,
"percent_delta": -0.3678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2399,
"delta": -0.0931,
"percent_delta": -0.2796,
"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.3592,
"delta": 0.0262,
"percent_delta": 0.0786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3592,
"delta": 0.0262,
"percent_delta": 0.0786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2105,
"delta": -0.1225,
"percent_delta": -0.3678,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.812,
"percent_delta": 4.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.375,
"after": 3.0,
"delta": -0.375,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2105,
"delta": -0.0205,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"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.254,
"after": 0.2399,
"delta": -0.0141,
"percent_delta": -0.0555,
"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.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.3592,
"delta": -0.0708,
"percent_delta": -0.1647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.438,
"after": 1.0,
"delta": 0.562,
"percent_delta": 1.2831,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 3,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.188,
"after": 1.0,
"delta": 0.812,
"percent_delta": 4.3191,
"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.188 | - |
| predicted_3B | 0.062 | - |
| predicted_AB | 3.375 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.125 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.254 | - |
| predicted_R | 0.312 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.438 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | 0.001 |
| predicted_3B | 0.051 | -0.011 |
| predicted_AB | 3.404 | 0.029 |
| predicted_AVG | 0.225 | -0.006 |
| predicted_BB | 0.132 | 0.007 |
| predicted_H | 0.739 | -0.001 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.075 | -0.005 |
| predicted_OBP | 0.248 | -0.006 |
| predicted_R | 0.311 | -0.001 |
| predicted_RBI | 0.621 | 0.051 |
| predicted_SLG | 0.399 | -0.031 |
| predicted_SO | 0.495 | 0.057 |
Step 3: 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.051 | 0.000 |
| predicted_AB | 3.404 | 0.000 |
| predicted_AVG | 0.210 | -0.014 |
| predicted_BB | 0.132 | -0.001 |
| predicted_H | 0.717 | -0.023 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.072 | -0.003 |
| predicted_OBP | 0.240 | -0.008 |
| predicted_R | 0.295 | -0.015 |
| predicted_RBI | 0.591 | -0.030 |
| predicted_SLG | 0.359 | -0.040 |
| predicted_SO | 0.498 | 0.003 |
AB rounded to 3 (raw=3.40), rates preserved: AVG=0.211 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 | 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 | 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 | 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.189 |
| predicted_3B | 0.000 | -0.051 |
| predicted_AB | 3.000 | -0.404 |
| predicted_AVG | 0.333 | 0.123 |
| predicted_BB | 0.000 | -0.132 |
| predicted_H | 1.000 | 0.283 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.333 | 0.093 |
| predicted_R | 0.000 | -0.295 |
| predicted_RBI | 1.000 | 0.409 |
| predicted_SLG | 0.333 | -0.026 |
| predicted_SO | 0.000 | -0.498 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 4.000 | 0.000 | 0.000 | 3.000 | 0.1333 | 0.1333 | 0.2000 | 0.1333 | 0.0000 | 0.2667 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 33.000 | 6.000 | 2.000 | 0.000 | 0.000 | 8.000 | 2.000 | 1.000 | 5.000 | 0.1818 | 0.1842 | 0.2424 | 0.1818 | 0.0000 | 0.2424 | 0.0303 | 0.1515 |
| season | 0.60 | 16 | - | 54.000 | 12.000 | 3.000 | 1.000 | 1.000 | 13.000 | 5.000 | 2.000 | 7.000 | 0.2222 | 0.2333 | 0.3704 | 0.2222 | 0.0185 | 0.2407 | 0.0370 | 0.1296 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1900 |
| predicted_3B | 0.0300 |
| predicted_AB | 3.4570 |
| predicted_AVG | 0.2135 |
| predicted_BB | 0.1460 |
| predicted_H | 0.7380 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.2376 |
| predicted_R | 0.3080 |
| predicted_RBI | 0.7150 |
| predicted_SLG | 0.3433 |
| predicted_SO | 0.5990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1900 | 0.1887 | model_form_blend |
| predicted_3B | 0.0620 | 0.0300 | 0.0507 | model_form_blend |
| predicted_AB | 3.3750 | 3.4570 | 3.4039 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2135 | 0.2248 | model_form_blend |
| predicted_BB | 0.1250 | 0.1460 | 0.1324 | model_form_blend |
| predicted_H | 0.7400 | 0.7380 | 0.7393 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0800 | 0.0660 | 0.0751 | model_form_blend |
| predicted_OBP | 0.2540 | 0.2376 | 0.2482 | model_form_blend |
| predicted_R | 0.3120 | 0.3080 | 0.3106 | model_form_blend |
| predicted_RBI | 0.5700 | 0.7150 | 0.6211 | model_form_blend |
| predicted_SLG | 0.4300 | 0.3433 | 0.3994 | model_form_blend |
| predicted_SO | 0.4380 | 0.5990 | 0.4948 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.222 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 2 |
| 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 | 3B |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 691458 |
| playerID | 691458 |
| playerName | Blaze Jordan |
| pos | 1B |
| started | True |
| startingPosition | 3B |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 11.7 |
| sl_bb_percent | 3.3 |
| sl_woba | 0.251 |
| sl_xwoba | 0.273 |
| sl_xba | 0.22 |
| sl_xslg | 0.351 |
| sl_sweet_spot_percent | 25.5 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 43.1 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 9.9 |
| sl_whiff_percent | 17.1 |
| 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.150 | 0.000 | 0.000 | Hitting_2B | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 3.333 | 3.000 | 3.000 | Hitting_AB | 3.540 | 2.000 | -0.540 | 1.000 |
| predicted_AVG | 0.245 | 0.333 | 0.333 | Hitting_AVG | 0.255 | 0.000 | 0.078 | 0.333 |
| predicted_BB | 0.183 | 1.000 | 0.000 | Hitting_BB | 0.165 | 0.000 | 0.835 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_H | 0.740 | 1.000 | 1.000 | Hitting_H | 0.903 | 0.000 | 0.097 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_OBP | 0.273 | 0.500 | 0.333 | Hitting_OBP | 0.289 | 0.000 | 0.211 | 0.500 |
| predicted_R | 0.433 | 1.000 | 0.000 | Hitting_R | 0.443 | 0.000 | 0.557 | 1.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.432 | 0.000 | -0.432 | 0.000 |
| predicted_SLG | 0.470 | 0.333 | 0.333 | Hitting_SLG | 0.403 | 0.000 | -0.070 | 0.333 |
| predicted_SO | 0.767 | 2.000 | 1.000 | Hitting_SO | 0.761 | 0.000 | 1.239 | 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.7670 -> 2.0000 (boost 1.2330, worse) |
| Biggest Deboost | predicted_RBI: 0.4100 -> 0.0000 (deboost -0.4100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4700 -> 0.4396 (deboost -0.0304, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4396 -> 0.3782 (deboost -0.0614, 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.7152 -> 1.0000 (boost 0.2848, better) | predicted_RBI: 0.3986 -> 0.0000 (deboost -0.3986, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.215 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4064 -> 0.0000 (deboost -0.4064, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2171 -> 0.3330 (boost 0.1159, better) | predicted_SLG: 0.3782 -> 0.3330 (deboost -0.0452, 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_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.3782 (boost 0.0452, better) | predicted_AVG: 0.3330 -> 0.2171 (deboost -0.1159, 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.15,
"predicted_3B": 0.017,
"predicted_AB": 3.333,
"predicted_AVG": 0.245,
"predicted_BB": 0.183,
"predicted_H": 0.74,
"predicted_HR": 0.12,
"predicted_OBP": 0.273,
"predicted_R": 0.433,
"predicted_RBI": 0.41,
"predicted_SLG": 0.47,
"predicted_SO": 0.767
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1368,
"predicted_3B": 0.0232,
"predicted_AB": 3.2941,
"predicted_AVG": 0.2376,
"predicted_BB": 0.176,
"predicted_H": 0.7379,
"predicted_HBP": 0.012,
"predicted_HR": 0.1208,
"predicted_OBP": 0.2698,
"predicted_R": 0.4272,
"predicted_RBI": 0.4191,
"predicted_SLG": 0.4396,
"predicted_SO": 0.7289
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.1368,
"delta": -0.0132,
"percent_delta": -0.088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0232,
"delta": 0.0062,
"percent_delta": 0.3647,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.2941,
"delta": -0.0389,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2376,
"delta": -0.0074,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.183,
"after": 0.176,
"delta": -0.007,
"percent_delta": -0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7379,
"delta": -0.0021,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1208,
"delta": 0.0008,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2698,
"delta": -0.0032,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.433,
"after": 0.4272,
"delta": -0.0058,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4191,
"delta": 0.0091,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.4396,
"delta": -0.0304,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 0.7289,
"delta": -0.0381,
"percent_delta": -0.0497,
"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.47,
"after": 0.4396,
"delta": -0.0304,
"percent_delta": -0.0647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1368,
"predicted_3B": 0.0232,
"predicted_AB": 3.2941,
"predicted_AVG": 0.2171,
"predicted_BB": 0.1748,
"predicted_H": 0.7152,
"predicted_HBP": 0.012,
"predicted_HR": 0.1158,
"predicted_OBP": 0.2566,
"predicted_R": 0.4064,
"predicted_RBI": 0.3986,
"predicted_SLG": 0.3782,
"predicted_SO": 0.7337
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1368,
"after": 0.1368,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2941,
"after": 3.2941,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2376,
"after": 0.2171,
"delta": -0.0205,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.176,
"after": 0.1748,
"delta": -0.0012,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7379,
"after": 0.7152,
"delta": -0.0227,
"percent_delta": -0.0308,
"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.1208,
"after": 0.1158,
"delta": -0.005,
"percent_delta": -0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2698,
"after": 0.2566,
"delta": -0.0132,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4272,
"after": 0.4064,
"delta": -0.0208,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4191,
"after": 0.3986,
"delta": -0.0205,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4396,
"after": 0.3782,
"delta": -0.0614,
"percent_delta": -0.1397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7289,
"after": 0.7337,
"delta": 0.0048,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4396,
"after": 0.3782,
"delta": -0.0614,
"percent_delta": -0.1397,
"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.215 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.1368,
"after": 0.0,
"delta": -0.1368,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0232,
"after": 0.0,
"delta": -0.0232,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2941,
"after": 3.0,
"delta": -0.2941,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1748,
"after": 0.0,
"delta": -0.1748,
"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.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1158,
"after": 0.0,
"delta": -0.1158,
"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.7337,
"after": 1.0,
"delta": 0.2663,
"percent_delta": 0.363,
"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.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.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": 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.4064,
"after": 0.0,
"delta": -0.4064,
"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.4064,
"after": 0.0,
"delta": -0.4064,
"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.2171,
"after": 0.333,
"delta": 0.1159,
"percent_delta": 0.5339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2566,
"after": 0.333,
"delta": 0.0764,
"percent_delta": 0.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3782,
"after": 0.333,
"delta": -0.0452,
"percent_delta": -0.1195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2171,
"after": 0.333,
"delta": 0.1159,
"percent_delta": 0.5339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3782,
"after": 0.333,
"delta": -0.0452,
"percent_delta": -0.1195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_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.2171,
"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.2566,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3782,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2171,
"delta": -0.1159,
"percent_delta": -0.348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2566,
"delta": -0.0764,
"percent_delta": -0.2295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3782,
"delta": 0.0452,
"percent_delta": 0.1356,
"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.3782,
"delta": 0.0452,
"percent_delta": 0.1356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2171,
"delta": -0.1159,
"percent_delta": -0.348,
"direction": "deboost",
"projection_effect": "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.017,
"after": 0.0,
"delta": -0.017,
"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.245,
"after": 0.2171,
"delta": -0.0279,
"percent_delta": -0.1139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.183,
"after": 1.0,
"delta": 0.817,
"percent_delta": 4.4645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.0,
"delta": 0.26,
"percent_delta": 0.3514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2566,
"delta": -0.0164,
"percent_delta": -0.0601,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.433,
"after": 1.0,
"delta": 0.567,
"percent_delta": 1.3095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.3782,
"delta": -0.0918,
"percent_delta": -0.1953,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 2.0,
"delta": 1.233,
"percent_delta": 1.6076,
"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.767,
"after": 2.0,
"delta": 1.233,
"percent_delta": 1.6076,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.017 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.183 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.433 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.470 | - |
| predicted_SO | 0.767 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.013 |
| predicted_3B | 0.023 | 0.006 |
| predicted_AB | 3.294 | -0.039 |
| predicted_AVG | 0.238 | -0.007 |
| predicted_BB | 0.176 | -0.007 |
| predicted_H | 0.738 | -0.002 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.121 | 0.001 |
| predicted_OBP | 0.270 | -0.003 |
| predicted_R | 0.427 | -0.006 |
| predicted_RBI | 0.419 | 0.009 |
| predicted_SLG | 0.440 | -0.030 |
| predicted_SO | 0.729 | -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.137 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.294 | 0.000 |
| predicted_AVG | 0.217 | -0.021 |
| predicted_BB | 0.175 | -0.001 |
| predicted_H | 0.715 | -0.023 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.116 | -0.005 |
| predicted_OBP | 0.257 | -0.013 |
| predicted_R | 0.406 | -0.021 |
| predicted_RBI | 0.399 | -0.020 |
| predicted_SLG | 0.378 | -0.061 |
| predicted_SO | 0.734 | 0.005 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.215 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.137 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | -0.294 |
| predicted_AVG | 0.333 | 0.116 |
| predicted_BB | 0.000 | -0.175 |
| predicted_H | 1.000 | 0.285 |
| predicted_HR | 0.000 | -0.116 |
| predicted_OBP | 0.333 | 0.076 |
| predicted_R | 0.000 | -0.406 |
| predicted_RBI | 0.000 | -0.399 |
| predicted_SLG | 0.333 | -0.045 |
| predicted_SO | 1.000 | 0.266 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 0.000 | 3.000 | 0.1250 | 0.1250 | 0.3125 | 0.1250 | 0.0625 | 0.1875 | 0.0000 | 0.1875 |
| last_10 | 0.20 | 10 | - | 26.000 | 6.000 | 1.000 | 1.000 | 1.000 | 4.000 | 5.000 | 2.000 | 4.000 | 0.2308 | 0.2857 | 0.4615 | 0.2308 | 0.0385 | 0.1538 | 0.0769 | 0.1538 |
| season | 0.60 | 60 | - | 200.000 | 51.000 | 9.000 | 1.000 | 6.000 | 22.000 | 26.000 | 11.000 | 46.000 | 0.2550 | 0.2958 | 0.4000 | 0.2550 | 0.0300 | 0.1100 | 0.0550 | 0.2300 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1180 |
| predicted_3B | 0.0320 |
| predicted_AB | 3.2390 |
| predicted_AVG | 0.2271 |
| predicted_BB | 0.1660 |
| predicted_H | 0.7350 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1220 |
| predicted_OBP | 0.2653 |
| predicted_R | 0.4190 |
| predicted_RBI | 0.4320 |
| predicted_SLG | 0.3965 |
| predicted_SO | 0.6750 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.1180 | 0.1368 | model_form_blend |
| predicted_3B | 0.0170 | 0.0320 | 0.0232 | model_form_blend |
| predicted_AB | 3.3330 | 3.2390 | 3.2941 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2271 | 0.2376 | model_form_blend |
| predicted_BB | 0.1830 | 0.1660 | 0.1760 | model_form_blend |
| predicted_H | 0.7400 | 0.7350 | 0.7379 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1200 | 0.1220 | 0.1208 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2653 | 0.2698 | model_form_blend |
| predicted_R | 0.4330 | 0.4190 | 0.4272 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4320 | 0.4191 | model_form_blend |
| predicted_SLG | 0.4700 | 0.3965 | 0.4396 | model_form_blend |
| predicted_SO | 0.7670 | 0.6750 | 0.7289 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| 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 | 20260701_STL@ATL |
| game_type | full |
| mlbID | 701675 |
| playerID | 701675 |
| playerName | Nathan Church |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.305 |
| sl_xwoba | 0.294 |
| sl_xba | 0.243 |
| sl_xslg | 0.387 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 32.1 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 56.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.105 | 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.789 | 3.000 | 3.000 | Hitting_AB | 2.789 | 2.000 | 0.211 | 1.000 |
| predicted_AVG | 0.226 | 0.000 | 0.333 | Hitting_AVG | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_BB | 0.263 | 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.580 | 0.000 | 1.000 | Hitting_H | 0.421 | 0.000 | -0.421 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.250 | 0.000 | 0.333 | Hitting_OBP | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_R | 0.105 | 0.000 | 0.000 | Hitting_R | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_SLG | 0.374 | 0.000 | 0.333 | Hitting_SLG | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_SO | 0.947 | 2.000 | 1.000 | Hitting_SO | 0.947 | 1.000 | 1.053 | 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.9470 -> 2.0000 (boost 1.0530, worse) |
| Biggest Deboost | predicted_H: 0.5800 -> 0.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 | 4 | 1 | 3 | 1 | 3 | predicted_AB: 2.7890 -> 2.8867 (boost 0.0977, better) | predicted_SLG: 0.3740 -> 0.3325 (deboost -0.0415, worse) | Final model input calibrated with local form: 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.2435 -> 0.2499 (boost 0.0064, better) | predicted_SLG: 0.3325 -> 0.2942 (deboost -0.0383, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_H: 0.5363 -> 1.0000 (boost 0.4637, better) | predicted_RBI: 0.3176 -> 0.0000 (deboost -0.3176, worse) | AB rounded to 3 (raw=2.89), rates preserved: AVG=0.186 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1259 -> 0.0000 (deboost -0.1259, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1858 -> 0.3330 (boost 0.1472, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1858 (deboost -0.1472, 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.105,
"predicted_3B": 0.0,
"predicted_AB": 2.789,
"predicted_AVG": 0.226,
"predicted_BB": 0.263,
"predicted_H": 0.58,
"predicted_HR": 0.08,
"predicted_OBP": 0.25,
"predicted_R": 0.105,
"predicted_RBI": 0.33,
"predicted_SLG": 0.374,
"predicted_SO": 0.947
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0014,
"predicted_AB": 2.8867,
"predicted_AVG": 0.2043,
"predicted_BB": 0.2482,
"predicted_H": 0.5533,
"predicted_HBP": 0.048,
"predicted_HR": 0.0726,
"predicted_OBP": 0.2435,
"predicted_R": 0.1324,
"predicted_RBI": 0.3339,
"predicted_SLG": 0.3325,
"predicted_SO": 0.9642
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.1015,
"delta": -0.0035,
"percent_delta": -0.0333,
"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.789,
"after": 2.8867,
"delta": 0.0977,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2043,
"delta": -0.0217,
"percent_delta": -0.096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.2482,
"delta": -0.0148,
"percent_delta": -0.0563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.5533,
"delta": -0.0267,
"percent_delta": -0.046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0726,
"delta": -0.0074,
"percent_delta": -0.0925,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2435,
"delta": -0.0065,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.105,
"after": 0.1324,
"delta": 0.0274,
"percent_delta": 0.261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3339,
"delta": 0.0039,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3325,
"delta": -0.0415,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.947,
"after": 0.9642,
"delta": 0.0172,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.789,
"after": 2.8867,
"delta": 0.0977,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3325,
"delta": -0.0415,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1015,
"predicted_3B": 0.0014,
"predicted_AB": 2.8867,
"predicted_AVG": 0.1858,
"predicted_BB": 0.2466,
"predicted_H": 0.5363,
"predicted_HBP": 0.048,
"predicted_HR": 0.0696,
"predicted_OBP": 0.2499,
"predicted_R": 0.1259,
"predicted_RBI": 0.3176,
"predicted_SLG": 0.2942,
"predicted_SO": 0.9706
},
"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.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8867,
"after": 2.8867,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2043,
"after": 0.1858,
"delta": -0.0185,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2482,
"after": 0.2466,
"delta": -0.0016,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5533,
"after": 0.5363,
"delta": -0.017,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.048,
"after": 0.048,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0726,
"after": 0.0696,
"delta": -0.003,
"percent_delta": -0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2435,
"after": 0.2499,
"delta": 0.0064,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1324,
"after": 0.1259,
"delta": -0.0065,
"percent_delta": -0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3339,
"after": 0.3176,
"delta": -0.0163,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3325,
"after": 0.2942,
"delta": -0.0383,
"percent_delta": -0.1152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9642,
"after": 0.9706,
"delta": 0.0064,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_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.2435,
"after": 0.2499,
"delta": 0.0064,
"percent_delta": 0.0263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3325,
"after": 0.2942,
"delta": -0.0383,
"percent_delta": -0.1152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.89), rates preserved: AVG=0.186 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.1015,
"after": 0.0,
"delta": -0.1015,
"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.8867,
"after": 3.0,
"delta": 0.1133,
"percent_delta": 0.0392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2466,
"after": 0.0,
"delta": -0.2466,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5363,
"after": 1.0,
"delta": 0.4637,
"percent_delta": 0.8646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0696,
"after": 0.0,
"delta": -0.0696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3176,
"after": 0.0,
"delta": -0.3176,
"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": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5363,
"after": 1.0,
"delta": 0.4637,
"percent_delta": 0.8646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3176,
"after": 0.0,
"delta": -0.3176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.1259,
"after": 0.0,
"delta": -0.1259,
"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.1259,
"after": 0.0,
"delta": -0.1259,
"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.1858,
"after": 0.333,
"delta": 0.1472,
"percent_delta": 0.7922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2942,
"after": 0.333,
"delta": 0.0388,
"percent_delta": 0.1319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1858,
"after": 0.333,
"delta": 0.1472,
"percent_delta": 0.7922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1858,
"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.2499,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2942,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1858,
"delta": -0.1472,
"percent_delta": -0.4421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2497,
"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.2942,
"delta": -0.0388,
"percent_delta": -0.1165,
"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.1858,
"delta": -0.1472,
"percent_delta": -0.4421,
"direction": "deboost",
"projection_effect": "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.789,
"after": 3.0,
"delta": 0.211,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.1858,
"delta": -0.0402,
"percent_delta": -0.1779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"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.25,
"after": 0.2499,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.2942,
"delta": -0.0798,
"percent_delta": -0.2134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.947,
"after": 2.0,
"delta": 1.053,
"percent_delta": 1.1119,
"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.947,
"after": 2.0,
"delta": 1.053,
"percent_delta": 1.1119,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.789 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.263 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.250 | - |
| predicted_R | 0.105 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 0.947 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.887 | 0.098 |
| predicted_AVG | 0.204 | -0.022 |
| predicted_BB | 0.248 | -0.015 |
| predicted_H | 0.553 | -0.027 |
| predicted_HBP | 0.048 | - |
| predicted_HR | 0.073 | -0.007 |
| predicted_OBP | 0.243 | -0.007 |
| predicted_R | 0.132 | 0.027 |
| predicted_RBI | 0.334 | 0.004 |
| predicted_SLG | 0.333 | -0.041 |
| predicted_SO | 0.964 | 0.017 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.887 | 0.000 |
| predicted_AVG | 0.186 | -0.019 |
| predicted_BB | 0.247 | -0.002 |
| predicted_H | 0.536 | -0.017 |
| predicted_HBP | 0.048 | 0.000 |
| predicted_HR | 0.070 | -0.003 |
| predicted_OBP | 0.250 | 0.006 |
| predicted_R | 0.126 | -0.006 |
| predicted_RBI | 0.318 | -0.016 |
| predicted_SLG | 0.294 | -0.038 |
| predicted_SO | 0.971 | 0.006 |
AB rounded to 3 (raw=2.89), rates preserved: AVG=0.186 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.102 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.113 |
| predicted_AVG | 0.333 | 0.147 |
| predicted_BB | 0.000 | -0.247 |
| predicted_H | 1.000 | 0.464 |
| predicted_HR | 0.000 | -0.070 |
| predicted_OBP | 0.333 | 0.083 |
| predicted_R | 0.000 | -0.126 |
| predicted_RBI | 0.000 | -0.318 |
| predicted_SLG | 0.333 | 0.039 |
| 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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 6.000 | 0.0769 | 0.0769 | 0.0769 | 0.0769 | 0.0000 | 0.0769 | 0.0000 | 0.4615 |
| last_10 | 0.20 | 10 | - | 25.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 10.000 | 0.0800 | 0.1786 | 0.0800 | 0.0800 | 0.0000 | 0.0400 | 0.0800 | 0.4000 |
| season | 0.60 | 19 | - | 53.000 | 8.000 | 2.000 | 0.000 | 1.000 | 7.000 | 2.000 | 5.000 | 18.000 | 0.1509 | 0.2373 | 0.2453 | 0.1509 | 0.0189 | 0.1321 | 0.0943 | 0.3396 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0950 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.0670 |
| predicted_AVG | 0.1643 |
| predicted_BB | 0.2210 |
| predicted_H | 0.5040 |
| predicted_HBP | 0.0480 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.2314 |
| predicted_R | 0.1830 |
| predicted_RBI | 0.3410 |
| predicted_SLG | 0.2560 |
| predicted_SO | 0.9960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1050 | 0.0950 | 0.1015 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.7890 | 3.0670 | 2.8867 | model_form_blend |
| predicted_AVG | 0.2260 | 0.1643 | 0.2043 | model_form_blend |
| predicted_BB | 0.2630 | 0.2210 | 0.2482 | model_form_blend |
| predicted_H | 0.5800 | 0.5040 | 0.5533 | model_form_blend |
| predicted_HBP | - | 0.0480 | 0.0480 | form_only |
| predicted_HR | 0.0800 | 0.0590 | 0.0726 | model_form_blend |
| predicted_OBP | 0.2500 | 0.2314 | 0.2435 | model_form_blend |
| predicted_R | 0.1050 | 0.1830 | 0.1324 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3410 | 0.3339 | model_form_blend |
| predicted_SLG | 0.3740 | 0.2560 | 0.3325 | model_form_blend |
| predicted_SO | 0.9470 | 0.9960 | 0.9642 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 19 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.151 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 699625 |
| playerID | 699625 |
| playerName | Jimmy Crooks |
| pos | C |
| started | True |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-07-01 |
| sl_k_percent | 30.5 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.225 |
| sl_xwoba | 0.309 |
| sl_xba | 0.227 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 31.1 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.467 | 1.000 | -0.467 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.667 | 6.000 | -0.667 | -4.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 5.200 | 6.000 | -1.200 | -2.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.500 | 2.000 | -0.300 | 3.200 |
| predicted_SO | 9.000 | 9.000 | 9.000 | Pitching_SO | 5.133 | 2.000 | 3.867 | 7.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: 7.0000 -> 9.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 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SO: 7.0000 -> 9.0000 (boost 2.0000, better) | 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": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 2.0,
"predicted_SO": 9.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 9.0,
"delta": 2.0,
"percent_delta": 0.2857,
"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": 7.0,
"after": 9.0,
"delta": 2.0,
"percent_delta": 0.2857,
"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": {}
}
],
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 9.0,
"delta": 2.0,
"percent_delta": 0.2857,
"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": 7.0,
"after": 9.0,
"delta": 2.0,
"percent_delta": 0.2857,
"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 | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 7.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 29.200 | 10.000 | 18.000 | 5.000 | 35.000 | 2.000 | 3.0337 | 0.7753 | 0.3371 | 0.6067 | 0.1685 | 1.1798 | 0.0674 |
| last_10 | 0.35 | 10 | 59.000 | 24.000 | 45.000 | 17.000 | 57.000 | 4.000 | 3.6610 | 1.0508 | 0.4068 | 0.7627 | 0.2881 | 0.9661 | 0.0678 |
| season | 0.20 | 15 | 83.200 | 40.000 | 78.000 | 22.000 | 77.000 | 7.000 | 4.3028 | 1.1952 | 0.4781 | 0.9323 | 0.2630 | 0.9203 | 0.0837 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5330 |
| predicted_ER | 2.4440 |
| predicted_ERA | 3.7500 |
| predicted_H | 4.6120 |
| predicted_HR | 0.5270 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.0320 |
| predicted_WHIP | 1.0475 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.5330 | 1.2902 | model_form_blend |
| predicted_ER | 2.0000 | 2.4440 | 2.2417 | model_form_blend |
| predicted_ERA | - | 3.7500 | 3.7500 | form_only |
| predicted_H | 4.0000 | 4.6120 | 4.3332 | model_form_blend |
| predicted_HR | 1.0000 | 0.5270 | 0.7425 | model_form_blend |
| predicted_IP | 5.2000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 7.0000 | 6.0320 | 6.4730 | model_form_blend |
| predicted_WHIP | - | 1.0475 | 1.0475 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 4 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 9 |
| HR | 1 |
| BF | 24 |
| Pitches | 89 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 13 |
| Pitching_ER | 6 |
| Pitching_ERA | 4.30 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 1 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 44 |
| Pitching_R | 6 |
| Pitching_SO | 2 |
| Pitching_Strikes | 29 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260621_STL@KC |
| game_type | full |
| mlbID | 669160 |
| playerID | 669160 |
| playerName | Dustin May |
| pos | P |
| started | True |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-21 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.303 |
| sl_xwoba | 0.301 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 46.4 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 47.3 |
| sl_avg_best_speed | 79.386710085 |
| sl_avg_hyper_speed | 94.793748112 |
| 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.405 | 1.000 | -0.405 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.378 | 1.000 | 1.622 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.730 | 0.000 | 1.270 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.843 | 1.200 | 0.157 | -0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.811 | 1.000 | -0.811 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666277",
"player_name": "George Soriano",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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 | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 3.000 | 2.000 | 4.000 | 3.000 | 0.000 | 5.4000 | 1.2000 | 0.6000 | 0.4000 | 0.8000 | 0.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 6.000 | 9.000 | 5.000 | 8.000 | 1.000 | 5.0625 | 1.3125 | 0.5625 | 0.8438 | 0.4688 | 0.7500 | 0.0938 |
| season | 0.20 | 37 | 36.100 | 14.000 | 27.000 | 15.000 | 30.000 | 4.000 | 3.4679 | 1.1560 | 0.3853 | 0.7431 | 0.4128 | 0.8257 | 0.1101 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5050 |
| predicted_ER | 0.5250 |
| predicted_ERA | 4.7246 |
| predicted_H | 0.7640 |
| predicted_HR | 0.0930 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8020 |
| predicted_WHIP | 1.2684 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5050 | 0.2408 | model_form_blend |
| predicted_ER | 2.0000 | 0.5250 | 1.2966 | model_form_blend |
| predicted_ERA | - | 4.7246 | 4.7246 | form_only |
| predicted_H | 2.0000 | 0.7640 | 1.4106 | model_form_blend |
| predicted_HR | 1.0000 | 0.0930 | 0.5675 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8020 | 0.3824 | model_form_blend |
| predicted_WHIP | - | 1.2684 | 1.2684 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.47 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 28 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260630_STL@ATL |
| game_type | full |
| mlbID | 666277 |
| playerID | 666277 |
| playerName | George Soriano |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-30 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.281 |
| sl_xwoba | 0.327 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 79.862769615 |
| sl_avg_hyper_speed | 94.457914615 |
| 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.314 | 0.000 | 0.686 | 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.857 | 1.000 | 1.143 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.963 | 1.000 | 0.137 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.971 | 0.000 | -0.971 | 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": "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": 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.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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 | 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 | 3.000 | 1.000 | 2.000 | 1.000 | 3.6000 | 0.8000 | 0.4000 | 0.6000 | 0.2000 | 0.4000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 9.000 | 7.000 | 7.000 | 1.000 | 5.4000 | 1.6000 | 0.6000 | 0.9000 | 0.7000 | 0.7000 | 0.1000 |
| season | 0.20 | 35 | 35.100 | 15.000 | 30.000 | 11.000 | 34.000 | 2.000 | 3.8208 | 1.1604 | 0.4245 | 0.8491 | 0.3113 | 0.9623 | 0.0566 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3810 |
| predicted_ER | 0.4840 |
| predicted_ERA | 4.3593 |
| predicted_H | 0.8420 |
| predicted_HR | 0.1410 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7570 |
| predicted_WHIP | 1.2232 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3810 | 0.7066 | model_form_blend |
| predicted_ER | 1.0000 | 0.4840 | 0.7554 | model_form_blend |
| predicted_ERA | - | 4.3593 | 4.3593 | form_only |
| predicted_H | 2.0000 | 0.8420 | 1.4511 | model_form_blend |
| predicted_HR | 0.0000 | 0.1410 | 0.0668 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7570 | 0.3588 | model_form_blend |
| predicted_WHIP | - | 1.2232 | 1.2232 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 7 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.82 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260630_STL@ATL |
| 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-30 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.288 |
| sl_xwoba | 0.324 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 38.4 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 46.4 |
| sl_avg_best_speed | 76.221605745 |
| sl_avg_hyper_speed | 94.365892234 |
| 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.316 | 0.000 | -0.316 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.421 | 1.000 | -0.421 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.947 | 4.000 | -0.947 | -4.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.771 | 0.200 | -0.771 | -0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.947 | 1.000 | -0.947 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668941",
"player_name": "JoJo Romero",
"position": "Middle Reliever",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 6.000 | 0.000 | 4.000 | 1.000 | 3.6000 | 1.2000 | 0.4000 | 1.2000 | 0.0000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 9.000 | 5.000 | 12.000 | 1.000 | 8.000 | 2.000 | 5.0000 | 1.4444 | 0.5556 | 1.3333 | 0.1111 | 0.8889 | 0.2222 |
| season | 0.20 | 38 | 37.000 | 16.000 | 36.000 | 12.000 | 36.000 | 5.000 | 3.8919 | 1.2973 | 0.4324 | 0.9730 | 0.3243 | 0.9730 | 0.1351 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1510 |
| predicted_ER | 0.3470 |
| predicted_ERA | 4.2823 |
| predicted_H | 0.8070 |
| predicted_HR | 0.1280 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6580 |
| predicted_WHIP | 1.3122 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1510 | 0.0723 | model_form_blend |
| predicted_ER | 0.0000 | 0.3470 | 0.1661 | model_form_blend |
| predicted_ERA | - | 4.2823 | 4.2823 | form_only |
| predicted_H | 0.0000 | 0.8070 | 0.3863 | model_form_blend |
| predicted_HR | 0.0000 | 0.1280 | 0.0613 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.6580 | 1.3576 | model_form_blend |
| predicted_WHIP | - | 1.3122 | 1.3122 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 38 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 0 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.89 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260630_STL@ATL |
| game_type | full |
| mlbID | 668941 |
| playerID | 668941 |
| playerName | JoJo Romero |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-30 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.322 |
| sl_xwoba | 0.337 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 43.9 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 39.3 |
| sl_avg_best_speed | 80.200319423 |
| sl_avg_hyper_speed | 95.77275625 |
| Field | Value |
|---|---|
| Pitcher | Hurston Waldrep |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0121 |
| ESPN Rank | 332 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 3 |
| Pre ER | 3 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 7 |
| Season ERA | 0 |
| Season WHIP | 3 |
| Role Avg IP | 2 |
| Recent Avg IP | 2 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"opponent": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"edges": {
"quality_edge": 0.135,
"offense_edge": 0.0178,
"opponent_offense_edge": -0.0631,
"defense_strength": 0.2743,
"opponent_defense_weakness": -0.0755,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0162,
"run_prevention": 0.9557,
"strikeout": 1.0091
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694462",
"profile": {
"available": true,
"pitcher_id": "694462",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.8,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.311,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.9,
"swing_percent": 47.5
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0364,
"command_and_miss": 0.0361,
"regression_edge": -0.0286,
"xwoba_edge": 0.0429,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0571,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "694462",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0121,
"sample_weight": 0.45,
"run_prevention_factor": 0.999,
"strikeout_factor": 1.0017,
"walk_factor": 1.0,
"homer_factor": 0.9986,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694462",
"espn_id": 4740117,
"player_name": "Hurston Waldrep",
"team": "ATL",
"role": "pitcher",
"espn_rank": 332,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 332,
"gp_value": 1.0,
"gp_rank": 661,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 0.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 2.0,
"ip_rank": 668,
"h_value": 2.0,
"h_rank": 662,
"er_value": 0.0,
"er_rank": 690,
"hr_value": 0.0,
"hr_rank": 614,
"bb_value": 4.0,
"bb_rank": 526,
"k_value": 3.0,
"k_rank": 608,
"k_per_9_value": 13.5,
"k_per_9_rank": 24,
"whip_value": 3.0,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_H": {
"original": 3.0,
"factor": 0.9996,
"adjusted": 3
},
"predicted_BB": {
"original": 7.0,
"factor": 1.0,
"adjusted": 7
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9994,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0008,
"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": 2.0,
"ER": 0,
"H": 2,
"BB": 4,
"SO": 3,
"HR": 0,
"ERA": 0.0,
"WHIP": 3.0,
"K9": 13.5,
"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-06-26T00:00:00"
}{
"available": false,
"pitcher_id": "694462",
"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.396,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0735,
"prior_weight": 0.9265
},
"role": "pitcher",
"player_id": "694462",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 3.0,
"HR": 0.0,
"BF": 12.0,
"Pitches": 55.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 3.0,
"HR": 0.0,
"BF": 12.0,
"Pitches": 55.0
},
"rates": {
"ERA": 0.0,
"WHIP": 3.0,
"ER_per_IP": 0.0,
"H_per_IP": 1.0,
"BB_per_IP": 2.0,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 3.0,
"HR": 0.0,
"BF": 12.0,
"Pitches": 55.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 3.0,
"HR": 0.0,
"BF": 12.0,
"Pitches": 55.0
},
"rates": {
"ERA": 0.0,
"WHIP": 3.0,
"ER_per_IP": 0.0,
"H_per_IP": 1.0,
"BB_per_IP": 2.0,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 3.0,
"HR": 0.0,
"BF": 12.0,
"Pitches": 55.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 3.0,
"HR": 0.0,
"BF": 12.0,
"Pitches": 55.0
},
"rates": {
"ERA": 0.0,
"WHIP": 3.0,
"ER_per_IP": 0.0,
"H_per_IP": 1.0,
"BB_per_IP": 2.0,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.21,
"predicted_H": 0.441,
"predicted_BB": 0.218,
"predicted_SO": 0.453,
"predicted_HR": 0.062,
"predicted_ERA": 4.1495,
"predicted_WHIP": 1.4461
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7414,
"form_weight": 0.2586,
"form_reliability": 0.0735,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.396,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0735,
"prior_weight": 0.9265
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.21,
"final": 2.2786,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.441,
"final": 2.3384,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.218,
"final": 1.5393,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 0.453,
"final": 5.3072,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.062,
"final": 0.7575,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1495,
"final": 4.1495,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4461,
"final": 1.4461,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Dylan Lee |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5880 |
| ESPN Rank | 46 |
| 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 | 0.9474 |
| Season WHIP | 0.6053 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"opponent": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"edges": {
"quality_edge": 0.135,
"offense_edge": 0.0178,
"opponent_offense_edge": -0.0631,
"defense_strength": 0.2743,
"opponent_defense_weakness": -0.0755,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0162,
"run_prevention": 0.9557,
"strikeout": 1.0091
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669276",
"profile": {
"available": true,
"pitcher_id": "669276",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 93.0,
"k_percent": 33.6,
"bb_percent": 3.6,
"woba": 0.176,
"xwoba": 0.206,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 30.2,
"avg_best_speed": 77.2084,
"avg_hyper_speed": 92.6448,
"whiff_percent": 39.3,
"swing_percent": 54.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.7087,
"command_and_miss": 1.6754,
"regression_edge": -0.8571,
"xwoba_edge": 2.5,
"barrel_edge": 0.6,
"hard_hit_edge": 1.1571,
"whiff_edge": 1.9714,
"bb_edge": 1.375,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "669276",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.588,
"sample_weight": 0.45,
"run_prevention_factor": 0.95,
"strikeout_factor": 1.0639,
"walk_factor": 0.9505,
"homer_factor": 0.9238,
"woba_minus_xwoba": -0.03,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669276",
"espn_id": 41455,
"player_name": "Dylan Lee",
"team": "ATL",
"role": "pitcher",
"espn_rank": 46,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 46,
"gp_value": 39.0,
"gp_rank": 17,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 0.9473,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 16.0,
"hld_rank": 7,
"ip_value": 38.0,
"ip_rank": 216,
"h_value": 18.0,
"h_rank": 406,
"er_value": 4.0,
"er_rank": 557,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 5.0,
"bb_rank": 506,
"k_value": 46.0,
"k_rank": 162,
"k_per_9_value": 10.894736,
"k_per_9_rank": 20,
"whip_value": 0.6052,
"whip_rank": null,
"war_value": 1.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9775,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9775,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9777,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9657,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0288,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 0,
"H": 4,
"BB": 1,
"SO": 11,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5357142857142858,
"K9": 10.607142857142858,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "669276",
"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.533,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.601,
"prior_weight": 0.399
},
"role": "pitcher",
"player_id": "669276",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 39,
"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": 5.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 63.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 1.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.6
},
"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": 0.88235,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 11.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 122.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.1,
"SO": 1.1,
"HR": 0.0,
"BF": 3.3,
"Pitches": 12.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5357,
"ER_per_IP": 0.0,
"H_per_IP": 0.42857,
"BB_per_IP": 0.10714,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.0
}
},
"season": {
"games": 39,
"totals": {
"IP": 38.0,
"ER": 4.0,
"R": 5.0,
"H": 18.0,
"BB": 5.0,
"SO": 46.0,
"HR": 1.0,
"BF": 137.0,
"Pitches": 543.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1026,
"R": 0.1282,
"H": 0.4615,
"BB": 0.1282,
"SO": 1.1795,
"HR": 0.0256,
"BF": 3.5128,
"Pitches": 13.9231
},
"rates": {
"ERA": 0.9474,
"WHIP": 0.6053,
"ER_per_IP": 0.10526,
"H_per_IP": 0.47368,
"BB_per_IP": 0.13158,
"SO_per_IP": 1.21053,
"HR_per_IP": 0.02632
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.211,
"predicted_H": 0.628,
"predicted_BB": 0.181,
"predicted_SO": 1.012,
"predicted_HR": 0.062,
"predicted_ERA": 1.9009,
"predicted_WHIP": 0.8087
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5186,
"form_weight": 0.4814,
"form_reliability": 0.601,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.533,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.601,
"prior_weight": 0.399
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.211,
"final": 0.1016,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.628,
"final": 0.3023,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.181,
"final": 0.0871,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.012,
"final": 1.5244,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.062,
"final": 0.0298,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9009,
"final": 1.9009,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8087,
"final": 0.8087,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Raisel Iglesias |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4636 |
| ESPN Rank | 86 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 2.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.2706 |
| Season WHIP | 0.9882 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"opponent": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"edges": {
"quality_edge": 0.135,
"offense_edge": 0.0178,
"opponent_offense_edge": -0.0631,
"defense_strength": 0.2743,
"opponent_defense_weakness": -0.0755,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0162,
"run_prevention": 0.9557,
"strikeout": 1.0091
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "628452",
"profile": {
"available": true,
"pitcher_id": "628452",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 63.0,
"k_percent": 28.7,
"bb_percent": 5.6,
"woba": 0.248,
"xwoba": 0.242,
"sweet_spot_percent": 29.6,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 29.6,
"avg_best_speed": 77.2837,
"avg_hyper_speed": 92.4556,
"whiff_percent": 30.9,
"swing_percent": 53.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.4189,
"command_and_miss": 0.8404,
"regression_edge": 0.1714,
"xwoba_edge": 2.0143,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.2429,
"whiff_edge": 0.7714,
"bb_edge": 0.875,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "628452",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4636,
"sample_weight": 0.45,
"run_prevention_factor": 0.9606,
"strikeout_factor": 1.0297,
"walk_factor": 0.9685,
"homer_factor": 0.9256,
"woba_minus_xwoba": 0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "628452",
"espn_id": 33618,
"player_name": "Raisel Iglesias",
"team": "ATL",
"role": "pitcher",
"espn_rank": 86,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 86,
"gp_value": 27.0,
"gp_rank": 145,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 1.2705,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 16.0,
"sv_rank": 9,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 28.1,
"ip_rank": 333,
"h_value": 22.0,
"h_rank": 351,
"er_value": 4.0,
"er_rank": 557,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 6.0,
"bb_rank": 464,
"k_value": 31.0,
"k_rank": 285,
"k_per_9_value": 9.847059,
"k_per_9_rank": 23,
"whip_value": 0.9882,
"whip_rank": null,
"war_value": 1.17,
"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.9858,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9665,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0134,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 2,
"H": 10,
"BB": 3,
"SO": 10,
"HR": 1,
"ERA": 1.6874999999999998,
"WHIP": 1.2187499999999998,
"K9": 8.437499999999998,
"HR9": 0.8437499999999999,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "628452",
"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.617,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.529,
"prior_weight": 0.471
},
"role": "pitcher",
"player_id": "628452",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 2.0,
"H": 4.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.8,
"BB": 0.2,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.2
},
"rates": {
"ERA": 1.8,
"WHIP": 1.0,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 4.0,
"H": 10.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 165.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 1.0,
"BB": 0.3,
"SO": 1.0,
"HR": 0.1,
"BF": 4.2,
"Pitches": 16.5
},
"rates": {
"ERA": 1.6875,
"WHIP": 1.2188,
"ER_per_IP": 0.1875,
"H_per_IP": 0.9375,
"BB_per_IP": 0.28125,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 27,
"totals": {
"IP": 28.1,
"ER": 4.0,
"R": 6.0,
"H": 22.0,
"BB": 6.0,
"SO": 31.0,
"HR": 1.0,
"BF": 108.0,
"Pitches": 414.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1481,
"R": 0.2222,
"H": 0.8148,
"BB": 0.2222,
"SO": 1.1481,
"HR": 0.037,
"BF": 4.0,
"Pitches": 15.3333
},
"rates": {
"ERA": 1.2706,
"WHIP": 0.9882,
"ER_per_IP": 0.14118,
"H_per_IP": 0.77647,
"BB_per_IP": 0.21176,
"SO_per_IP": 1.09412,
"HR_per_IP": 0.03529
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.332,
"predicted_H": 0.901,
"predicted_BB": 0.291,
"predicted_SO": 0.929,
"predicted_HR": 0.09,
"predicted_ERA": 2.9848,
"predicted_WHIP": 1.1913
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.549,
"form_weight": 0.451,
"form_reliability": 0.529,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.617,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.529,
"prior_weight": 0.471
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.332,
"final": 0.1497,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.901,
"final": 0.9554,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.291,
"final": 0.1312,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.929,
"final": 1.517,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.09,
"final": 0.0406,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9848,
"final": 2.9848,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1913,
"final": 1.1913,
"source": "form_only"
}
}
}{
"available": false,
"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 | Didier Fuentes |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2231 |
| ESPN Rank | 121 |
| 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.5052 |
| Season WHIP | 1.0825 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"opponent": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"edges": {
"quality_edge": 0.135,
"offense_edge": 0.0178,
"opponent_offense_edge": -0.0631,
"defense_strength": 0.2743,
"opponent_defense_weakness": -0.0755,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0162,
"run_prevention": 0.9557,
"strikeout": 1.0091
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "800311",
"profile": {
"available": true,
"pitcher_id": "800311",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 84.0,
"k_percent": 28.0,
"bb_percent": 8.3,
"woba": 0.254,
"xwoba": 0.277,
"sweet_spot_percent": 28.0,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 36.6,
"avg_best_speed": 79.8992,
"avg_hyper_speed": 93.5019,
"whiff_percent": 26.3,
"swing_percent": 49.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8029,
"command_and_miss": 0.4304,
"regression_edge": -0.6571,
"xwoba_edge": 1.0143,
"barrel_edge": 0.5556,
"hard_hit_edge": 0.2429,
"whiff_edge": 0.1143,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "800311",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2231,
"sample_weight": 0.45,
"run_prevention_factor": 0.981,
"strikeout_factor": 1.0161,
"walk_factor": 0.9928,
"homer_factor": 0.9619,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "800311",
"espn_id": 5291189,
"player_name": "Didier Fuentes",
"team": "ATL",
"role": "pitcher",
"espn_rank": 121,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 121,
"gp_value": 26.0,
"gp_rank": 155,
"gs_value": 1.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.5051,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 7.0,
"hld_rank": 67,
"ip_value": 32.1,
"ip_rank": 286,
"h_value": 24.0,
"h_rank": 329,
"er_value": 9.0,
"er_rank": 407,
"hr_value": 1.0,
"hr_rank": 487,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 37.0,
"k_rank": 221,
"k_per_9_value": 10.298969,
"k_per_9_rank": 20,
"whip_value": 1.0824,
"whip_rank": null,
"war_value": 0.95,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9914,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9914,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9968,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9829,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0072,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 2,
"H": 7,
"BB": 2,
"SO": 9,
"HR": 0,
"ERA": 2.16,
"WHIP": 1.08,
"K9": 9.72,
"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-07-01T00:00:00"
}{
"available": false,
"pitcher_id": "800311",
"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.409,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5618,
"prior_weight": 0.4382
},
"role": "pitcher",
"player_id": "800311",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 48.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 2.6,
"Pitches": 9.6
},
"rates": {
"ERA": 3.0,
"WHIP": 1.3333,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 131.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.2,
"SO": 0.9,
"HR": 0.0,
"BF": 3.3,
"Pitches": 13.1
},
"rates": {
"ERA": 2.16,
"WHIP": 1.08,
"ER_per_IP": 0.24,
"H_per_IP": 0.84,
"BB_per_IP": 0.24,
"SO_per_IP": 1.08,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 32.1,
"ER": 9.0,
"R": 9.0,
"H": 24.0,
"BB": 11.0,
"SO": 37.0,
"HR": 1.0,
"BF": 132.0,
"Pitches": 558.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3462,
"R": 0.3462,
"H": 0.9231,
"BB": 0.4231,
"SO": 1.4231,
"HR": 0.0385,
"BF": 5.0769,
"Pitches": 21.4615
},
"rates": {
"ERA": 2.5052,
"WHIP": 1.0825,
"ER_per_IP": 0.27835,
"H_per_IP": 0.74227,
"BB_per_IP": 0.34021,
"SO_per_IP": 1.14433,
"HR_per_IP": 0.03093
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.227,
"predicted_H": 0.5,
"predicted_BB": 0.245,
"predicted_SO": 0.602,
"predicted_HR": 0.04,
"predicted_ERA": 3.4272,
"predicted_WHIP": 1.2507
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5351,
"form_weight": 0.4649,
"form_reliability": 0.5618,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.409,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5618,
"prior_weight": 0.4382
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.227,
"final": 0.1055,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.5,
"final": 0.2324,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.245,
"final": 0.1139,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.602,
"final": 0.815,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.04,
"final": 0.0186,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4272,
"final": 3.4272,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2507,
"final": 1.2507,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tyler Kinley |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3282 |
| ESPN Rank | 190 |
| 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 | 3 |
| Season WHIP | 1.1667 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 93,
"wins": 55,
"losses": 38,
"win_pct": 0.5914,
"runs_scored": 428.0,
"runs_allowed": 330.0,
"run_differential": 98.0,
"run_differential_per_game": 1.0538,
"avg_runs_scored": 4.6022,
"avg_runs_allowed": 3.5484,
"offense_index": 1.0178,
"defense_index": 1.2743,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.0,
"run_differential": -11.0
},
"available": true,
"quality_score": 0.1359
},
"opponent": {
"team": "STL",
"games": 93,
"wins": 50,
"losses": 43,
"win_pct": 0.5376,
"runs_scored": 394.0,
"runs_allowed": 391.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0323,
"avg_runs_scored": 4.2366,
"avg_runs_allowed": 4.2043,
"offense_index": 0.9369,
"defense_index": 1.0755,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 4.3,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.0009
},
"edges": {
"quality_edge": 0.135,
"offense_edge": 0.0178,
"opponent_offense_edge": -0.0631,
"defense_strength": 0.2743,
"opponent_defense_weakness": -0.0755,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0162,
"run_prevention": 0.9557,
"strikeout": 1.0091
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641755",
"profile": {
"available": true,
"pitcher_id": "641755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 25.8,
"bb_percent": 8.1,
"woba": 0.297,
"xwoba": 0.267,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 25.9,
"avg_best_speed": 72.1453,
"avg_hyper_speed": 92.3509,
"whiff_percent": 27.6,
"swing_percent": 45.2
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.9805,
"command_and_miss": 0.3639,
"regression_edge": 0.8571,
"xwoba_edge": 1.3,
"barrel_edge": 0.2444,
"hard_hit_edge": 1.7714,
"whiff_edge": 0.3,
"bb_edge": 0.25,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641755",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3282,
"sample_weight": 0.45,
"run_prevention_factor": 0.9721,
"strikeout_factor": 1.0138,
"walk_factor": 0.991,
"homer_factor": 0.9418,
"woba_minus_xwoba": 0.03,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641755",
"espn_id": 34166,
"player_name": "Tyler Kinley",
"team": "ATL",
"role": "pitcher",
"espn_rank": 190,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 190,
"gp_value": 33.0,
"gp_rank": 84,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 3.0,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 9.0,
"hld_rank": 46,
"ip_value": 30.0,
"ip_rank": 314,
"h_value": 25.0,
"h_rank": 318,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 5.0,
"hr_rank": 196,
"bb_value": 10.0,
"bb_rank": 346,
"k_value": 32.0,
"k_rank": 274,
"k_per_9_value": 9.6,
"k_per_9_rank": 23,
"whip_value": 1.1666,
"whip_rank": null,
"war_value": 0.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9738,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0062,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 1,
"H": 6,
"BB": 1,
"SO": 11,
"HR": 1,
"ERA": 0.9642857142857144,
"WHIP": 0.7500000000000001,
"K9": 10.607142857142858,
"HR9": 0.9642857142857144,
"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-28T00:00:00"
}{
"available": false,
"pitcher_id": "641755",
"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.947,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5433,
"prior_weight": 0.4567
},
"role": "pitcher",
"player_id": "641755",
"report_date": "20260702_S",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 17.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.4,
"Pitches": 17.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.1538,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 1.0,
"SO": 11.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 136.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.1,
"SO": 1.1,
"HR": 0.1,
"BF": 3.4,
"Pitches": 13.6
},
"rates": {
"ERA": 0.9643,
"WHIP": 0.75,
"ER_per_IP": 0.10714,
"H_per_IP": 0.64286,
"BB_per_IP": 0.10714,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 33,
"totals": {
"IP": 30.0,
"ER": 10.0,
"R": 11.0,
"H": 25.0,
"BB": 10.0,
"SO": 32.0,
"HR": 5.0,
"BF": 124.0,
"Pitches": 489.0
},
"per_game": {
"IP": 1.0,
"ER": 0.303,
"R": 0.3333,
"H": 0.7576,
"BB": 0.303,
"SO": 0.9697,
"HR": 0.1515,
"BF": 3.7576,
"Pitches": 14.8182
},
"rates": {
"ERA": 3.0,
"WHIP": 1.1667,
"ER_per_IP": 0.33333,
"H_per_IP": 0.83333,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.06667,
"HR_per_IP": 0.16667
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.237,
"predicted_H": 0.612,
"predicted_BB": 0.192,
"predicted_SO": 0.696,
"predicted_HR": 0.113,
"predicted_ERA": 3.0625,
"predicted_WHIP": 1.1556
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.543,
"form_weight": 0.457,
"form_reliability": 0.5433,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.947,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5433,
"prior_weight": 0.4567
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.237,
"final": 0.1083,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.612,
"final": 0.2797,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.192,
"final": 0.6307,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.696,
"final": 0.8611,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.113,
"final": 0.0516,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0625,
"final": 3.0625,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1556,
"final": 1.1556,
"source": "form_only"
}
}
}{
"available": false,
"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.167 | 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.750 | 4.000 | 4.000 | Hitting_AB | 3.849 | 4.000 | 0.151 | 0.000 |
| predicted_AVG | 0.243 | 0.000 | 0.250 | Hitting_AVG | 0.297 | 0.250 | -0.297 | -0.250 |
| predicted_BB | 0.179 | 0.000 | 0.000 | Hitting_BB | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.910 | 0.000 | 1.000 | Hitting_H | 1.142 | 1.000 | -1.142 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_OBP | 0.294 | 0.000 | 0.250 | Hitting_OBP | 0.323 | 0.250 | -0.323 | -0.250 |
| predicted_R | 0.487 | 0.000 | 0.000 | Hitting_R | 0.538 | 0.000 | -0.538 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.640 | 1.000 | -0.640 | -1.000 |
| predicted_SLG | 0.481 | 0.000 | 0.250 | Hitting_SLG | 0.520 | 0.250 | -0.520 | -0.250 |
| predicted_SO | 0.769 | 2.000 | 1.000 | Hitting_SO | 0.764 | 0.000 | 1.236 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.7690 -> 2.0000 (boost 1.2310, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_R: 0.4870 -> 0.4281 (deboost -0.0589, worse) | Final model input calibrated with local 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.4389 -> 0.3916 (deboost -0.0473, 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.4798 -> 1.0000 (boost 0.5202, better) | predicted_BB: 0.2258 -> 0.0000 (deboost -0.2258, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.240 HR/AB=0.034 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4279 -> 0.0000 (deboost -0.4279, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2421 -> 0.2500 (boost 0.0079, better) | predicted_SLG: 0.3916 -> 0.2500 (deboost -0.1416, 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.3916 (boost 0.1416, better) | predicted_AVG: 0.2500 -> 0.2421 (deboost -0.0079, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.167,
"predicted_3B": 0.0,
"predicted_AB": 3.75,
"predicted_AVG": 0.243,
"predicted_BB": 0.179,
"predicted_H": 0.91,
"predicted_HR": 0.14,
"predicted_OBP": 0.294,
"predicted_R": 0.487,
"predicted_RBI": 0.48,
"predicted_SLG": 0.481,
"predicted_SO": 0.769
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1717,
"predicted_3B": 0.0004,
"predicted_AB": 3.7191,
"predicted_AVG": 0.2427,
"predicted_BB": 0.2247,
"predicted_H": 0.902,
"predicted_HBP": 0.01,
"predicted_HR": 0.1277,
"predicted_OBP": 0.2949,
"predicted_R": 0.4281,
"predicted_RBI": 0.48,
"predicted_SLG": 0.4389,
"predicted_SO": 0.7614
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1717,
"delta": 0.0047,
"percent_delta": 0.0281,
"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.75,
"after": 3.7191,
"delta": -0.0309,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2427,
"delta": -0.0003,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.2247,
"delta": 0.0457,
"percent_delta": 0.2553,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.902,
"delta": -0.008,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1277,
"delta": -0.0123,
"percent_delta": -0.0879,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2949,
"delta": 0.0009,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.487,
"after": 0.4281,
"delta": -0.0589,
"percent_delta": -0.1209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.48,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.4389,
"delta": -0.0421,
"percent_delta": -0.0875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.769,
"after": 0.7614,
"delta": -0.0076,
"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_R",
"before": 0.487,
"after": 0.4281,
"delta": -0.0589,
"percent_delta": -0.1209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 78
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1717,
"predicted_3B": 0.0004,
"predicted_AB": 3.7191,
"predicted_AVG": 0.2421,
"predicted_BB": 0.2258,
"predicted_H": 0.9003,
"predicted_HBP": 0.01,
"predicted_HR": 0.1279,
"predicted_OBP": 0.2854,
"predicted_R": 0.4279,
"predicted_RBI": 0.4798,
"predicted_SLG": 0.3916,
"predicted_SO": 0.7577
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1717,
"after": 0.1717,
"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.7191,
"after": 3.7191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2427,
"after": 0.2421,
"delta": -0.0006,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2247,
"after": 0.2258,
"delta": 0.0011,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.902,
"after": 0.9003,
"delta": -0.0017,
"percent_delta": -0.0019,
"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.1277,
"after": 0.1279,
"delta": 0.0002,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2949,
"after": 0.2854,
"delta": -0.0095,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4281,
"after": 0.4279,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4798,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4389,
"after": 0.3916,
"delta": -0.0473,
"percent_delta": -0.1078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7614,
"after": 0.7577,
"delta": -0.0037,
"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.4389,
"after": 0.3916,
"delta": -0.0473,
"percent_delta": -0.1078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.75), rates preserved: AVG=0.240 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.1717,
"after": 0.0,
"delta": -0.1717,
"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.7191,
"after": 4.0,
"delta": 0.2809,
"percent_delta": 0.0755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2258,
"after": 0.0,
"delta": -0.2258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9003,
"after": 1.0,
"delta": 0.0997,
"percent_delta": 0.1107,
"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.1279,
"after": 0.0,
"delta": -0.1279,
"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.7577,
"after": 1.0,
"delta": 0.2423,
"percent_delta": 0.3198,
"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.4798,
"after": 1.0,
"delta": 0.5202,
"percent_delta": 1.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2258,
"after": 0.0,
"delta": -0.2258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4279,
"after": 0.0,
"delta": -0.4279,
"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.4279,
"after": 0.0,
"delta": -0.4279,
"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.2421,
"after": 0.25,
"delta": 0.0079,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2854,
"after": 0.25,
"delta": -0.0354,
"percent_delta": -0.124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3916,
"after": 0.25,
"delta": -0.1416,
"percent_delta": -0.3616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2421,
"after": 0.25,
"delta": 0.0079,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3916,
"after": 0.25,
"delta": -0.1416,
"percent_delta": -0.3616,
"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.2421,
"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.2854,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3916,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2421,
"delta": -0.0079,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2854,
"delta": 0.0354,
"percent_delta": 0.1418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3916,
"delta": 0.1416,
"percent_delta": 0.5664,
"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.3916,
"delta": 0.1416,
"percent_delta": 0.5664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2421,
"delta": -0.0079,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "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.75,
"after": 4.0,
"delta": 0.25,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2421,
"delta": -0.0009,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.91,
"after": 0.0,
"delta": -0.91,
"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.294,
"after": 0.2854,
"delta": -0.0086,
"percent_delta": -0.0293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.487,
"after": 0.0,
"delta": -0.487,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.3916,
"delta": -0.0894,
"percent_delta": -0.1859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.769,
"after": 2.0,
"delta": 1.231,
"percent_delta": 1.6008,
"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.769,
"after": 2.0,
"delta": 1.231,
"percent_delta": 1.6008,
"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.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.179 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.487 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.481 | - |
| predicted_SO | 0.769 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.719 | -0.031 |
| predicted_AVG | 0.243 | -0.000 |
| predicted_BB | 0.225 | 0.046 |
| predicted_H | 0.902 | -0.008 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.128 | -0.012 |
| predicted_OBP | 0.295 | 0.001 |
| predicted_R | 0.428 | -0.059 |
| predicted_RBI | 0.480 | 0.000 |
| predicted_SLG | 0.439 | -0.042 |
| predicted_SO | 0.761 | -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.172 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.719 | 0.000 |
| predicted_AVG | 0.242 | -0.001 |
| predicted_BB | 0.226 | 0.001 |
| predicted_H | 0.900 | -0.002 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.128 | 0.000 |
| predicted_OBP | 0.285 | -0.010 |
| predicted_R | 0.428 | -0.000 |
| predicted_RBI | 0.480 | -0.000 |
| predicted_SLG | 0.392 | -0.047 |
| predicted_SO | 0.758 | -0.004 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.240 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 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.172 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.281 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 0.000 | -0.226 |
| predicted_H | 1.000 | 0.100 |
| predicted_HR | 0.000 | -0.128 |
| predicted_OBP | 0.250 | -0.035 |
| predicted_R | 0.000 | -0.428 |
| predicted_RBI | 1.000 | 0.520 |
| predicted_SLG | 0.250 | -0.142 |
| predicted_SO | 1.000 | 0.242 |
Attached 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 | - | 18.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 3.000 | 3.000 | 0.1111 | 0.2273 | 0.1111 | 0.1111 | 0.0000 | 0.1111 | 0.1667 | 0.1667 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 4.000 | 0.000 | 0.000 | 3.000 | 2.000 | 3.000 | 8.000 | 0.2105 | 0.2619 | 0.3158 | 0.2105 | 0.0000 | 0.0790 | 0.0790 | 0.2105 |
| season | 0.60 | 78 | - | 284.000 | 84.000 | 13.000 | 0.000 | 14.000 | 44.000 | 38.000 | 14.000 | 60.000 | 0.2958 | 0.3289 | 0.4894 | 0.2958 | 0.0493 | 0.1549 | 0.0493 | 0.2113 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1780 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6770 |
| predicted_AVG | 0.2423 |
| predicted_BB | 0.2870 |
| predicted_H | 0.8910 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1110 |
| predicted_OBP | 0.2961 |
| predicted_R | 0.3480 |
| predicted_RBI | 0.4800 |
| predicted_SLG | 0.3817 |
| predicted_SO | 0.7510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1780 | 0.1717 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7500 | 3.6770 | 3.7191 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2423 | 0.2427 | model_form_blend |
| predicted_BB | 0.1790 | 0.2870 | 0.2247 | model_form_blend |
| predicted_H | 0.9100 | 0.8910 | 0.9020 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1400 | 0.1110 | 0.1277 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2961 | 0.2949 | model_form_blend |
| predicted_R | 0.4870 | 0.3480 | 0.4281 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4800 | 0.4800 | model_form_blend |
| predicted_SLG | 0.4810 | 0.3817 | 0.4389 | model_form_blend |
| predicted_SO | 0.7690 | 0.7510 | 0.7614 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.296 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 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 | CF |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 671739 |
| playerID | 671739 |
| playerName | Michael Harris II |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.353 |
| sl_xwoba | 0.377 |
| sl_xba | 0.308 |
| sl_xslg | 0.531 |
| sl_sweet_spot_percent | 30.7 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 50.2 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 25.9 |
| 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.259 | 0.000 | 0.000 | Hitting_2B | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.120 | 4.000 | 4.000 | Hitting_AB | 3.884 | 4.000 | 0.116 | 0.000 |
| predicted_AVG | 0.244 | 0.000 | 0.250 | Hitting_AVG | 0.272 | 0.000 | -0.272 | 0.000 |
| predicted_BB | 0.412 | 0.000 | 0.000 | Hitting_BB | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 0.000 | 1.000 | Hitting_H | 1.058 | 0.000 | -1.058 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.264 | 0.000 | -0.264 | 0.000 |
| predicted_OBP | 0.320 | 0.000 | 0.250 | Hitting_OBP | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_R | 0.635 | 0.000 | 1.000 | Hitting_R | 0.728 | 0.000 | -0.728 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.750 | 0.000 | -0.750 | 0.000 |
| predicted_SLG | 0.528 | 0.000 | 0.250 | Hitting_SLG | 0.560 | 0.000 | -0.560 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 0.993 | 0.000 | 0.007 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AVG: 0.2440 -> 0.2563 (boost 0.0123, better) |
| Biggest Deboost | predicted_H: 1.0100 -> 0.0000 (deboost -1.0100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 2 | 3 | predicted_AVG: 0.2440 -> 0.2565 (boost 0.0125, better) | predicted_AB: 4.1200 -> 4.0130 (deboost -0.1070, worse) | Final model input calibrated with local 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.5017 -> 0.4415 (deboost -0.0602, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 0.4210 -> 0.0000 (deboost -0.4210, worse) | AB rounded to 4 (raw=4.12), rates preserved: AVG=0.250 HR/AB=0.037 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5621 -> 1.0000 (boost 0.4379, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4415 -> 0.2500 (deboost -0.1915, 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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4415 (boost 0.1915, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.259,
"predicted_3B": 0.0,
"predicted_AB": 4.12,
"predicted_AVG": 0.244,
"predicted_BB": 0.412,
"predicted_H": 1.01,
"predicted_HR": 0.16,
"predicted_OBP": 0.32,
"predicted_R": 0.635,
"predicted_RBI": 0.44,
"predicted_SLG": 0.528,
"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.286,
"predicted_3B": 0.0004,
"predicted_AB": 4.013,
"predicted_AVG": 0.2565,
"predicted_BB": 0.382,
"predicted_H": 1.0305,
"predicted_HBP": 0.009,
"predicted_HR": 0.1519,
"predicted_OBP": 0.3253,
"predicted_R": 0.5623,
"predicted_RBI": 0.4212,
"predicted_SLG": 0.5017,
"predicted_SO": 0.9953
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.259,
"after": 0.286,
"delta": 0.027,
"percent_delta": 0.1042,
"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.013,
"delta": -0.107,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2565,
"delta": 0.0125,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.382,
"delta": -0.03,
"percent_delta": -0.0728,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0305,
"delta": 0.0205,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1519,
"delta": -0.0081,
"percent_delta": -0.0506,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3253,
"delta": 0.0053,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.635,
"after": 0.5623,
"delta": -0.0727,
"percent_delta": -0.1145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.528,
"after": 0.5017,
"delta": -0.0263,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9953,
"delta": -0.0047,
"percent_delta": -0.0047,
"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_AVG",
"before": 0.244,
"after": 0.2565,
"delta": 0.0125,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 4.013,
"delta": -0.107,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.286,
"predicted_3B": 0.0004,
"predicted_AB": 4.013,
"predicted_AVG": 0.2563,
"predicted_BB": 0.3838,
"predicted_H": 1.0285,
"predicted_HBP": 0.009,
"predicted_HR": 0.1521,
"predicted_OBP": 0.3212,
"predicted_R": 0.5621,
"predicted_RBI": 0.421,
"predicted_SLG": 0.4415,
"predicted_SO": 0.9905
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.286,
"after": 0.286,
"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.013,
"after": 4.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2565,
"after": 0.2563,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.3838,
"delta": 0.0018,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0305,
"after": 1.0285,
"delta": -0.002,
"percent_delta": -0.0019,
"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.1519,
"after": 0.1521,
"delta": 0.0002,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3253,
"after": 0.3212,
"delta": -0.0041,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5623,
"after": 0.5621,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4212,
"after": 0.421,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5017,
"after": 0.4415,
"delta": -0.0602,
"percent_delta": -0.12,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9953,
"after": 0.9905,
"delta": -0.0048,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.5017,
"after": 0.4415,
"delta": -0.0602,
"percent_delta": -0.12,
"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.250 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.286,
"after": 0.0,
"delta": -0.286,
"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.013,
"after": 4.0,
"delta": -0.013,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3838,
"after": 0.0,
"delta": -0.3838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0285,
"after": 1.0,
"delta": -0.0285,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1521,
"after": 0.0,
"delta": -0.1521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9905,
"after": 1.0,
"delta": 0.0095,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 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.5621,
"after": 1.0,
"delta": 0.4379,
"percent_delta": 0.779,
"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.5621,
"after": 1.0,
"delta": 0.4379,
"percent_delta": 0.779,
"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.2563,
"after": 0.25,
"delta": -0.0063,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3212,
"after": 0.25,
"delta": -0.0712,
"percent_delta": -0.2217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4415,
"after": 0.25,
"delta": -0.1915,
"percent_delta": -0.4337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4415,
"after": 0.25,
"delta": -0.1915,
"percent_delta": -0.4337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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.2563,
"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.3212,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4415,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2563,
"delta": 0.0063,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3212,
"delta": 0.0712,
"percent_delta": 0.2849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4415,
"delta": 0.1915,
"percent_delta": 0.7659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4415,
"delta": 0.1915,
"percent_delta": 0.7659,
"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.259,
"after": 0.0,
"delta": -0.259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0,
"delta": -0.12,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2563,
"delta": 0.0123,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.0,
"delta": -0.412,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"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.32,
"after": 0.3212,
"delta": 0.0012,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.635,
"after": 0.0,
"delta": -0.635,
"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.528,
"after": 0.4415,
"delta": -0.0865,
"percent_delta": -0.1638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2563,
"delta": 0.0123,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.259 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.120 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.635 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.528 | - |
| 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.286 | 0.027 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.013 | -0.107 |
| predicted_AVG | 0.257 | 0.013 |
| predicted_BB | 0.382 | -0.030 |
| predicted_H | 1.030 | 0.020 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.152 | -0.008 |
| predicted_OBP | 0.325 | 0.005 |
| predicted_R | 0.562 | -0.073 |
| predicted_RBI | 0.421 | -0.019 |
| predicted_SLG | 0.502 | -0.026 |
| predicted_SO | 0.995 | -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.286 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.013 | 0.000 |
| predicted_AVG | 0.256 | -0.000 |
| predicted_BB | 0.384 | 0.002 |
| predicted_H | 1.028 | -0.002 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.152 | 0.000 |
| predicted_OBP | 0.321 | -0.004 |
| predicted_R | 0.562 | -0.000 |
| predicted_RBI | 0.421 | -0.000 |
| predicted_SLG | 0.442 | -0.060 |
| predicted_SO | 0.991 | -0.005 |
AB rounded to 4 (raw=4.12), rates preserved: AVG=0.250 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.286 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.013 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 0.000 | -0.384 |
| predicted_H | 1.000 | -0.028 |
| predicted_HR | 0.000 | -0.152 |
| predicted_OBP | 0.250 | -0.071 |
| predicted_R | 1.000 | 0.438 |
| predicted_RBI | 0.000 | -0.421 |
| predicted_SLG | 0.250 | -0.192 |
| predicted_SO | 1.000 | 0.009 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | - | 20.000 | 6.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 0.3000 | 0.3333 | 0.4500 | 0.3000 | 0.0000 | 0.0000 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 10.000 | 0.2632 | 0.3171 | 0.3421 | 0.2632 | 0.0000 | 0.0263 | 0.0790 | 0.2632 |
| season | 0.60 | 85 | - | 328.000 | 89.000 | 22.000 | 0.000 | 20.000 | 52.000 | 54.000 | 35.000 | 85.000 | 0.2713 | 0.3406 | 0.5213 | 0.2713 | 0.0610 | 0.1585 | 0.1067 | 0.2591 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3220 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8700 |
| predicted_AVG | 0.2733 |
| predicted_BB | 0.3420 |
| predicted_H | 1.0580 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1410 |
| predicted_OBP | 0.3323 |
| predicted_R | 0.4650 |
| predicted_RBI | 0.3960 |
| predicted_SLG | 0.4665 |
| predicted_SO | 0.9890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2590 | 0.3220 | 0.2860 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1200 | 3.8700 | 4.0130 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2733 | 0.2565 | model_form_blend |
| predicted_BB | 0.4120 | 0.3420 | 0.3820 | model_form_blend |
| predicted_H | 1.0100 | 1.0580 | 1.0305 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1600 | 0.1410 | 0.1519 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3323 | 0.3253 | model_form_blend |
| predicted_R | 0.6350 | 0.4650 | 0.5623 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3960 | 0.4212 | model_form_blend |
| predicted_SLG | 0.5280 | 0.4665 | 0.5017 | model_form_blend |
| predicted_SO | 1.0000 | 0.9890 | 0.9953 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 276 |
| Season rows before report date | 276 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 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 | 20260701_STL@ATL |
| game_type | full |
| mlbID | 621566 |
| playerID | 621566 |
| playerName | Matt Olson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.369 |
| sl_xwoba | 0.361 |
| sl_xba | 0.257 |
| sl_xslg | 0.515 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 13.5 |
| sl_hard_hit_percent | 51.2 |
| sl_exit_velocity_avg | 92.8 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 45.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.176 | 0.000 | 0.000 | Hitting_2B | 0.176 | 1.000 | -0.176 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.150 | 3.000 | 4.000 | Hitting_AB | 3.879 | 4.000 | -0.879 | -1.000 |
| predicted_AVG | 0.239 | 0.000 | 0.250 | Hitting_AVG | 0.278 | 0.500 | -0.278 | -0.500 |
| predicted_BB | 0.282 | 0.000 | 0.000 | Hitting_BB | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.077 | 2.000 | -1.077 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.158 | 1.000 | -0.158 | -1.000 |
| predicted_OBP | 0.294 | 0.000 | 0.250 | Hitting_OBP | 0.334 | 0.500 | -0.334 | -0.500 |
| predicted_R | 0.624 | 1.000 | 1.000 | Hitting_R | 0.651 | 2.000 | 0.349 | -1.000 |
| predicted_RBI | 0.690 | 1.000 | 1.000 | Hitting_RBI | 0.548 | 2.000 | 0.452 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_SLG | 0.504 | 0.000 | 0.250 | Hitting_SLG | 0.445 | 1.500 | -0.445 | -1.500 |
| predicted_SO | 0.482 | 1.000 | 1.000 | Hitting_SO | 0.529 | 1.000 | 0.471 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.4820 -> 1.0000 (boost 0.5180, worse) |
| Biggest Deboost | predicted_AB: 4.1500 -> 3.0000 (deboost -1.1500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2390 -> 0.2481 (boost 0.0091, better) | predicted_AB: 4.1500 -> 3.9927 (deboost -0.1573, worse) | Final model input calibrated with local 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.4848 -> 0.4217 (deboost -0.0631, 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.7265 -> 1.0000 (boost 0.2735, better) | predicted_SO: 0.4707 -> 0.0000 (deboost -0.4707, better) | AB rounded to 4 (raw=4.15), rates preserved: AVG=0.238 HR/AB=0.041 |
| 5 | bvp_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6003 -> 1.0000 (boost 0.3997, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4217 -> 0.2500 (deboost -0.1717, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4217 (boost 0.1717, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.0,
"predicted_AB": 4.15,
"predicted_AVG": 0.239,
"predicted_BB": 0.282,
"predicted_H": 0.99,
"predicted_HR": 0.16,
"predicted_OBP": 0.294,
"predicted_R": 0.624,
"predicted_RBI": 0.69,
"predicted_SLG": 0.504,
"predicted_SO": 0.482
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1803,
"predicted_3B": 0.0004,
"predicted_AB": 3.9927,
"predicted_AVG": 0.2481,
"predicted_BB": 0.2529,
"predicted_H": 0.9879,
"predicted_HBP": 0.028,
"predicted_HR": 0.172,
"predicted_OBP": 0.2943,
"predicted_R": 0.6005,
"predicted_RBI": 0.7268,
"predicted_SLG": 0.4848,
"predicted_SO": 0.473
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.1803,
"delta": 0.0043,
"percent_delta": 0.0244,
"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.15,
"after": 3.9927,
"delta": -0.1573,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2481,
"delta": 0.0091,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.2529,
"delta": -0.0291,
"percent_delta": -0.1032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9879,
"delta": -0.0021,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.172,
"delta": 0.012,
"percent_delta": 0.075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2943,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.624,
"after": 0.6005,
"delta": -0.0235,
"percent_delta": -0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 0.7268,
"delta": 0.0368,
"percent_delta": 0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.4848,
"delta": -0.0192,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.482,
"after": 0.473,
"delta": -0.009,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_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.2481,
"delta": 0.0091,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 3.9927,
"delta": -0.1573,
"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": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1803,
"predicted_3B": 0.0004,
"predicted_AB": 3.9927,
"predicted_AVG": 0.247,
"predicted_BB": 0.2541,
"predicted_H": 0.986,
"predicted_HBP": 0.028,
"predicted_HR": 0.1722,
"predicted_OBP": 0.292,
"predicted_R": 0.6003,
"predicted_RBI": 0.7265,
"predicted_SLG": 0.4217,
"predicted_SO": 0.4707
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1803,
"after": 0.1803,
"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.9927,
"after": 3.9927,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2481,
"after": 0.247,
"delta": -0.0011,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2529,
"after": 0.2541,
"delta": 0.0012,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9879,
"after": 0.986,
"delta": -0.0019,
"percent_delta": -0.0019,
"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.172,
"after": 0.1722,
"delta": 0.0002,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2943,
"after": 0.292,
"delta": -0.0023,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6005,
"after": 0.6003,
"delta": -0.0002,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7268,
"after": 0.7265,
"delta": -0.0003,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4848,
"after": 0.4217,
"delta": -0.0631,
"percent_delta": -0.1302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.473,
"after": 0.4707,
"delta": -0.0023,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4848,
"after": 0.4217,
"delta": -0.0631,
"percent_delta": -0.1302,
"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.238 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.1803,
"after": 0.0,
"delta": -0.1803,
"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.9927,
"after": 4.0,
"delta": 0.0073,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2541,
"after": 0.0,
"delta": -0.2541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.986,
"after": 1.0,
"delta": 0.014,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1722,
"after": 0.0,
"delta": -0.1722,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7265,
"after": 1.0,
"delta": 0.2735,
"percent_delta": 0.3765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4707,
"after": 0.0,
"delta": -0.4707,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7265,
"after": 1.0,
"delta": 0.2735,
"percent_delta": 0.3765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4707,
"after": 0.0,
"delta": -0.4707,
"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=8.0, weight=0.084, 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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": 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.6003,
"after": 1.0,
"delta": 0.3997,
"percent_delta": 0.6658,
"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.6003,
"after": 1.0,
"delta": 0.3997,
"percent_delta": 0.6658,
"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.247,
"after": 0.25,
"delta": 0.003,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.25,
"delta": -0.042,
"percent_delta": -0.1438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4217,
"after": 0.25,
"delta": -0.1717,
"percent_delta": -0.4072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.4217,
"after": 0.25,
"delta": -0.1717,
"percent_delta": -0.4072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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.247,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.292,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4217,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.247,
"delta": -0.003,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.292,
"delta": 0.042,
"percent_delta": 0.1681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"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.4217,
"delta": 0.1717,
"percent_delta": 0.6869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.4217,
"delta": 0.1717,
"percent_delta": 0.6869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.0,
"delta": -0.176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 3.0,
"delta": -1.15,
"percent_delta": -0.2771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.247,
"delta": 0.008,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.0,
"delta": -0.282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.292,
"delta": -0.002,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.624,
"after": 1.0,
"delta": 0.376,
"percent_delta": 0.6026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.4217,
"delta": -0.0823,
"percent_delta": -0.1633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.482,
"after": 1.0,
"delta": 0.518,
"percent_delta": 1.0747,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.482,
"after": 1.0,
"delta": 0.518,
"percent_delta": 1.0747,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 3.0,
"delta": -1.15,
"percent_delta": -0.2771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.282 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.624 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.504 | - |
| predicted_SO | 0.482 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.993 | -0.157 |
| predicted_AVG | 0.248 | 0.009 |
| predicted_BB | 0.253 | -0.029 |
| predicted_H | 0.988 | -0.002 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.172 | 0.012 |
| predicted_OBP | 0.294 | 0.000 |
| predicted_R | 0.601 | -0.023 |
| predicted_RBI | 0.727 | 0.037 |
| predicted_SLG | 0.485 | -0.019 |
| predicted_SO | 0.473 | -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.180 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.993 | 0.000 |
| predicted_AVG | 0.247 | -0.001 |
| predicted_BB | 0.254 | 0.001 |
| predicted_H | 0.986 | -0.002 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.172 | 0.000 |
| predicted_OBP | 0.292 | -0.002 |
| predicted_R | 0.600 | -0.000 |
| predicted_RBI | 0.727 | -0.000 |
| predicted_SLG | 0.422 | -0.063 |
| predicted_SO | 0.471 | -0.002 |
AB rounded to 4 (raw=4.15), rates preserved: AVG=0.238 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 | - |
Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.000 |
Enforced H<=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.180 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.007 |
| predicted_AVG | 0.250 | 0.003 |
| predicted_BB | 0.000 | -0.254 |
| predicted_H | 1.000 | 0.014 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.250 | -0.042 |
| predicted_R | 1.000 | 0.400 |
| predicted_RBI | 1.000 | 0.273 |
| predicted_SLG | 0.250 | -0.172 |
| predicted_SO | 1.000 | 0.529 |
Attached 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 | - | 19.000 | 4.000 | 1.000 | 0.000 | 1.000 | 6.000 | 2.000 | 0.000 | 2.000 | 0.2105 | 0.2105 | 0.4211 | 0.2105 | 0.0526 | 0.3158 | 0.0000 | 0.1053 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 2.000 | 0.000 | 3.000 | 11.000 | 6.000 | 2.000 | 3.000 | 0.2703 | 0.2857 | 0.5676 | 0.2703 | 0.0811 | 0.2973 | 0.0541 | 0.0811 |
| season | 0.60 | 85 | - | 323.000 | 89.000 | 15.000 | 0.000 | 13.000 | 48.000 | 53.000 | 24.000 | 41.000 | 0.2755 | 0.3241 | 0.4427 | 0.2755 | 0.0403 | 0.1486 | 0.0743 | 0.1269 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7820 |
| predicted_AVG | 0.2604 |
| predicted_BB | 0.2140 |
| predicted_H | 0.9850 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.1880 |
| predicted_OBP | 0.2946 |
| predicted_R | 0.5690 |
| predicted_RBI | 0.7760 |
| predicted_SLG | 0.4591 |
| predicted_SO | 0.4610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.1860 | 0.1803 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1500 | 3.7820 | 3.9927 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2604 | 0.2481 | model_form_blend |
| predicted_BB | 0.2820 | 0.2140 | 0.2529 | model_form_blend |
| predicted_H | 0.9900 | 0.9850 | 0.9879 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.1600 | 0.1880 | 0.1720 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2946 | 0.2943 | model_form_blend |
| predicted_R | 0.6240 | 0.5690 | 0.6005 | model_form_blend |
| predicted_RBI | 0.6900 | 0.7760 | 0.7268 | model_form_blend |
| predicted_SLG | 0.5040 | 0.4591 | 0.4848 | model_form_blend |
| predicted_SO | 0.4820 | 0.4610 | 0.4730 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 272 |
| Season rows before report date | 272 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.276 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 645277 |
| playerID | 645277 |
| playerName | Ozzie Albies |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 11.4 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.331 |
| sl_xwoba | 0.302 |
| sl_xba | 0.254 |
| sl_xslg | 0.387 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 28.2 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 19.7 |
| 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.097 | 0.000 | 0.000 | Hitting_2B | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.370 | 4.000 | 4.000 | Hitting_AB | 3.957 | 3.000 | 0.043 | 1.000 |
| predicted_AVG | 0.215 | 0.500 | 0.250 | Hitting_AVG | 0.286 | 0.333 | 0.214 | 0.167 |
| predicted_BB | 0.419 | 0.000 | 0.000 | Hitting_BB | 0.491 | 1.000 | -0.491 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.940 | 2.000 | 1.000 | Hitting_H | 1.130 | 1.000 | 0.870 | 1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_OBP | 0.277 | 0.500 | 0.250 | Hitting_OBP | 0.372 | 0.500 | 0.128 | 0.000 |
| predicted_R | 0.726 | 1.000 | 1.000 | Hitting_R | 0.817 | 2.000 | 0.183 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.774 | 0.000 | -0.774 | 0.000 |
| predicted_SLG | 0.449 | 0.500 | 0.250 | Hitting_SLG | 0.513 | 0.333 | -0.013 | 0.167 |
| predicted_SO | 1.065 | 1.000 | 1.000 | Hitting_SO | 0.974 | 0.000 | 0.026 | 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.9400 -> 2.0000 (boost 1.0600, 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 | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.3700 -> 4.1385 (deboost -0.2315, worse) | Final model input calibrated with local 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.3963 -> 0.3462 (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 | 1 | 6 | 1 | 6 | predicted_H: 0.8530 -> 1.0000 (boost 0.1470, better) | predicted_RBI: 0.4258 -> 0.0000 (deboost -0.4258, worse) | AB rounded to 4 (raw=4.37), rates preserved: AVG=0.195 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6579 -> 1.0000 (boost 0.3421, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2061 -> 0.2500 (boost 0.0439, better) | predicted_SLG: 0.3462 -> 0.2500 (deboost -0.0962, 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_H: 1.0000 -> 2.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.3462 (boost 0.0962, better) | predicted_AVG: 0.2500 -> 0.2061 (deboost -0.0439, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686948",
"player_name": "Drake Baldwin",
"position": "C",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.097,
"predicted_3B": 0.0,
"predicted_AB": 4.37,
"predicted_AVG": 0.215,
"predicted_BB": 0.419,
"predicted_H": 0.94,
"predicted_HR": 0.18,
"predicted_OBP": 0.277,
"predicted_R": 0.726,
"predicted_RBI": 0.45,
"predicted_SLG": 0.449,
"predicted_SO": 1.065
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0856,
"predicted_3B": 0.0008,
"predicted_AB": 4.1385,
"predicted_AVG": 0.2057,
"predicted_BB": 0.3942,
"predicted_H": 0.8546,
"predicted_HBP": 0.056,
"predicted_HR": 0.164,
"predicted_OBP": 0.2743,
"predicted_R": 0.6582,
"predicted_RBI": 0.426,
"predicted_SLG": 0.3963,
"predicted_SO": 1.0545
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.0856,
"delta": -0.0114,
"percent_delta": -0.1175,
"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.37,
"after": 4.1385,
"delta": -0.2315,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2057,
"delta": -0.0093,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.3942,
"delta": -0.0248,
"percent_delta": -0.0592,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.8546,
"delta": -0.0854,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.164,
"delta": -0.016,
"percent_delta": -0.0889,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2743,
"delta": -0.0027,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.726,
"after": 0.6582,
"delta": -0.0678,
"percent_delta": -0.0934,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.426,
"delta": -0.024,
"percent_delta": -0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.3963,
"delta": -0.0527,
"percent_delta": -0.1174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.065,
"after": 1.0545,
"delta": -0.0105,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.37,
"after": 4.1385,
"delta": -0.2315,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.0856,
"predicted_3B": 0.0008,
"predicted_AB": 4.1385,
"predicted_AVG": 0.2061,
"predicted_BB": 0.3961,
"predicted_H": 0.853,
"predicted_HBP": 0.056,
"predicted_HR": 0.1642,
"predicted_OBP": 0.2755,
"predicted_R": 0.6579,
"predicted_RBI": 0.4258,
"predicted_SLG": 0.3462,
"predicted_SO": 1.0494
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0856,
"after": 0.0856,
"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.1385,
"after": 4.1385,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2057,
"after": 0.2061,
"delta": 0.0004,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3942,
"after": 0.3961,
"delta": 0.0019,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8546,
"after": 0.853,
"delta": -0.0016,
"percent_delta": -0.0019,
"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.164,
"after": 0.1642,
"delta": 0.0002,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2743,
"after": 0.2755,
"delta": 0.0012,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6582,
"after": 0.6579,
"delta": -0.0003,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.426,
"after": 0.4258,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3963,
"after": 0.3462,
"delta": -0.0501,
"percent_delta": -0.1264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0545,
"after": 1.0494,
"delta": -0.0051,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3963,
"after": 0.3462,
"delta": -0.0501,
"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 4 (raw=4.37), rates preserved: AVG=0.195 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.0856,
"after": 0.0,
"delta": -0.0856,
"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.1385,
"after": 4.0,
"delta": -0.1385,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3961,
"after": 0.0,
"delta": -0.3961,
"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.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1642,
"after": 0.0,
"delta": -0.1642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4258,
"after": 0.0,
"delta": -0.4258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0494,
"after": 1.0,
"delta": -0.0494,
"percent_delta": -0.0471,
"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.853,
"after": 1.0,
"delta": 0.147,
"percent_delta": 0.1723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4258,
"after": 0.0,
"delta": -0.4258,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6579,
"after": 1.0,
"delta": 0.3421,
"percent_delta": 0.52,
"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.6579,
"after": 1.0,
"delta": 0.3421,
"percent_delta": 0.52,
"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.2061,
"after": 0.25,
"delta": 0.0439,
"percent_delta": 0.213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2755,
"after": 0.25,
"delta": -0.0255,
"percent_delta": -0.0926,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3462,
"after": 0.25,
"delta": -0.0962,
"percent_delta": -0.2779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2061,
"after": 0.25,
"delta": 0.0439,
"percent_delta": 0.213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3462,
"after": 0.25,
"delta": -0.0962,
"percent_delta": -0.2779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 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.2061,
"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.2755,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3462,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2061,
"delta": -0.0439,
"percent_delta": -0.1756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2755,
"delta": 0.0255,
"percent_delta": 0.1018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3462,
"delta": 0.0962,
"percent_delta": 0.3849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3462,
"delta": 0.0962,
"percent_delta": 0.3849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2061,
"delta": -0.0439,
"percent_delta": -0.1756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.097,
"after": 0.0,
"delta": -0.097,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.37,
"after": 4.0,
"delta": -0.37,
"percent_delta": -0.0847,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2061,
"delta": -0.0089,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 2.0,
"delta": 1.06,
"percent_delta": 1.1277,
"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.277,
"after": 0.2755,
"delta": -0.0015,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.726,
"after": 1.0,
"delta": 0.274,
"percent_delta": 0.3774,
"direction": "boost",
"projection_effect": "better",
"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.449,
"after": 0.3462,
"delta": -0.1028,
"percent_delta": -0.229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.065,
"after": 1.0,
"delta": -0.065,
"percent_delta": -0.061,
"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.94,
"after": 2.0,
"delta": 1.06,
"percent_delta": 1.1277,
"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.097 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.370 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.419 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.726 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.449 | - |
| predicted_SO | 1.065 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.011 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.138 | -0.232 |
| predicted_AVG | 0.206 | -0.009 |
| predicted_BB | 0.394 | -0.025 |
| predicted_H | 0.855 | -0.085 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.164 | -0.016 |
| predicted_OBP | 0.274 | -0.003 |
| predicted_R | 0.658 | -0.068 |
| predicted_RBI | 0.426 | -0.024 |
| predicted_SLG | 0.396 | -0.053 |
| predicted_SO | 1.054 | -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.086 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.138 | 0.000 |
| predicted_AVG | 0.206 | 0.000 |
| predicted_BB | 0.396 | 0.002 |
| predicted_H | 0.853 | -0.002 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.164 | 0.000 |
| predicted_OBP | 0.276 | 0.001 |
| predicted_R | 0.658 | -0.000 |
| predicted_RBI | 0.426 | -0.000 |
| predicted_SLG | 0.346 | -0.050 |
| predicted_SO | 1.049 | -0.005 |
AB rounded to 4 (raw=4.37), rates preserved: AVG=0.195 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.086 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.138 |
| predicted_AVG | 0.250 | 0.044 |
| predicted_BB | 0.000 | -0.396 |
| predicted_H | 1.000 | 0.147 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.250 | -0.026 |
| predicted_R | 1.000 | 0.342 |
| predicted_RBI | 0.000 | -0.426 |
| predicted_SLG | 0.250 | -0.096 |
| predicted_SO | 1.000 | -0.049 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 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 | 0.000 | 2.000 | 2.000 | 3.000 | 0.1053 | 0.1905 | 0.1053 | 0.1053 | 0.0000 | 0.0000 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 10 | - | 37.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 15.000 | 0.0541 | 0.1250 | 0.0541 | 0.0541 | 0.0000 | 0.0000 | 0.0541 | 0.4054 |
| season | 0.60 | 62 | - | 240.000 | 62.000 | 6.000 | 0.000 | 15.000 | 40.000 | 45.000 | 26.000 | 66.000 | 0.2583 | 0.3395 | 0.4708 | 0.2583 | 0.0625 | 0.1667 | 0.1083 | 0.2750 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0700 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.8200 |
| predicted_AVG | 0.1929 |
| predicted_BB | 0.3600 |
| predicted_H | 0.7370 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.2707 |
| predicted_R | 0.5650 |
| predicted_RBI | 0.3930 |
| predicted_SLG | 0.3237 |
| predicted_SO | 1.0400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0970 | 0.0700 | 0.0856 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.3700 | 3.8200 | 4.1385 | model_form_blend |
| predicted_AVG | 0.2150 | 0.1929 | 0.2057 | model_form_blend |
| predicted_BB | 0.4190 | 0.3600 | 0.3942 | model_form_blend |
| predicted_H | 0.9400 | 0.7370 | 0.8546 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.1800 | 0.1420 | 0.1640 | model_form_blend |
| predicted_OBP | 0.2770 | 0.2707 | 0.2743 | model_form_blend |
| predicted_R | 0.7260 | 0.5650 | 0.6582 | model_form_blend |
| predicted_RBI | 0.4500 | 0.3930 | 0.4260 | model_form_blend |
| predicted_SLG | 0.4490 | 0.3237 | 0.3963 | model_form_blend |
| predicted_SO | 1.0650 | 1.0400 | 1.0545 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.258 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 2 |
| 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 | C |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 686948 |
| playerID | 686948 |
| playerName | Drake Baldwin |
| pos | C |
| started | True |
| startingPosition | C |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.347 |
| sl_xwoba | 0.373 |
| sl_xba | 0.272 |
| sl_xslg | 0.512 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 16.1 |
| sl_hard_hit_percent | 48.9 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 51.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.210 | 0.000 | 0.000 | Hitting_2B | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 3.760 | 4.000 | 4.000 | Hitting_AB | 3.811 | 2.000 | 0.189 | 2.000 |
| predicted_AVG | 0.251 | 0.000 | 0.250 | Hitting_AVG | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_BB | 0.259 | 0.000 | 0.000 | Hitting_BB | 0.263 | 1.000 | -0.263 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.950 | 0.000 | 1.000 | Hitting_H | 0.984 | 0.000 | -0.984 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_OBP | 0.317 | 0.000 | 0.250 | Hitting_OBP | 0.312 | 0.333 | -0.312 | -0.333 |
| predicted_R | 0.444 | 0.000 | 0.000 | Hitting_R | 0.428 | 1.000 | -0.428 | -1.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.560 | 1.000 | -0.560 | -1.000 |
| predicted_SLG | 0.488 | 0.000 | 0.250 | Hitting_SLG | 0.395 | 0.000 | -0.395 | 0.000 |
| predicted_SO | 0.556 | 1.000 | 1.000 | Hitting_SO | 0.613 | 0.000 | 0.387 | 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.5560 -> 1.0000 (boost 0.4440, worse) |
| Biggest Deboost | predicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2510 -> 0.2612 (boost 0.0102, better) | predicted_SLG: 0.4880 -> 0.4610 (deboost -0.0270, worse) | Final model input calibrated with local 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.4610 -> 0.4109 (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 | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.5165 -> 1.0000 (boost 0.4835, worse) | predicted_RBI: 0.4260 -> 0.0000 (deboost -0.4260, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.261 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4935 -> 0.0000 (deboost -0.4935, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4109 -> 0.2500 (deboost -0.1609, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4109 (boost 0.1609, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"position": "LF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.21,
"predicted_3B": 0.025,
"predicted_AB": 3.76,
"predicted_AVG": 0.251,
"predicted_BB": 0.259,
"predicted_H": 0.95,
"predicted_HR": 0.1,
"predicted_OBP": 0.317,
"predicted_R": 0.444,
"predicted_RBI": 0.43,
"predicted_SLG": 0.488,
"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.2385,
"predicted_3B": 0.0207,
"predicted_AB": 3.7438,
"predicted_AVG": 0.2612,
"predicted_BB": 0.2662,
"predicted_H": 0.9815,
"predicted_HBP": 0.016,
"predicted_HR": 0.0928,
"predicted_OBP": 0.3218,
"predicted_R": 0.4937,
"predicted_RBI": 0.4262,
"predicted_SLG": 0.461,
"predicted_SO": 0.519
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.2385,
"delta": 0.0285,
"percent_delta": 0.1357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0207,
"delta": -0.0043,
"percent_delta": -0.172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.76,
"after": 3.7438,
"delta": -0.0162,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2612,
"delta": 0.0102,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.259,
"after": 0.2662,
"delta": 0.0072,
"percent_delta": 0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.9815,
"delta": 0.0315,
"percent_delta": 0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0928,
"delta": -0.0072,
"percent_delta": -0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3218,
"delta": 0.0048,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.4937,
"delta": 0.0497,
"percent_delta": 0.1119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4262,
"delta": -0.0038,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.461,
"delta": -0.027,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.519,
"delta": -0.037,
"percent_delta": -0.0665,
"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.251,
"after": 0.2612,
"delta": 0.0102,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.461,
"delta": -0.027,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 81
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2385,
"predicted_3B": 0.0207,
"predicted_AB": 3.7438,
"predicted_AVG": 0.2617,
"predicted_BB": 0.2675,
"predicted_H": 0.9796,
"predicted_HBP": 0.016,
"predicted_HR": 0.0929,
"predicted_OBP": 0.3109,
"predicted_R": 0.4935,
"predicted_RBI": 0.426,
"predicted_SLG": 0.4109,
"predicted_SO": 0.5165
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2385,
"after": 0.2385,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7438,
"after": 3.7438,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2612,
"after": 0.2617,
"delta": 0.0005,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2662,
"after": 0.2675,
"delta": 0.0013,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9815,
"after": 0.9796,
"delta": -0.0019,
"percent_delta": -0.0019,
"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.0928,
"after": 0.0929,
"delta": 0.0001,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3218,
"after": 0.3109,
"delta": -0.0109,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4937,
"after": 0.4935,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4262,
"after": 0.426,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4109,
"delta": -0.0501,
"percent_delta": -0.1087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.519,
"after": 0.5165,
"delta": -0.0025,
"percent_delta": -0.0048,
"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.461,
"after": 0.4109,
"delta": -0.0501,
"percent_delta": -0.1087,
"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.261 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.2385,
"after": 0.0,
"delta": -0.2385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0,
"delta": -0.0207,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7438,
"after": 4.0,
"delta": 0.2562,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2675,
"after": 0.0,
"delta": -0.2675,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9796,
"after": 1.0,
"delta": 0.0204,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0929,
"after": 0.0,
"delta": -0.0929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5165,
"after": 1.0,
"delta": 0.4835,
"percent_delta": 0.9361,
"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.5165,
"after": 1.0,
"delta": 0.4835,
"percent_delta": 0.9361,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.4935,
"after": 0.0,
"delta": -0.4935,
"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.4935,
"after": 0.0,
"delta": -0.4935,
"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.2617,
"after": 0.25,
"delta": -0.0117,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3109,
"after": 0.25,
"delta": -0.0609,
"percent_delta": -0.1959,
"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.4109,
"after": 0.25,
"delta": -0.1609,
"percent_delta": -0.3916,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4109,
"after": 0.25,
"delta": -0.1609,
"percent_delta": -0.3916,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2617,
"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.3109,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4109,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2617,
"delta": 0.0117,
"percent_delta": 0.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3109,
"delta": 0.0609,
"percent_delta": 0.2436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4109,
"delta": 0.1609,
"percent_delta": 0.6436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4109,
"delta": 0.1609,
"percent_delta": 0.6436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.76,
"after": 4.0,
"delta": 0.24,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2617,
"delta": 0.0107,
"percent_delta": 0.0426,
"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.95,
"after": 0.0,
"delta": -0.95,
"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.317,
"after": 0.3109,
"delta": -0.0061,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.488,
"after": 0.4109,
"delta": -0.0771,
"percent_delta": -0.158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.95,
"after": 0.0,
"delta": -0.95,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.760 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.259 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.444 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.488 | - |
| 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.238 | 0.028 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 3.744 | -0.016 |
| predicted_AVG | 0.261 | 0.010 |
| predicted_BB | 0.266 | 0.007 |
| predicted_H | 0.982 | 0.032 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.093 | -0.007 |
| predicted_OBP | 0.322 | 0.005 |
| predicted_R | 0.494 | 0.050 |
| predicted_RBI | 0.426 | -0.004 |
| predicted_SLG | 0.461 | -0.027 |
| predicted_SO | 0.519 | -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.238 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 3.744 | 0.000 |
| predicted_AVG | 0.262 | 0.001 |
| predicted_BB | 0.268 | 0.001 |
| predicted_H | 0.980 | -0.002 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.093 | 0.000 |
| predicted_OBP | 0.311 | -0.011 |
| predicted_R | 0.493 | -0.000 |
| predicted_RBI | 0.426 | -0.000 |
| predicted_SLG | 0.411 | -0.050 |
| predicted_SO | 0.516 | -0.003 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.261 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.238 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | 0.256 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 0.000 | -0.268 |
| predicted_H | 1.000 | 0.020 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.250 | -0.061 |
| predicted_R | 0.000 | -0.493 |
| predicted_RBI | 0.000 | -0.426 |
| predicted_SLG | 0.250 | -0.161 |
| predicted_SO | 1.000 | 0.484 |
Attached 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 | - | 18.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 0.2778 | 0.3500 | 0.3889 | 0.2778 | 0.0000 | 0.0556 | 0.1111 | 0.0556 |
| last_10 | 0.20 | 10 | - | 39.000 | 12.000 | 4.000 | 0.000 | 1.000 | 2.000 | 7.000 | 2.000 | 3.000 | 0.3077 | 0.3415 | 0.4872 | 0.3077 | 0.0256 | 0.0513 | 0.0513 | 0.0769 |
| season | 0.60 | 81 | - | 299.000 | 80.000 | 17.000 | 2.000 | 8.000 | 45.000 | 36.000 | 21.000 | 45.000 | 0.2676 | 0.3199 | 0.4181 | 0.2676 | 0.0268 | 0.1505 | 0.0702 | 0.1505 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2770 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.7220 |
| predicted_AVG | 0.2751 |
| predicted_BB | 0.2760 |
| predicted_H | 1.0240 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.3282 |
| predicted_R | 0.5610 |
| predicted_RBI | 0.4210 |
| predicted_SLG | 0.4246 |
| predicted_SO | 0.4690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2100 | 0.2770 | 0.2385 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0207 | model_form_blend |
| predicted_AB | 3.7600 | 3.7220 | 3.7438 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2751 | 0.2612 | model_form_blend |
| predicted_BB | 0.2590 | 0.2760 | 0.2662 | model_form_blend |
| predicted_H | 0.9500 | 1.0240 | 0.9815 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1000 | 0.0830 | 0.0928 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3282 | 0.3218 | model_form_blend |
| predicted_R | 0.4440 | 0.5610 | 0.4937 | model_form_blend |
| predicted_RBI | 0.4300 | 0.4210 | 0.4262 | model_form_blend |
| predicted_SLG | 0.4880 | 0.4246 | 0.4610 | model_form_blend |
| predicted_SO | 0.5560 | 0.4690 | 0.5190 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 81 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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.268 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 643289 |
| playerID | 643289 |
| playerName | Mauricio Dubón |
| pos | SS |
| started | True |
| startingPosition | LF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 13.9 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.323 |
| sl_xwoba | 0.322 |
| sl_xba | 0.275 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 29.9 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 16.2 |
| 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.159 | 0.000 | 0.000 | Hitting_2B | - | - | - | - |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | - | - | - | - |
| predicted_AB | 3.529 | 4.000 | 4.000 | Hitting_AB | - | - | - | - |
| predicted_AVG | 0.246 | 0.500 | 0.250 | Hitting_AVG | - | - | - | - |
| predicted_BB | 0.321 | 0.000 | 0.000 | Hitting_BB | - | - | - | - |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | - | - | - | - |
| predicted_H | 0.867 | 2.000 | 1.000 | Hitting_H | - | - | - | - |
| predicted_HR | 0.109 | 1.000 | 0.000 | Hitting_HR | - | - | - | - |
| predicted_OBP | 0.309 | 0.500 | 0.250 | Hitting_OBP | - | - | - | - |
| predicted_R | 0.488 | 1.000 | 0.000 | Hitting_R | - | - | - | - |
| predicted_RBI | 0.420 | 3.000 | 0.000 | Hitting_RBI | - | - | - | - |
| predicted_SLG | 0.391 | 1.250 | 0.250 | Hitting_SLG | - | - | - | - |
| predicted_SO | 0.836 | 1.000 | 1.000 | Hitting_SO | - | - | - | - |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 2 |
| Better Metrics | 5 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.4200 -> 3.0000 (boost 2.5800, better) |
| Biggest Deboost | predicted_BB: 0.3210 -> 0.0000 (deboost -0.3210, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 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.5718 -> 4.0000 (boost 0.4282, better) | predicted_RBI: 0.4300 -> 0.0000 (deboost -0.4300, worse) | AB rounded to 4 (raw=3.57), rates preserved: AVG=0.246 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4900 -> 0.0000 (deboost -0.4900, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3943 -> 0.2500 (deboost -0.1443, 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 -> 3.0000 (boost 3.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3943 (boost 0.1443, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805347",
"player_name": "Jim Jarvis",
"position": "SS",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.159,
"predicted_3B": 0.015,
"predicted_AB": 3.529,
"predicted_AVG": 0.246,
"predicted_BB": 0.321,
"predicted_H": 0.867,
"predicted_HR": 0.109,
"predicted_OBP": 0.309,
"predicted_R": 0.488,
"predicted_RBI": 0.42,
"predicted_SLG": 0.391,
"predicted_SO": 0.836
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1625,
"predicted_3B": 0.015,
"predicted_AB": 3.5718,
"predicted_AVG": 0.2463,
"predicted_BB": 0.3127,
"predicted_H": 0.8788,
"predicted_HBP": 0.033,
"predicted_HR": 0.1128,
"predicted_OBP": 0.3085,
"predicted_R": 0.4902,
"predicted_RBI": 0.4302,
"predicted_SLG": 0.3937,
"predicted_SO": 0.8382
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.1625,
"delta": 0.0035,
"percent_delta": 0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.529,
"after": 3.5718,
"delta": 0.0428,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2463,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.3127,
"delta": -0.0083,
"percent_delta": -0.0259,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.867,
"after": 0.8788,
"delta": 0.0118,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.109,
"after": 0.1128,
"delta": 0.0038,
"percent_delta": 0.0349,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3085,
"delta": -0.0005,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.488,
"after": 0.4902,
"delta": 0.0022,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4302,
"delta": 0.0102,
"percent_delta": 0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3937,
"delta": 0.0027,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.836,
"after": 0.8382,
"delta": 0.0022,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 0,
"last_10": 0,
"season": 0
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1625,
"predicted_3B": 0.015,
"predicted_AB": 3.5718,
"predicted_AVG": 0.2456,
"predicted_BB": 0.3142,
"predicted_H": 0.8771,
"predicted_HBP": 0.033,
"predicted_HR": 0.1129,
"predicted_OBP": 0.3066,
"predicted_R": 0.49,
"predicted_RBI": 0.43,
"predicted_SLG": 0.3943,
"predicted_SO": 0.8342
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1625,
"after": 0.1625,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5718,
"after": 3.5718,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2463,
"after": 0.2456,
"delta": -0.0007,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3127,
"after": 0.3142,
"delta": 0.0015,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8788,
"after": 0.8771,
"delta": -0.0017,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.033,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1128,
"after": 0.1129,
"delta": 0.0001,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3085,
"after": 0.3066,
"delta": -0.0019,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4902,
"after": 0.49,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4302,
"after": 0.43,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3937,
"after": 0.3943,
"delta": 0.0006,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8382,
"after": 0.8342,
"delta": -0.004,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.57), rates preserved: AVG=0.246 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.1625,
"after": 0.0,
"delta": -0.1625,
"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.5718,
"after": 4.0,
"delta": 0.4282,
"percent_delta": 0.1199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3142,
"after": 0.0,
"delta": -0.3142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8771,
"after": 1.0,
"delta": 0.1229,
"percent_delta": 0.1401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1129,
"after": 0.0,
"delta": -0.1129,
"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_SO",
"before": 0.8342,
"after": 1.0,
"delta": 0.1658,
"percent_delta": 0.1988,
"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.5718,
"after": 4.0,
"delta": 0.4282,
"percent_delta": 0.1199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.49,
"after": 0.0,
"delta": -0.49,
"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.49,
"after": 0.0,
"delta": -0.49,
"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.2456,
"after": 0.25,
"delta": 0.0044,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3066,
"after": 0.25,
"delta": -0.0566,
"percent_delta": -0.1846,
"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.3943,
"after": 0.25,
"delta": -0.1443,
"percent_delta": -0.366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"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.3943,
"after": 0.25,
"delta": -0.1443,
"percent_delta": -0.366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.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.2456,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3066,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3943,
"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.2456,
"delta": -0.0044,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3066,
"delta": 0.0566,
"percent_delta": 0.2263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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.3943,
"delta": 0.1443,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"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.3943,
"delta": 0.1443,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.529,
"after": 4.0,
"delta": 0.471,
"percent_delta": 0.1335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2456,
"delta": -0.0004,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.867,
"after": 2.0,
"delta": 1.133,
"percent_delta": 1.3068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.109,
"after": 1.0,
"delta": 0.891,
"percent_delta": 8.1743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3066,
"delta": -0.0024,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.488,
"after": 1.0,
"delta": 0.512,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 3.0,
"delta": 2.58,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.3943,
"delta": 0.0033,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.836,
"after": 1.0,
"delta": 0.164,
"percent_delta": 0.1962,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 6,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.42,
"after": 3.0,
"delta": 2.58,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.529 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.321 | - |
| predicted_H | 0.867 | - |
| predicted_HR | 0.109 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.488 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.391 | - |
| predicted_SO | 0.836 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | 0.004 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.572 | 0.043 |
| predicted_AVG | 0.246 | 0.000 |
| predicted_BB | 0.313 | -0.008 |
| predicted_H | 0.879 | 0.012 |
| predicted_HBP | 0.033 | - |
| predicted_HR | 0.113 | 0.004 |
| predicted_OBP | 0.308 | -0.001 |
| predicted_R | 0.490 | 0.002 |
| predicted_RBI | 0.430 | 0.010 |
| predicted_SLG | 0.394 | 0.003 |
| predicted_SO | 0.838 | 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.163 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.572 | 0.000 |
| predicted_AVG | 0.246 | -0.001 |
| predicted_BB | 0.314 | 0.002 |
| predicted_H | 0.877 | -0.002 |
| predicted_HBP | 0.033 | 0.000 |
| predicted_HR | 0.113 | 0.000 |
| predicted_OBP | 0.307 | -0.002 |
| predicted_R | 0.490 | -0.000 |
| predicted_RBI | 0.430 | -0.000 |
| predicted_SLG | 0.394 | 0.001 |
| predicted_SO | 0.834 | -0.004 |
AB rounded to 4 (raw=3.57), rates preserved: AVG=0.246 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.163 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | 0.428 |
| predicted_AVG | 0.250 | 0.004 |
| predicted_BB | 0.000 | -0.314 |
| predicted_H | 1.000 | 0.123 |
| predicted_HR | 0.000 | -0.113 |
| predicted_OBP | 0.250 | -0.057 |
| predicted_R | 0.000 | -0.490 |
| predicted_RBI | 0.000 | -0.430 |
| predicted_SLG | 0.250 | -0.144 |
| predicted_SO | 1.000 | 0.166 |
Attached 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 | 1.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| last_10 | 0.20 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| season | 0.60 | 0 | - | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | - | - | - | - | - | - | - | - |
| Metric | Value |
|---|---|
| predicted_2B | 0.1810 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.8010 |
| predicted_AVG | 0.2477 |
| predicted_BB | 0.2680 |
| predicted_H | 0.9420 |
| predicted_HBP | 0.0330 |
| predicted_HR | 0.1330 |
| predicted_OBP | 0.3058 |
| predicted_R | 0.5020 |
| predicted_RBI | 0.4850 |
| predicted_SLG | 0.4084 |
| predicted_SO | 0.8500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.1810 | 0.1625 | model_form_blend |
| predicted_3B | 0.0150 | 0.0150 | 0.0150 | model_form_blend |
| predicted_AB | 3.5290 | 3.8010 | 3.5718 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2477 | 0.2463 | model_form_blend |
| predicted_BB | 0.3210 | 0.2680 | 0.3127 | model_form_blend |
| predicted_H | 0.8670 | 0.9420 | 0.8788 | model_form_blend |
| predicted_HBP | - | 0.0330 | 0.0330 | form_only |
| predicted_HR | 0.1090 | 0.1330 | 0.1128 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3058 | 0.3085 | model_form_blend |
| predicted_R | 0.4880 | 0.5020 | 0.4902 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4850 | 0.4302 | model_form_blend |
| predicted_SLG | 0.3910 | 0.4084 | 0.3937 | model_form_blend |
| predicted_SO | 0.8360 | 0.8500 | 0.8382 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 0 |
| Season rows before report date | 0 |
| Report year | 2026 |
| Profile rows used | 0 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
No historical data found for this player before report date.
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.078 | 0.000 | 0.000 | Hitting_2B | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 2.859 | 4.000 | 3.000 | Hitting_AB | 3.156 | 4.000 | 0.844 | 0.000 |
| predicted_AVG | 0.271 | 0.500 | 0.333 | Hitting_AVG | 0.321 | 0.250 | 0.179 | 0.250 |
| predicted_BB | 0.141 | 0.000 | 0.000 | Hitting_BB | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.710 | 2.000 | 1.000 | Hitting_H | 1.014 | 1.000 | 0.986 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_OBP | 0.307 | 0.500 | 0.333 | Hitting_OBP | 0.358 | 0.250 | 0.142 | 0.250 |
| predicted_R | 0.375 | 1.000 | 0.000 | Hitting_R | 0.497 | 0.000 | 0.503 | 1.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.605 | 0.000 | -0.605 | 0.000 |
| predicted_SLG | 0.454 | 0.500 | 0.333 | Hitting_SLG | 0.472 | 0.250 | 0.028 | 0.250 |
| predicted_SO | 0.422 | 1.000 | 0.000 | Hitting_SO | 0.449 | 1.000 | 0.551 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_H: 0.7100 -> 2.0000 (boost 1.2900, better) |
| Biggest Deboost | predicted_RBI: 0.3600 -> 0.0000 (deboost -0.3600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.4540 -> 0.4174 (deboost -0.0366, worse) | Final model input calibrated with local form: 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.4174 -> 0.3679 (deboost -0.0495, 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.7316 -> 1.0000 (boost 0.2684, better) | predicted_SO: 0.4446 -> 0.0000 (deboost -0.4446, better) | AB rounded to 3 (raw=2.87), rates preserved: AVG=0.255 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3297 -> 0.0000 (deboost -0.3297, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2552 -> 0.3330 (boost 0.0778, better) | predicted_SLG: 0.3679 -> 0.3330 (deboost -0.0349, 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_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.3679 (boost 0.0349, better) | predicted_AVG: 0.3330 -> 0.2552 (deboost -0.0778, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642086",
"player_name": "Dominic Smith",
"position": "DH",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.078,
"predicted_3B": 0.016,
"predicted_AB": 2.859,
"predicted_AVG": 0.271,
"predicted_BB": 0.141,
"predicted_H": 0.71,
"predicted_HR": 0.08,
"predicted_OBP": 0.307,
"predicted_R": 0.375,
"predicted_RBI": 0.36,
"predicted_SLG": 0.454,
"predicted_SO": 0.422
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.078,
"predicted_3B": 0.0135,
"predicted_AB": 2.8664,
"predicted_AVG": 0.269,
"predicted_BB": 0.1644,
"predicted_H": 0.733,
"predicted_HBP": 0.011,
"predicted_HR": 0.0726,
"predicted_OBP": 0.3098,
"predicted_R": 0.3298,
"predicted_RBI": 0.3575,
"predicted_SLG": 0.4174,
"predicted_SO": 0.4467
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.078,
"after": 0.078,
"delta": 0.0,
"percent_delta": 0.0,
"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": 2.859,
"after": 2.8664,
"delta": 0.0074,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.269,
"delta": -0.002,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.141,
"after": 0.1644,
"delta": 0.0234,
"percent_delta": 0.166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.733,
"delta": 0.023,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0726,
"delta": -0.0074,
"percent_delta": -0.0925,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3098,
"delta": 0.0028,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.3298,
"delta": -0.0452,
"percent_delta": -0.1205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3575,
"delta": -0.0025,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4174,
"delta": -0.0366,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.422,
"after": 0.4467,
"delta": 0.0247,
"percent_delta": 0.0585,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.454,
"after": 0.4174,
"delta": -0.0366,
"percent_delta": -0.0806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.078,
"predicted_3B": 0.0135,
"predicted_AB": 2.8664,
"predicted_AVG": 0.2552,
"predicted_BB": 0.1652,
"predicted_H": 0.7316,
"predicted_HBP": 0.011,
"predicted_HR": 0.0727,
"predicted_OBP": 0.2958,
"predicted_R": 0.3297,
"predicted_RBI": 0.3574,
"predicted_SLG": 0.3679,
"predicted_SO": 0.4446
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.078,
"after": 0.078,
"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": 2.8664,
"after": 2.8664,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2552,
"delta": -0.0138,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1644,
"after": 0.1652,
"delta": 0.0008,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.733,
"after": 0.7316,
"delta": -0.0014,
"percent_delta": -0.0019,
"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.0726,
"after": 0.0727,
"delta": 0.0001,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3098,
"after": 0.2958,
"delta": -0.014,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3298,
"after": 0.3297,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3575,
"after": 0.3574,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4174,
"after": 0.3679,
"delta": -0.0495,
"percent_delta": -0.1186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4467,
"after": 0.4446,
"delta": -0.0021,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4174,
"after": 0.3679,
"delta": -0.0495,
"percent_delta": -0.1186,
"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.255 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"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": 2.8664,
"after": 3.0,
"delta": 0.1336,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1652,
"after": 0.0,
"delta": -0.1652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7316,
"after": 1.0,
"delta": 0.2684,
"percent_delta": 0.3669,
"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.0727,
"after": 0.0,
"delta": -0.0727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3574,
"after": 0.0,
"delta": -0.3574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4446,
"after": 0.0,
"delta": -0.4446,
"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.7316,
"after": 1.0,
"delta": 0.2684,
"percent_delta": 0.3669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4446,
"after": 0.0,
"delta": -0.4446,
"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.3297,
"after": 0.0,
"delta": -0.3297,
"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.3297,
"after": 0.0,
"delta": -0.3297,
"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.2552,
"after": 0.333,
"delta": 0.0778,
"percent_delta": 0.3049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": 0.0372,
"percent_delta": 0.1258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3679,
"after": 0.333,
"delta": -0.0349,
"percent_delta": -0.0949,
"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.2552,
"after": 0.333,
"delta": 0.0778,
"percent_delta": 0.3049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3679,
"after": 0.333,
"delta": -0.0349,
"percent_delta": -0.0949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.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.2552,
"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.2958,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3679,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2552,
"delta": -0.0778,
"percent_delta": -0.2335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2958,
"delta": -0.0372,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3679,
"delta": 0.0349,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3679,
"delta": 0.0349,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2552,
"delta": -0.0778,
"percent_delta": -0.2335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.078,
"after": 0.0,
"delta": -0.078,
"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": 2.859,
"after": 4.0,
"delta": 1.141,
"percent_delta": 0.3991,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2552,
"delta": -0.0158,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.71,
"after": 2.0,
"delta": 1.29,
"percent_delta": 1.8169,
"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.307,
"after": 0.2958,
"delta": -0.0112,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.3679,
"delta": -0.0861,
"percent_delta": -0.1896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.422,
"after": 1.0,
"delta": 0.578,
"percent_delta": 1.3697,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.71,
"after": 2.0,
"delta": 1.29,
"percent_delta": 1.8169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.078 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 2.859 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.141 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.375 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 0.422 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.078 | 0.000 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 2.866 | 0.007 |
| predicted_AVG | 0.269 | -0.002 |
| predicted_BB | 0.164 | 0.023 |
| predicted_H | 0.733 | 0.023 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.073 | -0.007 |
| predicted_OBP | 0.310 | 0.003 |
| predicted_R | 0.330 | -0.045 |
| predicted_RBI | 0.357 | -0.003 |
| predicted_SLG | 0.417 | -0.037 |
| predicted_SO | 0.447 | 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.078 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 2.866 | 0.000 |
| predicted_AVG | 0.255 | -0.014 |
| predicted_BB | 0.165 | 0.001 |
| predicted_H | 0.732 | -0.001 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.073 | 0.000 |
| predicted_OBP | 0.296 | -0.014 |
| predicted_R | 0.330 | -0.000 |
| predicted_RBI | 0.357 | -0.000 |
| predicted_SLG | 0.368 | -0.049 |
| predicted_SO | 0.445 | -0.002 |
AB rounded to 3 (raw=2.87), rates preserved: AVG=0.255 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 | 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.078 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | 0.134 |
| predicted_AVG | 0.333 | 0.078 |
| predicted_BB | 0.000 | -0.165 |
| predicted_H | 1.000 | 0.268 |
| predicted_HR | 0.000 | -0.073 |
| predicted_OBP | 0.333 | 0.037 |
| predicted_R | 0.000 | -0.330 |
| predicted_RBI | 0.000 | -0.357 |
| predicted_SLG | 0.333 | -0.035 |
| predicted_SO | 0.000 | -0.445 |
Attached 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 | 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 | - | 12.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 2.000 | 0.2500 | 0.3077 | 0.2500 | 0.2500 | 0.0000 | 0.0833 | 0.0833 | 0.1667 |
| last_10 | 0.20 | 10 | - | 27.000 | 7.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 5.000 | 0.2593 | 0.3333 | 0.2963 | 0.2593 | 0.0000 | 0.0370 | 0.1111 | 0.1852 |
| season | 0.60 | 64 | - | 183.000 | 51.000 | 5.000 | 1.000 | 6.000 | 30.000 | 24.000 | 9.000 | 27.000 | 0.2787 | 0.3112 | 0.4153 | 0.2787 | 0.0328 | 0.1639 | 0.0492 | 0.1475 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0780 |
| predicted_3B | 0.0100 |
| predicted_AB | 2.8770 |
| predicted_AVG | 0.2662 |
| predicted_BB | 0.1980 |
| predicted_H | 0.7660 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.3137 |
| predicted_R | 0.2650 |
| predicted_RBI | 0.3540 |
| predicted_SLG | 0.3651 |
| predicted_SO | 0.4820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0780 | 0.0780 | 0.0780 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0135 | model_form_blend |
| predicted_AB | 2.8590 | 2.8770 | 2.8664 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2662 | 0.2690 | model_form_blend |
| predicted_BB | 0.1410 | 0.1980 | 0.1644 | model_form_blend |
| predicted_H | 0.7100 | 0.7660 | 0.7330 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0800 | 0.0620 | 0.0726 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3137 | 0.3098 | model_form_blend |
| predicted_R | 0.3750 | 0.2650 | 0.3298 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3540 | 0.3575 | model_form_blend |
| predicted_SLG | 0.4540 | 0.3651 | 0.4174 | model_form_blend |
| predicted_SO | 0.4220 | 0.4820 | 0.4467 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 147 |
| Season rows before report date | 147 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 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 | DH |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 642086 |
| playerID | 642086 |
| playerName | Dominic Smith |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.321 |
| sl_xwoba | 0.33 |
| sl_xba | 0.274 |
| sl_xslg | 0.429 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 50.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.141 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 3.588 | 4.000 | 4.000 | Hitting_AB | 3.745 | 4.000 | 0.255 | 0.000 |
| predicted_AVG | 0.217 | 0.500 | 0.250 | Hitting_AVG | 0.217 | 0.250 | 0.283 | 0.250 |
| predicted_BB | 0.329 | 0.000 | 0.000 | Hitting_BB | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.750 | 2.000 | 1.000 | Hitting_H | 0.814 | 1.000 | 1.186 | 1.000 |
| predicted_HR | 0.100 | 1.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | 0.882 | 1.000 |
| predicted_OBP | 0.258 | 0.500 | 0.250 | Hitting_OBP | 0.291 | 0.250 | 0.209 | 0.250 |
| predicted_R | 0.388 | 1.000 | 0.000 | Hitting_R | 0.487 | 0.000 | 0.513 | 1.000 |
| predicted_RBI | 0.400 | 1.000 | 0.000 | Hitting_RBI | 0.517 | 1.000 | 0.483 | 0.000 |
| predicted_SLG | 0.395 | 1.250 | 0.250 | Hitting_SLG | 0.359 | 0.250 | 0.891 | 1.000 |
| predicted_SO | 1.176 | 1.000 | 1.000 | Hitting_SO | 1.247 | 2.000 | -0.247 | -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_H: 0.7500 -> 2.0000 (boost 1.2500, better) |
| Biggest Deboost | predicted_BB: 0.3290 -> 0.0000 (deboost -0.3290, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3950 -> 0.3398 (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_OBP: 0.2518 -> 0.2597 (boost 0.0079, better) | predicted_SLG: 0.3398 -> 0.3070 (deboost -0.0328, 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.6127 -> 4.0000 (boost 0.3873, better) | predicted_RBI: 0.4062 -> 0.0000 (deboost -0.4062, worse) | AB rounded to 4 (raw=3.61), rates preserved: AVG=0.198 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3627 -> 0.0000 (deboost -0.3627, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1979 -> 0.2500 (boost 0.0521, better) | predicted_SLG: 0.3070 -> 0.2500 (deboost -0.0570, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_H: 1.0000 -> 2.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.3070 (boost 0.0570, better) | predicted_AVG: 0.2500 -> 0.1979 (deboost -0.0521, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663586",
"player_name": "Austin Riley",
"position": "3B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.141,
"predicted_3B": 0.012,
"predicted_AB": 3.588,
"predicted_AVG": 0.217,
"predicted_BB": 0.329,
"predicted_H": 0.75,
"predicted_HR": 0.1,
"predicted_OBP": 0.258,
"predicted_R": 0.388,
"predicted_RBI": 0.4,
"predicted_SLG": 0.395,
"predicted_SO": 1.176
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1205,
"predicted_3B": 0.0103,
"predicted_AB": 3.6127,
"predicted_AVG": 0.2029,
"predicted_BB": 0.3,
"predicted_H": 0.7163,
"predicted_HBP": 0.042,
"predicted_HR": 0.0842,
"predicted_OBP": 0.2518,
"predicted_R": 0.3628,
"predicted_RBI": 0.4064,
"predicted_SLG": 0.3398,
"predicted_SO": 1.1773
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.141,
"after": 0.1205,
"delta": -0.0205,
"percent_delta": -0.1454,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.588,
"after": 3.6127,
"delta": 0.0247,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2029,
"delta": -0.0141,
"percent_delta": -0.065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.3,
"delta": -0.029,
"percent_delta": -0.0881,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7163,
"delta": -0.0337,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0842,
"delta": -0.0158,
"percent_delta": -0.158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.258,
"after": 0.2518,
"delta": -0.0062,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.388,
"after": 0.3628,
"delta": -0.0252,
"percent_delta": -0.0649,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4064,
"delta": 0.0064,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3398,
"delta": -0.0552,
"percent_delta": -0.1397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.176,
"after": 1.1773,
"delta": 0.0013,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3398,
"delta": -0.0552,
"percent_delta": -0.1397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1205,
"predicted_3B": 0.0103,
"predicted_AB": 3.6127,
"predicted_AVG": 0.1979,
"predicted_BB": 0.3014,
"predicted_H": 0.7149,
"predicted_HBP": 0.042,
"predicted_HR": 0.0843,
"predicted_OBP": 0.2597,
"predicted_R": 0.3627,
"predicted_RBI": 0.4062,
"predicted_SLG": 0.307,
"predicted_SO": 1.1716
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1205,
"after": 0.1205,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6127,
"after": 3.6127,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2029,
"after": 0.1979,
"delta": -0.005,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.3014,
"delta": 0.0014,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7163,
"after": 0.7149,
"delta": -0.0014,
"percent_delta": -0.002,
"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.0842,
"after": 0.0843,
"delta": 0.0001,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2518,
"after": 0.2597,
"delta": 0.0079,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3628,
"after": 0.3627,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4064,
"after": 0.4062,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3398,
"after": 0.307,
"delta": -0.0328,
"percent_delta": -0.0965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1773,
"after": 1.1716,
"delta": -0.0057,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_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.2518,
"after": 0.2597,
"delta": 0.0079,
"percent_delta": 0.0314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3398,
"after": 0.307,
"delta": -0.0328,
"percent_delta": -0.0965,
"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.198 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.1205,
"after": 0.0,
"delta": -0.1205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6127,
"after": 4.0,
"delta": 0.3873,
"percent_delta": 0.1072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3014,
"after": 0.0,
"delta": -0.3014,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7149,
"after": 1.0,
"delta": 0.2851,
"percent_delta": 0.3988,
"direction": "boost",
"projection_effect": "better",
"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.0843,
"after": 0.0,
"delta": -0.0843,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4062,
"after": 0.0,
"delta": -0.4062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1716,
"after": 1.0,
"delta": -0.1716,
"percent_delta": -0.1465,
"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.6127,
"after": 4.0,
"delta": 0.3873,
"percent_delta": 0.1072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4062,
"after": 0.0,
"delta": -0.4062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.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": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3627,
"after": 0.0,
"delta": -0.3627,
"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.3627,
"after": 0.0,
"delta": -0.3627,
"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.1979,
"after": 0.25,
"delta": 0.0521,
"percent_delta": 0.2633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2597,
"after": 0.25,
"delta": -0.0097,
"percent_delta": -0.0374,
"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.307,
"after": 0.25,
"delta": -0.057,
"percent_delta": -0.1857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1979,
"after": 0.25,
"delta": 0.0521,
"percent_delta": 0.2633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.25,
"delta": -0.057,
"percent_delta": -0.1857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 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": 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_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": 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.1979,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2597,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.307,
"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.1979,
"delta": -0.0521,
"percent_delta": -0.2084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2597,
"delta": 0.0097,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.307,
"delta": 0.057,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.307,
"delta": 0.057,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1979,
"delta": -0.0521,
"percent_delta": -0.2084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.588,
"after": 4.0,
"delta": 0.412,
"percent_delta": 0.1148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.1979,
"delta": -0.0191,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"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.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.258,
"after": 0.2597,
"delta": 0.0017,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.388,
"after": 1.0,
"delta": 0.612,
"percent_delta": 1.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.307,
"delta": -0.088,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.176,
"after": 1.0,
"delta": -0.176,
"percent_delta": -0.1497,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 6,
"worse_metrics": 4,
"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_BB",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"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.141 | - |
| predicted_3B | 0.012 | - |
| predicted_AB | 3.588 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.329 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.258 | - |
| predicted_R | 0.388 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 1.176 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | -0.020 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 3.613 | 0.025 |
| predicted_AVG | 0.203 | -0.014 |
| predicted_BB | 0.300 | -0.029 |
| predicted_H | 0.716 | -0.034 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.084 | -0.016 |
| predicted_OBP | 0.252 | -0.006 |
| predicted_R | 0.363 | -0.025 |
| predicted_RBI | 0.406 | 0.006 |
| predicted_SLG | 0.340 | -0.055 |
| predicted_SO | 1.177 | 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.120 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 3.613 | 0.000 |
| predicted_AVG | 0.198 | -0.005 |
| predicted_BB | 0.301 | 0.001 |
| predicted_H | 0.715 | -0.001 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.084 | 0.000 |
| predicted_OBP | 0.260 | 0.008 |
| predicted_R | 0.363 | -0.000 |
| predicted_RBI | 0.406 | -0.000 |
| predicted_SLG | 0.307 | -0.033 |
| predicted_SO | 1.172 | -0.006 |
AB rounded to 4 (raw=3.61), rates preserved: AVG=0.198 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=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.120 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | 0.387 |
| predicted_AVG | 0.250 | 0.052 |
| predicted_BB | 0.000 | -0.301 |
| predicted_H | 1.000 | 0.285 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.250 | -0.010 |
| predicted_R | 0.000 | -0.363 |
| predicted_RBI | 0.000 | -0.406 |
| predicted_SLG | 0.250 | -0.057 |
| predicted_SO | 1.000 | -0.172 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 19.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 0.000 | 6.000 | 0.1053 | 0.1053 | 0.1053 | 0.1053 | 0.0000 | 0.1053 | 0.0000 | 0.3158 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 3.000 | 13.000 | 0.1667 | 0.2308 | 0.1667 | 0.1667 | 0.0000 | 0.0833 | 0.0833 | 0.3611 |
| season | 0.60 | 85 | - | 305.000 | 63.000 | 12.000 | 1.000 | 8.000 | 38.000 | 33.000 | 28.000 | 100.000 | 0.2066 | 0.2845 | 0.3311 | 0.2066 | 0.0262 | 0.1246 | 0.0918 | 0.3279 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6460 |
| predicted_AVG | 0.1840 |
| predicted_BB | 0.2610 |
| predicted_H | 0.6710 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.2434 |
| predicted_R | 0.3290 |
| predicted_RBI | 0.4150 |
| predicted_SLG | 0.2656 |
| predicted_SO | 1.1790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1410 | 0.0930 | 0.1205 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 3.5880 | 3.6460 | 3.6127 | model_form_blend |
| predicted_AVG | 0.2170 | 0.1840 | 0.2029 | model_form_blend |
| predicted_BB | 0.3290 | 0.2610 | 0.3000 | model_form_blend |
| predicted_H | 0.7500 | 0.6710 | 0.7163 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.1000 | 0.0630 | 0.0842 | model_form_blend |
| predicted_OBP | 0.2580 | 0.2434 | 0.2518 | model_form_blend |
| predicted_R | 0.3880 | 0.3290 | 0.3628 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4150 | 0.4064 | model_form_blend |
| predicted_SLG | 0.3950 | 0.2656 | 0.3398 | model_form_blend |
| predicted_SO | 1.1760 | 1.1790 | 1.1773 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| 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 | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260701_STL@ATL |
| game_type | full |
| mlbID | 663586 |
| playerID | 663586 |
| playerName | Austin Riley |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.278 |
| sl_xwoba | 0.291 |
| sl_xba | 0.205 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 33.0 |
| 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.123 | 0.000 | 0.000 | Hitting_2B | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_AB | 2.795 | 2.000 | 3.000 | Hitting_AB | 3.094 | 2.000 | -1.094 | 0.000 |
| predicted_AVG | 0.239 | 0.000 | 0.333 | Hitting_AVG | 0.215 | 0.000 | -0.215 | 0.000 |
| predicted_BB | 0.301 | 2.000 | 0.000 | Hitting_BB | 0.339 | 2.000 | 1.661 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.600 | 0.000 | 1.000 | Hitting_H | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.294 | 0.500 | 0.333 | Hitting_OBP | 0.303 | 0.500 | 0.197 | 0.000 |
| predicted_R | 0.342 | 0.000 | 0.000 | Hitting_R | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_SLG | 0.394 | 0.000 | 0.333 | Hitting_SLG | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_SO | 0.767 | 0.000 | 1.000 | Hitting_SO | 0.850 | 1.000 | -0.850 | -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.3010 -> 2.0000 (boost 1.6990, better) |
| Biggest Deboost | predicted_AB: 2.7950 -> 2.0000 (deboost -0.7950, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3940 -> 0.3491 (deboost -0.0449, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3491 -> 0.3262 (deboost -0.0229, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.5673 -> 1.0000 (boost 0.4327, better) | predicted_BB: 0.3396 -> 0.0000 (deboost -0.3396, worse) | AB rounded to 3 (raw=2.79), rates preserved: AVG=0.203 HR/AB=0.026 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3003 -> 0.0000 (deboost -0.3003, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2032 -> 0.3330 (boost 0.1298, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 2 | 2 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2032 (deboost -0.1298, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "573262",
"player_name": "Mike Yastrzemski",
"position": "RF",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.123,
"predicted_3B": 0.014,
"predicted_AB": 2.795,
"predicted_AVG": 0.239,
"predicted_BB": 0.301,
"predicted_H": 0.6,
"predicted_HR": 0.08,
"predicted_OBP": 0.294,
"predicted_R": 0.342,
"predicted_RBI": 0.26,
"predicted_SLG": 0.394,
"predicted_SO": 0.767
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1055,
"predicted_3B": 0.0119,
"predicted_AB": 2.7925,
"predicted_AVG": 0.2178,
"predicted_BB": 0.338,
"predicted_H": 0.5684,
"predicted_HBP": 0.025,
"predicted_HR": 0.0713,
"predicted_OBP": 0.2939,
"predicted_R": 0.3004,
"predicted_RBI": 0.2309,
"predicted_SLG": 0.3491,
"predicted_SO": 0.7529
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.1055,
"delta": -0.0175,
"percent_delta": -0.1423,
"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": 2.795,
"after": 2.7925,
"delta": -0.0025,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2178,
"delta": -0.0212,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.301,
"after": 0.338,
"delta": 0.037,
"percent_delta": 0.1229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.5684,
"delta": -0.0316,
"percent_delta": -0.0527,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0713,
"delta": -0.0087,
"percent_delta": -0.1087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2939,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.342,
"after": 0.3004,
"delta": -0.0416,
"percent_delta": -0.1216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2309,
"delta": -0.0291,
"percent_delta": -0.1119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3491,
"delta": -0.0449,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 0.7529,
"delta": -0.0141,
"percent_delta": -0.0184,
"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.394,
"after": 0.3491,
"delta": -0.0449,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1055,
"predicted_3B": 0.0119,
"predicted_AB": 2.7925,
"predicted_AVG": 0.2032,
"predicted_BB": 0.3396,
"predicted_H": 0.5673,
"predicted_HBP": 0.025,
"predicted_HR": 0.0714,
"predicted_OBP": 0.2896,
"predicted_R": 0.3003,
"predicted_RBI": 0.2308,
"predicted_SLG": 0.3262,
"predicted_SO": 0.7493
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1055,
"after": 0.1055,
"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": 2.7925,
"after": 2.7925,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2178,
"after": 0.2032,
"delta": -0.0146,
"percent_delta": -0.067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.3396,
"delta": 0.0016,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5684,
"after": 0.5673,
"delta": -0.0011,
"percent_delta": -0.0019,
"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.0713,
"after": 0.0714,
"delta": 0.0001,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2939,
"after": 0.2896,
"delta": -0.0043,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3004,
"after": 0.3003,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2309,
"after": 0.2308,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3491,
"after": 0.3262,
"delta": -0.0229,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7529,
"after": 0.7493,
"delta": -0.0036,
"percent_delta": -0.0048,
"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.3491,
"after": 0.3262,
"delta": -0.0229,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.79), rates preserved: AVG=0.203 HR/AB=0.026",
"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.1055,
"after": 0.0,
"delta": -0.1055,
"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": 2.7925,
"after": 3.0,
"delta": 0.2075,
"percent_delta": 0.0743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3396,
"after": 0.0,
"delta": -0.3396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5673,
"after": 1.0,
"delta": 0.4327,
"percent_delta": 0.7627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0714,
"after": 0.0,
"delta": -0.0714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2308,
"after": 0.0,
"delta": -0.2308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7493,
"after": 1.0,
"delta": 0.2507,
"percent_delta": 0.3346,
"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.5673,
"after": 1.0,
"delta": 0.4327,
"percent_delta": 0.7627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3396,
"after": 0.0,
"delta": -0.3396,
"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.500)",
"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.3003,
"after": 0.0,
"delta": -0.3003,
"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.3003,
"after": 0.0,
"delta": -0.3003,
"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.2032,
"after": 0.333,
"delta": 0.1298,
"percent_delta": 0.6388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2896,
"after": 0.333,
"delta": 0.0434,
"percent_delta": 0.1499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3262,
"after": 0.333,
"delta": 0.0068,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2032,
"after": 0.333,
"delta": 0.1298,
"percent_delta": 0.6388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2032,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2896,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3262,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2032,
"delta": -0.1298,
"percent_delta": -0.3899,
"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.2896,
"delta": -0.0434,
"percent_delta": -0.1304,
"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.3262,
"delta": -0.0068,
"percent_delta": -0.0205,
"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.2032,
"delta": -0.1298,
"percent_delta": -0.3899,
"direction": "deboost",
"projection_effect": "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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.795,
"after": 2.0,
"delta": -0.795,
"percent_delta": -0.2844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2032,
"delta": -0.0358,
"percent_delta": -0.1498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.301,
"after": 2.0,
"delta": 1.699,
"percent_delta": 5.6445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2896,
"delta": -0.0044,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.342,
"after": 0.0,
"delta": -0.342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3262,
"delta": -0.0678,
"percent_delta": -0.1721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.767,
"after": 0.0,
"delta": -0.767,
"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.301,
"after": 2.0,
"delta": 1.699,
"percent_delta": 5.6445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.795,
"after": 2.0,
"delta": -0.795,
"percent_delta": -0.2844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.014 | - |
| predicted_AB | 2.795 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.301 | - |
| predicted_H | 0.600 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.342 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.394 | - |
| predicted_SO | 0.767 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | -0.018 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 2.792 | -0.002 |
| predicted_AVG | 0.218 | -0.021 |
| predicted_BB | 0.338 | 0.037 |
| predicted_H | 0.568 | -0.032 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.071 | -0.009 |
| predicted_OBP | 0.294 | -0.000 |
| predicted_R | 0.300 | -0.042 |
| predicted_RBI | 0.231 | -0.029 |
| predicted_SLG | 0.349 | -0.045 |
| predicted_SO | 0.753 | -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.105 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 2.792 | 0.000 |
| predicted_AVG | 0.203 | -0.015 |
| predicted_BB | 0.340 | 0.002 |
| predicted_H | 0.567 | -0.001 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.071 | 0.000 |
| predicted_OBP | 0.290 | -0.004 |
| predicted_R | 0.300 | -0.000 |
| predicted_RBI | 0.231 | -0.000 |
| predicted_SLG | 0.326 | -0.023 |
| predicted_SO | 0.749 | -0.004 |
AB rounded to 3 (raw=2.79), rates preserved: AVG=0.203 HR/AB=0.026
| 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.500)
| 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.105 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 3.000 | 0.208 |
| predicted_AVG | 0.333 | 0.130 |
| predicted_BB | 0.000 | -0.340 |
| predicted_H | 1.000 | 0.433 |
| predicted_HR | 0.000 | -0.071 |
| predicted_OBP | 0.333 | 0.043 |
| predicted_R | 0.000 | -0.300 |
| predicted_RBI | 0.000 | -0.231 |
| predicted_SLG | 0.333 | 0.007 |
| predicted_SO | 1.000 | 0.251 |
Attached 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 | 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 | 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 | - | 11.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.0909 | 0.2857 | 0.0909 | 0.0909 | 0.0000 | 0.0000 | 0.2727 | 0.1818 |
| last_10 | 0.20 | 10 | - | 27.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 4.000 | 9.000 | 0.1481 | 0.2581 | 0.2593 | 0.1482 | 0.0370 | 0.0370 | 0.1482 | 0.3333 |
| season | 0.60 | 73 | - | 204.000 | 45.000 | 9.000 | 1.000 | 4.000 | 18.000 | 25.000 | 22.000 | 56.000 | 0.2206 | 0.3057 | 0.3333 | 0.2206 | 0.0196 | 0.0882 | 0.1078 | 0.2745 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0810 |
| predicted_3B | 0.0090 |
| predicted_AB | 2.7890 |
| predicted_AVG | 0.1880 |
| predicted_BB | 0.3900 |
| predicted_H | 0.5240 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0590 |
| predicted_OBP | 0.2938 |
| predicted_R | 0.2420 |
| predicted_RBI | 0.1900 |
| predicted_SLG | 0.2860 |
| predicted_SO | 0.7330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.0810 | 0.1055 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 2.7950 | 2.7890 | 2.7925 | model_form_blend |
| predicted_AVG | 0.2390 | 0.1880 | 0.2178 | model_form_blend |
| predicted_BB | 0.3010 | 0.3900 | 0.3380 | model_form_blend |
| predicted_H | 0.6000 | 0.5240 | 0.5684 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0800 | 0.0590 | 0.0713 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2938 | 0.2939 | model_form_blend |
| predicted_R | 0.3420 | 0.2420 | 0.3004 | model_form_blend |
| predicted_RBI | 0.2600 | 0.1900 | 0.2309 | model_form_blend |
| predicted_SLG | 0.3940 | 0.2860 | 0.3491 | model_form_blend |
| predicted_SO | 0.7670 | 0.7330 | 0.7529 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 180 |
| Season rows before report date | 180 |
| Report year | 2026 |
| Profile rows used | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| 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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260701_STL@ATL |
| game_type | full |
| mlbID | 573262 |
| playerID | 573262 |
| playerName | Mike Yastrzemski |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.294 |
| sl_xwoba | 0.291 |
| sl_xba | 0.224 |
| sl_xslg | 0.326 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 23.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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 4.000 | 4.000 | -2.000 | -2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.000 | 0.000 | 3.000 | 3.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 2.000 | 2.000 | 1.000 | 1.000 |
| predicted_IP | 3.000 | 3.000 | 3.000 | Pitching_InningsPitched | 2.000 | 2.000 | 1.000 | 1.000 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 3.000 | 3.000 | 4.000 | 4.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 -> 3.0000 (boost 2.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 3.0000 (boost 2.9000, better) | - | 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": "694462",
"player_name": "Hurston Waldrep",
"position": "Starter",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 0.1,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 3.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 3.0,
"delta": 2.9,
"percent_delta": 29.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 3.0,
"delta": 2.9,
"percent_delta": 29.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"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": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 3.0,
"predicted_R": 3.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 3.0,
"delta": 2.9,
"percent_delta": 29.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 3.0,
"delta": 2.9,
"percent_delta": 29.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 7.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 3.000 | 2.900 |
| predicted_SO | 7.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 2.000 | 0.000 | 2.000 | 4.000 | 3.000 | 0.000 | 0.0000 | 3.0000 | 0.0000 | 1.0000 | 2.0000 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 1 | 2.000 | 0.000 | 2.000 | 4.000 | 3.000 | 0.000 | 0.0000 | 3.0000 | 0.0000 | 1.0000 | 2.0000 | 1.5000 | 0.0000 |
| season | 0.20 | 1 | 2.000 | 0.000 | 2.000 | 4.000 | 3.000 | 0.000 | 0.0000 | 3.0000 | 0.0000 | 1.0000 | 2.0000 | 1.5000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2180 |
| predicted_ER | 0.2100 |
| predicted_ERA | 4.1495 |
| predicted_H | 0.4410 |
| predicted_HR | 0.0620 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.4530 |
| predicted_WHIP | 1.4461 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.2180 | 1.5393 | model_form_blend |
| predicted_ER | 3.0000 | 0.2100 | 2.2786 | model_form_blend |
| predicted_ERA | - | 4.1495 | 4.1495 | form_only |
| predicted_H | 3.0000 | 0.4410 | 2.3384 | model_form_blend |
| predicted_HR | 1.0000 | 0.0620 | 0.7575 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 7.0000 | 0.4530 | 5.3072 | model_form_blend |
| predicted_WHIP | - | 1.4461 | 1.4461 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.0 |
| H | 3 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 7 |
| HR | 1 |
| BF | 14 |
| Pitches | 62 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 12 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| 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 | 2.0 |
| Pitching_Pitches | 55 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 28 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260626_ATL@SF |
| game_type | full |
| mlbID | 694462 |
| playerID | 694462 |
| playerName | Hurston Waldrep |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-26 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 33.3 |
| sl_woba | 0.382 |
| sl_xwoba | 0.373 |
| sl_sweet_spot_percent | 20.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 30.0 |
| sl_swing_percent | 36.4 |
| sl_avg_best_speed | 71.095223333 |
| sl_avg_hyper_speed | 95.212362 |
| 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.128 | 0.000 | -0.128 | 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.462 | 0.000 | -0.462 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.849 | 1.000 | 0.351 | 0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.179 | 2.000 | 0.821 | 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": "669276",
"player_name": "Dylan Lee",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 2.000 | 0.000 | 5.000 | 0.000 | 0.0000 | 0.3529 | 0.0000 | 0.3529 | 0.0000 | 0.8823 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 0.000 | 4.000 | 1.000 | 11.000 | 0.000 | 0.0000 | 0.5357 | 0.0000 | 0.4286 | 0.1071 | 1.1786 | 0.0000 |
| season | 0.20 | 39 | 38.000 | 4.000 | 18.000 | 5.000 | 46.000 | 1.000 | 0.9474 | 0.6053 | 0.1053 | 0.4737 | 0.1316 | 1.2105 | 0.0263 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1810 |
| predicted_ER | 0.2110 |
| predicted_ERA | 1.9009 |
| predicted_H | 0.6280 |
| predicted_HR | 0.0620 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0120 |
| predicted_WHIP | 0.8087 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1810 | 0.0871 | model_form_blend |
| predicted_ER | 0.0000 | 0.2110 | 0.1016 | model_form_blend |
| predicted_ERA | - | 1.9009 | 1.9009 | form_only |
| predicted_H | 0.0000 | 0.6280 | 0.3023 | model_form_blend |
| predicted_HR | 0.0000 | 0.0620 | 0.0298 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0120 | 1.5244 | model_form_blend |
| predicted_WHIP | - | 0.8087 | 0.8087 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 39 |
| Season rows before report date | 39 |
| Report year | 2026 |
| Profile rows used | 39 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.95 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 669276 |
| playerID | 669276 |
| playerName | Dylan Lee |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 33.6 |
| sl_bb_percent | 3.6 |
| sl_woba | 0.176 |
| sl_xwoba | 0.206 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 30.2 |
| sl_whiff_percent | 39.3 |
| sl_swing_percent | 54.3 |
| sl_avg_best_speed | 77.208435714 |
| sl_avg_hyper_speed | 92.644803373 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.815 | 0.000 | 0.185 | 1.000 |
| predicted_IP | 2.100 | 2.100 | 2.100 | Pitching_InningsPitched | 1.015 | 1.000 | 1.085 | 1.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.148 | 1.000 | 0.852 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 2.1000 (boost 1.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 2.1000 (boost 1.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "628452",
"player_name": "Raisel Iglesias",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 2.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.1,
"delta": 1.1,
"percent_delta": 1.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": 2.1,
"delta": 1.1,
"percent_delta": 1.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": 2.1,
"delta": 1.1,
"percent_delta": 1.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": 2.1,
"delta": 1.1,
"percent_delta": 1.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 4.000 | 1.000 | 4.000 | 0.000 | 1.8000 | 1.0000 | 0.2000 | 0.8000 | 0.2000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 10.000 | 3.000 | 10.000 | 1.000 | 1.6875 | 1.2188 | 0.1875 | 0.9375 | 0.2812 | 0.9375 | 0.0938 |
| season | 0.20 | 27 | 28.100 | 4.000 | 22.000 | 6.000 | 31.000 | 1.000 | 1.2706 | 0.9882 | 0.1412 | 0.7765 | 0.2118 | 1.0941 | 0.0353 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2910 |
| predicted_ER | 0.3320 |
| predicted_ERA | 2.9848 |
| predicted_H | 0.9010 |
| predicted_HR | 0.0900 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9290 |
| predicted_WHIP | 1.1913 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2910 | 0.1312 | model_form_blend |
| predicted_ER | 0.0000 | 0.3320 | 0.1497 | model_form_blend |
| predicted_ERA | - | 2.9848 | 2.9848 | form_only |
| predicted_H | 1.0000 | 0.9010 | 0.9554 | model_form_blend |
| predicted_HR | 0.0000 | 0.0900 | 0.0406 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9290 | 1.5170 | model_form_blend |
| predicted_WHIP | - | 1.1913 | 1.1913 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 2.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 8 |
| Pitches | 32 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.27 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 628452 |
| playerID | 628452 |
| playerName | Raisel Iglesias |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 28.7 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.248 |
| sl_xwoba | 0.242 |
| sl_sweet_spot_percent | 29.6 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 29.6 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 53.9 |
| sl_avg_best_speed | 77.283712857 |
| sl_avg_hyper_speed | 92.455551714 |
| 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.346 | 0.000 | -0.346 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.923 | 0.000 | -0.923 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.127 | 1.000 | -0.127 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.423 | 1.000 | -0.423 | 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": "800311",
"player_name": "Didier Fuentes",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.000 | 1.000 | 2.000 | 2.000 | 3.000 | 0.000 | 3.0000 | 1.3333 | 0.3333 | 0.6667 | 0.6667 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 2.000 | 7.000 | 2.000 | 9.000 | 0.000 | 2.1600 | 1.0800 | 0.2400 | 0.8400 | 0.2400 | 1.0800 | 0.0000 |
| season | 0.20 | 26 | 32.100 | 9.000 | 24.000 | 11.000 | 37.000 | 1.000 | 2.5052 | 1.0825 | 0.2783 | 0.7423 | 0.3402 | 1.1443 | 0.0309 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2450 |
| predicted_ER | 0.2270 |
| predicted_ERA | 3.4272 |
| predicted_H | 0.5000 |
| predicted_HR | 0.0400 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6020 |
| predicted_WHIP | 1.2507 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2450 | 0.1139 | model_form_blend |
| predicted_ER | 0.0000 | 0.2270 | 0.1055 | model_form_blend |
| predicted_ERA | - | 3.4272 | 3.4272 | form_only |
| predicted_H | 0.0000 | 0.5000 | 0.2324 | model_form_blend |
| predicted_HR | 0.0000 | 0.0400 | 0.0186 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6020 | 0.8150 | model_form_blend |
| predicted_WHIP | - | 1.2507 | 1.2507 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.51 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260701_STL@ATL |
| game_type | full |
| mlbID | 800311 |
| playerID | 800311 |
| playerName | Didier Fuentes |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-07-01 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.254 |
| sl_xwoba | 0.277 |
| sl_sweet_spot_percent | 28.0 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 36.6 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 49.8 |
| sl_avg_best_speed | 79.89919425 |
| sl_avg_hyper_speed | 93.501944375 |
| 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.303 | 0.000 | 0.697 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.303 | 0.000 | -0.303 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.758 | 0.000 | -0.758 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.824 | 1.000 | 0.176 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.970 | 0.000 | 0.030 | 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": "641755",
"player_name": "Tyler Kinley",
"position": "Middle Reliever",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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": 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": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 1.000 | 4.000 | 1.000 | 4.000 | 1.000 | 2.0769 | 1.1538 | 0.2308 | 0.9231 | 0.2308 | 0.9231 | 0.2308 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 6.000 | 1.000 | 11.000 | 1.000 | 0.9643 | 0.7500 | 0.1071 | 0.6429 | 0.1071 | 1.1786 | 0.1071 |
| season | 0.20 | 33 | 30.000 | 10.000 | 25.000 | 10.000 | 32.000 | 5.000 | 3.0000 | 1.1667 | 0.3333 | 0.8333 | 0.3333 | 1.0667 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1920 |
| predicted_ER | 0.2370 |
| predicted_ERA | 3.0625 |
| predicted_H | 0.6120 |
| predicted_HR | 0.1130 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6960 |
| predicted_WHIP | 1.1556 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1920 | 0.6307 | model_form_blend |
| predicted_ER | 0.0000 | 0.2370 | 0.1083 | model_form_blend |
| predicted_ERA | - | 3.0625 | 3.0625 | form_only |
| predicted_H | 0.0000 | 0.6120 | 0.2797 | model_form_blend |
| predicted_HR | 0.0000 | 0.1130 | 0.0516 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6960 | 0.8611 | model_form_blend |
| predicted_WHIP | - | 1.1556 | 1.1556 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 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 | 3.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 | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260628_ATL@SF |
| game_type | full |
| mlbID | 641755 |
| playerID | 641755 |
| playerName | Tyler Kinley |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-06-28 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.297 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 25.9 |
| sl_whiff_percent | 27.6 |
| sl_swing_percent | 45.2 |
| sl_avg_best_speed | 72.14528675 |
| sl_avg_hyper_speed | 92.350893125 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TB 5 - 1 KC | TB | 0.660 | scoring_simulation.final_score | True |
| Simulation draw | TB 4 - 2 KC | TB | - | reconciled_final_score | 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.9000 |
| 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 | reconciled_final_score |
| 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 | 7.582 | 4.296 | - | Base ML historical model prediction |
| 2 | variance_applied | 8 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 5 | 1 | 0.6600 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 5 | 1 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 1 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 1 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4114725227793695,
"base_low_score_probability": 0.419054441260745,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": -0.00758191848137546,
"confidence": 0.6090464600000001,
"factors": {
"environmental": 0.9496199999999999,
"pitcher_form": 1.1,
"team_form": 0.94,
"situational": 1.0,
"combined": 0.9819070799999998
},
"prediction": "normal_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 9.9,
"low_score_model_expected_total_runs": 9.9,
"final_simulation_total_runs": 6,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 88,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 88,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5341,
"bayesian_hit_rate": 0.5283,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8302,
"confidence_cap": 0.78,
"raw_pick_probability": 0.8613,
"calibrated_pick_probability": 0.6453,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "KC",
"games": 87,
"wins": 35,
"losses": 52,
"win_pct": 0.40229885057471265,
"runs_scored": 361,
"runs_allowed": 441,
"run_differential": -80,
"run_differential_per_game": -0.9195402298850575,
"available": true
},
"away": {
"team": "TB",
"games": 83,
"wins": 50,
"losses": 33,
"win_pct": 0.6024096385542169,
"runs_scored": 380,
"runs_allowed": 346,
"run_differential": 34,
"run_differential_per_game": 0.40963855421686746,
"available": true
},
"run_differential_edge_per_game": -1.3292,
"win_pct_edge": -0.2001,
"quality_edge": -1.6293,
"margin_adjustment": -0.6843,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 9.18,
"home_runs": 1.267,
"home_win_probability": 0.08
}
}{
"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": "KC",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "TB 5 - 1 KC",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "TB 4 - 2 KC",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 4,
"final_margin": 2,
"winner_quality_edge": 1.6293,
"winner": "TB",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "KC",
"games": 87,
"wins": 35,
"losses": 52,
"win_pct": 0.40229885057471265,
"runs_scored": 361,
"runs_allowed": 441,
"run_differential": -80,
"run_differential_per_game": -0.9195402298850575,
"available": true
},
"away": {
"team": "TB",
"games": 83,
"wins": 50,
"losses": 33,
"win_pct": 0.6024096385542169,
"runs_scored": 380,
"runs_allowed": 346,
"run_differential": 34,
"run_differential_per_game": 0.40963855421686746,
"available": true
}
}
}{
"applied": true,
"raw_margin": -7.9131,
"final_margin": -4.25,
"margin_cap": 4.25,
"season_quality_edge": 1.6293,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 7.349,
"home_runs": 3.099
}
}{
"applied": false,
"raw_confidence": 0.645333,
"final_confidence": 0.645333,
"confidence_cap": 0.66,
"score_gap": 4.25,
"calibration_sample_size": 88,
"calibration_empirical_hit_rate": 0.5341,
"calibration_bayesian_hit_rate": 0.5283,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.6293,
"reasons": [
"unvalidated probabilities are capped for production display",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "TB 5 - 1 KC",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "TB 4 - 2 KC",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 4,
"final_margin": 2,
"winner_quality_edge": 1.6293,
"winner": "TB",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 2,
"confidence": 0.66,
"home_win_probability": 0.33999999999999997,
"away_win_probability": 0.66,
"predicted_score_text": "TB 4 - 2 KC",
"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": 5,
"run_delta": 0.1229,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.103047094106098,
"contact": 0.1074757148171385,
"power": -0.10732892062178077,
"discipline": 0.49428322359364346,
"xwoba": 0.32037499999999997,
"recent_xwoba": 0.32037499999999997,
"barrel": 6.79375,
"ab_hard_contact": -0.012215317197521489,
"ab_bat_speed": 68.60448774448865,
"ab_strikeout_rate": 0.18176290735873746,
"available_players": 9,
"top_players": [
{
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"weight": 4.0,
"quality": 1.2655874717560291,
"contact": 1.3991858351935904,
"power": 1.5348898554462842,
"discipline": 0.7930494505494506,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 13.6,
"ab_hard_contact": 1.078749489878064,
"ab_bat_speed": 78.56293650793651,
"ab_strikeout_rate": 0.16254578754578755,
"available": 1.0
},
{
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"weight": 4.0,
"quality": -0.9308204271063333,
"contact": -0.7905401383573685,
"power": -1.5892178054071602,
"discipline": 0.5339729225023342,
"xwoba": 0.259,
"recent_xwoba": 0.259,
"barrel": 0.0,
"ab_hard_contact": -1.3020703938574822,
"ab_bat_speed": 62.22826333333333,
"ab_strikeout_rate": 0.09626517273576098,
"available": 1.0
},
{
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"weight": 3.0,
"quality": -0.7155720987199984,
"contact": -1.3716704633136663,
"power": -1.4026861186144957,
"discipline": 0.455734335839599,
"xwoba": 0.265,
"recent_xwoba": 0.265,
"barrel": 3.4,
"ab_hard_contact": -1.3184842770518221,
"ab_bat_speed": 61.07811038011696,
"ab_strikeout_rate": 0.24078947368421053,
"available": 1.0
},
{
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"weight": 4.0,
"quality": 0.9610437465250826,
"contact": 1.4757937984496123,
"power": 0.6768350613171776,
"discipline": 0.8534285714285714,
"xwoba": 0.374,
"recent_xwoba": 0.374,
"barrel": 7.3,
"ab_hard_contact": 1.3325107501530726,
"ab_bat_speed": 72.64145833333333,
"ab_strikeout_rate": 0.12366666666666667,
"available": 1.0
},
{
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"weight": 4.0,
"quality": 0.8649580219847259,
"contact": 1.0461762160320298,
"power": 0.805265810987507,
"discipline": 0.7413626373626372,
"xwoba": 0.376,
"recent_xwoba": 0.376,
"barrel": 9.9,
"ab_hard_contact": 1.2104590768929995,
"ab_bat_speed": 69.23668742368741,
"ab_strikeout_rate": 0.2310897435897436,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "663568",
"player_name": "Stephen Kolek",
"quality": -0.06027563464772395,
"contact": -0.06365888886301554,
"command": -0.4457142857142859,
"movement": -0.07528930674282433,
"xwoba": 0.304,
"whiff": 20.0,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
},
"home": {
"team": "KC",
"original_runs": 1,
"run_delta": 0.1206,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": 0.3091945239416669,
"contact": 0.16368733362421395,
"power": 0.24854476790121657,
"discipline": -0.03296372481973385,
"xwoba": 0.3205333333333334,
"recent_xwoba": 0.3205333333333334,
"barrel": 8.696666666666667,
"ab_hard_contact": -0.014222102293131152,
"ab_bat_speed": 71.6497886881743,
"ab_strikeout_rate": 0.23763515339116245,
"available_players": 8,
"top_players": [
{
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "SS",
"weight": 4.0,
"quality": 1.5190991446766005,
"contact": 1.8262322464213938,
"power": 1.6047299569320117,
"discipline": 0.4171948853615521,
"xwoba": 0.395,
"recent_xwoba": 0.395,
"barrel": 12.9,
"ab_hard_contact": 1.6454562814973799,
"ab_bat_speed": 72.66099828532236,
"ab_strikeout_rate": 0.1765432098765432,
"available": 1.0
},
{
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "1B",
"weight": 4.0,
"quality": 0.9709427245258522,
"contact": 1.2626801746862168,
"power": 1.8247746079176612,
"discipline": -0.5403848396501458,
"xwoba": 0.376,
"recent_xwoba": 0.376,
"barrel": 16.2,
"ab_hard_contact": 0.5023493012103598,
"ab_bat_speed": 75.02057823129252,
"ab_strikeout_rate": 0.3144800777453839,
"available": 1.0
},
{
"player_id": "670224",
"player_name": "Kameron Misner",
"position": "RF",
"weight": 3.0,
"quality": -0.0,
"contact": -2.0,
"power": -1.751,
"discipline": -1.1682142857142856,
"xwoba": 0.225,
"recent_xwoba": 0.225,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26074450904393,
"ab_strikeout_rate": 0.221,
"available": 0.0
},
{
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"weight": 3.0,
"quality": -0.10615082756265073,
"contact": -0.04854003781937527,
"power": -0.43699300728633084,
"discipline": 0.42730952380952386,
"xwoba": 0.31,
"recent_xwoba": 0.31,
"barrel": 5.6,
"ab_hard_contact": -0.06024109810757407,
"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.0554189877837034,
"contact": -0.07360318160244396,
"power": -0.517254104387863,
"discipline": 0.7191058201058199,
"xwoba": 0.314,
"recent_xwoba": 0.314,
"barrel": 4.2,
"ab_hard_contact": 0.3474893408141641,
"ab_bat_speed": 70.60215277777779,
"ab_strikeout_rate": 0.2037037037037037,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "693855",
"player_name": "Ian Seymour",
"quality": 0.0858096303625196,
"contact": 0.312735164751191,
"command": 0.26214285714285723,
"movement": -0.6223060148913083,
"xwoba": 0.286,
"whiff": 28.6,
"faced_est_woba": 0.26752900892857145,
"faced_launch_speed": 83.83333333333333,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007893383288132168
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 1,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 1,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -1.6293,
"recent_form_edge_home_minus_away": -1.364,
"pitcher_matchup_edge_home_minus_away": -0.2396,
"composite_home_edge": -2.4842,
"existing_home_win_probability": 0.3547,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 2.4842
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 1,
"predicted_score_text": "TB 5 - 1 KC",
"confidence": 0.66,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "simulation_reconciled_final",
"simulation_usage": "reconciled_final_score",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 1,
"score_text": "TB 5 - 1 KC",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "TB 4 - 2 KC",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 1,
"total_run_delta": 0,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "reconciled_final_score",
"final_prediction_source": "simulation_reconciled_final",
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 4,
"final_margin": 2,
"winner_quality_edge": 1.6293,
"winner": "TB",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "fund_review_decision_profile_v1",
"winner": "TB",
"display_confidence": 0.66,
"internal_fair_probability": 0.72,
"confidence_compression_detected": false,
"vig_break_even_reference": 0.524,
"fair_edge_vs_break_even": 0.196,
"moneyline_fit": "press",
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 2,
"winner_quality_edge": 1.6293,
"winner_recent_form_edge": 1.364,
"winner_pitcher_matchup_edge": 0.2396,
"winner_simulation_draw_rate": 0.6875,
"blowout_draw_rate_margin_4_plus": 0.1875,
"high_total_draw_rate_11_plus": 0.3125,
"low_total_draw_rate_6_or_less": 0.25,
"total_runs_spread": {
"min": 5,
"median": 9,
"max": 13,
"range": 8
}
},
"interpretation": "Use internal_fair_probability for edge ranking; display_confidence may be capped by production calibration."
}
}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.0123 | 1.0123 | 1 | 9 | 0 |
| Home KC | True | 1.0227 | 1.0227 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Jonathan Aranda | 81 | 1.0864 | 1.1523 | neutral | 0.3760 | 0.2730 | 0.4660 | 9.90 | 44.40 | 90.80 | 13.50 | 21.40 | 21.80 | 13.70 | -0.1143 |
| DH | Yandy Díaz | 40 | 1.0751 | 1.0011 | neutral | 0.3740 | 0.2980 | 0.4610 | 7.30 | 48.30 | 91.20 | 6.30 | 14.30 | 13.10 | 10 | -0.6286 |
| RF | Victor Mesa Jr. | 292 | 1.0278 | 0.3709 | positive_batter_regression | 0.3410 | 0.2660 | 0.4120 | 10.40 | 41.70 | 87.40 | 17.20 | 26 | 24 | 12 | 1.3429 |
| 3B | Junior Caminero | 11 | 1.1009 | 1.3457 | neutral | 0.3770 | 0.2790 | 0.5140 | 13.60 | 52.40 | 93.50 | 8.20 | 21.90 | 17.90 | 12.90 | -0.6571 |
| LF | Chandler Simpson | 213 | 0.9192 | -1.0777 | neutral | 0.2590 | 0.2480 | 0.2840 | 0 | 14.20 | 84.30 | 1.70 | 10.70 | 10 | 5.60 | -0.7429 |
| CF | Cedric Mullins | 266 | 0.9551 | -0.5983 | neutral | 0.2680 | 0.1930 | 0.3240 | 4.20 | 31.10 | 88.40 | 28.30 | 21.60 | 19.90 | 8.20 | -0.5143 |
| 2B | Richie Palacios | 319 | 0.9867 | -0.1769 | neutral | 0.2990 | 0.2370 | 0.3140 | 3 | 25.70 | 86.30 | 12.90 | 22.80 | 19 | 11.50 | 0.2857 |
| SS | Taylor Walls | 74 | 0.9492 | -0.6773 | neutral | 0.2650 | 0.1940 | 0.2690 | 3.40 | 21.90 | 85 | 21.50 | 21.60 | 24 | 12 | -0.7714 |
| C | Hunter Feduccia | 300 | 1.0100 | 0.1338 | positive_batter_regression | 0.3070 | 0.2280 | 0.3730 | 9 | 37.30 | 90.60 | 19.30 | 24.70 | 31 | 9.50 | 1.0857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Bobby Witt Jr. | 2 | 1.1390 | 1.8529 | positive_batter_regression | 0.3950 | 0.3120 | 0.5300 | 12.90 | 52.70 | 93.30 | 16.70 | 23.80 | 16.80 | 10.30 | 0.8571 |
| C | Carter Jensen | 153 | 0.9976 | -0.0324 | negative_batter_regression | 0.2950 | 0.2220 | 0.3790 | 9.20 | 43.70 | 91.20 | 20.10 | 28.80 | 26.90 | 8.80 | -0.8571 |
| CF | Lane Thomas | 406 | 1.0025 | 0.0327 | neutral | 0.3140 | 0.2390 | 0.3470 | 4.20 | 37.50 | 87.40 | 19.70 | 20.50 | 22.50 | 13.20 | 0.4571 |
| 1B | Jac Caglianone | 62 | 1.1003 | 1.3368 | neutral | 0.3760 | 0.2810 | 0.5260 | 16.20 | 58.90 | 93.90 | 8.10 | 30.30 | 29.80 | 8.20 | 0.6571 |
| DH | Starling Marte | 303 | 1.0133 | 0.1773 | neutral | 0.3170 | 0.2520 | 0.4050 | 12.70 | 36.60 | 89 | 7.30 | 28.60 | 25.70 | 7.30 | 0.4286 |
| 3B | Nick Loftin | 388 | 1.0052 | 0.0688 | neutral | 0.3190 | 0.2440 | 0.3690 | 6.30 | 32.50 | 88 | 14.40 | 14.60 | 12.90 | 10.60 | 0.0571 |
| LF | Isaac Collins | 466 | 0.9987 | -0.0172 | neutral | 0.3100 | 0.2370 | 0.3250 | 5.60 | 41.20 | 88.70 | 16.90 | 22.40 | 23 | 12.10 | 0.0857 |
| 2B | Michael Massey | 125 | 1.0033 | 0.0437 | neutral | 0.2990 | 0.2390 | 0.4160 | 7.10 | 40.20 | 90.40 | 18.10 | 20 | 16.40 | 4.70 | -0.4286 |
| RF | Kameron Misner | 516 | 0.9445 | -0.7405 | negative_batter_regression | 0.2250 | 0.2110 | 0.2750 | 0 | 19 | 80.50 | 18 | 32.50 | 37.10 | 2.90 | -1.2000 |
{
"home": {
"applied": true,
"offense_factor": 1.0227,
"raw_average_factor": 1.0227,
"team_espn_average_rank": 269.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"offense_factor": 1.139,
"quality_score": 1.8529,
"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": 589,
"metrics": {
"espn_rank": 2,
"gp_value": 81.0,
"gp_rank": 75,
"ab_value": 317.0,
"ab_rank": 29,
"r_value": 44.0,
"r_rank": 57,
"h_value": 93.0,
"h_rank": 10,
"avg_value": 0.2933753,
"avg_rank": 16.0,
"2b_value": 20.0,
"2b_rank": 9,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 12.0,
"hr_rank": 72,
"rbi_value": 36.0,
"rbi_rank": 98,
"tb_value": 151.0,
"tb_rank": 413,
"bb_value": 37.0,
"bb_rank": 44,
"so_value": 60.0,
"so_rank": 120,
"sb_value": 28.0,
"sb_rank": 2,
"obp_value": 0.3659217,
"obp_rank": "29",
"slg_value": 0.4763406,
"slg_rank": "37",
"ops_value": 0.8422623,
"ops_rank": 66.0,
"war_value": 4.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 16.8,
"bb_percent": 10.3,
"woba": 0.365,
"xwoba": 0.395,
"xba": 0.312,
"xslg": 0.53,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 52.7,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 16.7,
"whiff_percent": 23.8,
"swing_percent": 47.6
},
"components": {
"expected_quality": 2.015,
"regression_edge": 0.8571,
"xwoba_edge": 2.5,
"xba_edge": 2.0857,
"xslg_edge": 2.2714,
"barrel_edge": 1.3333,
"hard_hit_edge": 2.0857,
"exit_velocity_edge": 1.8,
"sweet_spot_edge": 1.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "695600",
"player_name": "Carter Jensen",
"offense_factor": 0.9976,
"quality_score": -0.0324,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695600",
"espn_id": 4917812,
"player_name": "Carter Jensen",
"team": "KC",
"role": "batter",
"espn_rank": 153,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 153,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 275.0,
"ab_rank": 108,
"r_value": 40.0,
"r_rank": 83,
"h_value": 68.0,
"h_rank": 104,
"avg_value": 0.2472727,
"avg_rank": 94.0,
"2b_value": 17.0,
"2b_rank": 32,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 12.0,
"hr_rank": 72,
"rbi_value": 46.0,
"rbi_rank": 43,
"tb_value": 121.0,
"tb_rank": 780,
"bb_value": 27.0,
"bb_rank": 109,
"so_value": 83.0,
"so_rank": 43,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3116883,
"obp_rank": "116",
"slg_value": 0.44,
"slg_rank": "69",
"ops_value": 0.7516883,
"ops_rank": 47.0,
"war_value": 1.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 26.9,
"bb_percent": 8.8,
"woba": 0.325,
"xwoba": 0.295,
"xba": 0.222,
"xslg": 0.379,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 43.7,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 20.1,
"whiff_percent": 28.8,
"swing_percent": 44.3
},
"components": {
"expected_quality": 0.0945,
"regression_edge": -0.8571,
"xwoba_edge": -0.2286,
"xba_edge": -0.4857,
"xslg_edge": 0.1143,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.8,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "657041",
"player_name": "Lane Thomas",
"offense_factor": 1.0025,
"quality_score": 0.0327,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657041",
"espn_id": 36409,
"player_name": "Lane Thomas",
"team": "KC",
"role": "batter",
"espn_rank": 406,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 406,
"gp_value": 72.0,
"gp_rank": 156,
"ab_value": 193.0,
"ab_rank": 214,
"r_value": 20.0,
"r_rank": 245,
"h_value": 41.0,
"h_rank": 233,
"avg_value": 0.2124352,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 5.0,
"hr_rank": 211,
"rbi_value": 23.0,
"rbi_rank": 208,
"tb_value": 64.0,
"tb_rank": 1504,
"bb_value": 30.0,
"bb_rank": 79,
"so_value": 51.0,
"so_rank": 169,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.3215859,
"obp_rank": "-",
"slg_value": 0.3316062,
"slg_rank": "-",
"ops_value": 0.6531921,
"ops_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 22.5,
"bb_percent": 13.2,
"woba": 0.298,
"xwoba": 0.314,
"xba": 0.239,
"xslg": 0.347,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 19.7,
"whiff_percent": 20.5,
"swing_percent": 40.3
},
"components": {
"expected_quality": -0.0003,
"regression_edge": 0.4571,
"xwoba_edge": 0.3143,
"xba_edge": 0.0,
"xslg_edge": -0.3429,
"barrel_edge": -0.6,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "695506",
"player_name": "Jac Caglianone",
"offense_factor": 1.1003,
"quality_score": 1.3368,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695506",
"espn_id": 4926296,
"player_name": "Jac Caglianone",
"team": "KC",
"role": "batter",
"espn_rank": 62,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 62,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 276.0,
"ab_rank": 106,
"r_value": 39.0,
"r_rank": 91,
"h_value": 73.0,
"h_rank": 84,
"avg_value": 0.2644927,
"avg_rank": 63.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 14.0,
"hr_rank": 42,
"rbi_value": 30.0,
"rbi_rank": 152,
"tb_value": 131.0,
"tb_rank": 380,
"bb_value": 25.0,
"bb_rank": 123,
"so_value": 91.0,
"so_rank": 21,
"sb_value": 3.0,
"sb_rank": 169,
"obp_value": 0.3344262,
"obp_rank": "73",
"slg_value": 0.4746376,
"slg_rank": "38",
"ops_value": 0.8090638,
"ops_rank": 111.0,
"war_value": 2.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 177.0,
"k_percent": 29.8,
"bb_percent": 8.2,
"woba": 0.353,
"xwoba": 0.376,
"xba": 0.281,
"xslg": 0.526,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 16.2,
"hard_hit_percent": 58.9,
"exit_velocity_avg": 93.9,
"launch_angle_avg": 8.1,
"whiff_percent": 30.3,
"swing_percent": 50.9
},
"components": {
"expected_quality": 1.825,
"regression_edge": 0.6571,
"xwoba_edge": 2.0857,
"xba_edge": 1.2,
"xslg_edge": 2.2143,
"barrel_edge": 2.0667,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.04,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "516782",
"player_name": "Starling Marte",
"offense_factor": 1.0133,
"quality_score": 0.1773,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "516782",
"espn_id": 30830,
"player_name": "Starling Marte",
"team": "KC",
"role": "batter",
"espn_rank": 303,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 303,
"gp_value": 39.0,
"gp_rank": 338,
"ab_value": 97.0,
"ab_rank": 359,
"r_value": 11.0,
"r_rank": 354,
"h_value": 26.0,
"h_rank": 322,
"avg_value": 0.2680412,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 7.0,
"rbi_rank": 392,
"tb_value": 33.0,
"tb_rank": 2243,
"bb_value": 8.0,
"bb_rank": 351,
"so_value": 28.0,
"so_rank": 317,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3302752,
"obp_rank": "-",
"slg_value": 0.3402061,
"slg_rank": "-",
"ops_value": 0.6704813,
"ops_rank": null,
"war_value": 0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 54.0,
"k_percent": 25.7,
"bb_percent": 7.3,
"woba": 0.302,
"xwoba": 0.317,
"xba": 0.252,
"xslg": 0.405,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 12.7,
"hard_hit_percent": 36.6,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 7.3,
"whiff_percent": 28.6,
"swing_percent": 50.6
},
"components": {
"expected_quality": 0.3884,
"regression_edge": 0.4286,
"xwoba_edge": 0.4,
"xba_edge": 0.3714,
"xslg_edge": 0.4857,
"barrel_edge": 1.2889,
"hard_hit_edge": -0.2143,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "679845",
"player_name": "Nick Loftin",
"offense_factor": 1.0052,
"quality_score": 0.0688,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679845",
"espn_id": 4314013,
"player_name": "Nick Loftin",
"team": "KC",
"role": "batter",
"espn_rank": 388,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 388,
"gp_value": 50.0,
"gp_rank": 285,
"ab_value": 144.0,
"ab_rank": 277,
"r_value": 21.0,
"r_rank": 233,
"h_value": 33.0,
"h_rank": 281,
"avg_value": 0.2291666,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 24.0,
"rbi_rank": 203,
"tb_value": 56.0,
"tb_rank": 1390,
"bb_value": 18.0,
"bb_rank": 198,
"so_value": 22.0,
"so_rank": 370,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.3254437,
"obp_rank": "-",
"slg_value": 0.3888888,
"slg_rank": "-",
"ops_value": 0.7143325,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 66.0,
"k_percent": 12.9,
"bb_percent": 10.6,
"woba": 0.317,
"xwoba": 0.319,
"xba": 0.244,
"xslg": 0.369,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 32.5,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 14.4,
"whiff_percent": 14.6,
"swing_percent": 41.0
},
"components": {
"expected_quality": 0.1684,
"regression_edge": 0.0571,
"xwoba_edge": 0.4571,
"xba_edge": 0.1429,
"xslg_edge": -0.0286,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.8,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "686555",
"player_name": "Isaac Collins",
"offense_factor": 0.9987,
"quality_score": -0.0172,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686555",
"espn_id": 42959,
"player_name": "Isaac Collins",
"team": "KC",
"role": "batter",
"espn_rank": 466,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 466,
"gp_value": 76.0,
"gp_rank": 130,
"ab_value": 238.0,
"ab_rank": 151,
"r_value": 30.0,
"r_rank": 160,
"h_value": 55.0,
"h_rank": 163,
"avg_value": 0.2310924,
"avg_rank": 129.0,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 24.0,
"rbi_rank": 203,
"tb_value": 78.0,
"tb_rank": 1491,
"bb_value": 34.0,
"bb_rank": 58,
"so_value": 65.0,
"so_rank": 100,
"sb_value": 4.0,
"sb_rank": 142,
"obp_value": 0.3392857,
"obp_rank": "67",
"slg_value": 0.327731,
"slg_rank": "152",
"ops_value": 0.6670167,
"ops_rank": 85.0,
"war_value": -0.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 23.0,
"bb_percent": 12.1,
"woba": 0.307,
"xwoba": 0.31,
"xba": 0.237,
"xslg": 0.325,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 41.2,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 16.9,
"whiff_percent": 22.4,
"swing_percent": 39.2
},
"components": {
"expected_quality": -0.039,
"regression_edge": 0.0857,
"xwoba_edge": 0.2,
"xba_edge": -0.0571,
"xslg_edge": -0.6571,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "686681",
"player_name": "Michael Massey",
"offense_factor": 1.0033,
"quality_score": 0.0437,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686681",
"espn_id": 4109223,
"player_name": "Michael Massey",
"team": "KC",
"role": "batter",
"espn_rank": 125,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 125,
"gp_value": 68.0,
"gp_rank": 179,
"ab_value": 199.0,
"ab_rank": 201,
"r_value": 24.0,
"r_rank": 206,
"h_value": 52.0,
"h_rank": 179,
"avg_value": 0.2613065,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 87,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 7.0,
"hr_rank": 148,
"rbi_value": 27.0,
"rbi_rank": 178,
"tb_value": 87.0,
"tb_rank": 1138,
"bb_value": 10.0,
"bb_rank": 307,
"so_value": 35.0,
"so_rank": 265,
"sb_value": 2.0,
"sb_rank": 202,
"obp_value": 0.2924528,
"obp_rank": "-",
"slg_value": 0.4371859,
"slg_rank": "-",
"ops_value": 0.7296387,
"ops_rank": null,
"war_value": 1.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 16.4,
"bb_percent": 4.7,
"woba": 0.314,
"xwoba": 0.299,
"xba": 0.239,
"xslg": 0.416,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 40.2,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 18.1,
"whiff_percent": 20.0,
"swing_percent": 52.0
},
"components": {
"expected_quality": 0.1686,
"regression_edge": -0.4286,
"xwoba_edge": -0.1143,
"xba_edge": 0.0,
"xslg_edge": 0.6429,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.3,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "670224",
"player_name": "Kameron Misner",
"offense_factor": 0.9445,
"quality_score": -0.7405,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670224",
"espn_id": 42416,
"player_name": "Kameron Misner",
"team": "KC",
"role": "batter",
"espn_rank": 516,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 516,
"gp_value": 14.0,
"gp_rank": 476,
"ab_value": 33.0,
"ab_rank": 481,
"r_value": 1.0,
"r_rank": 524,
"h_value": 9.0,
"h_rank": 444,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 4.0,
"rbi_rank": 446,
"tb_value": 10.0,
"tb_rank": 2719,
"bb_value": 1.0,
"bb_rank": 491,
"so_value": 13.0,
"so_rank": 444,
"sb_value": 3.0,
"sb_rank": 169,
"obp_value": 0.2941176,
"obp_rank": "-",
"slg_value": 0.3030303,
"slg_rank": "-",
"ops_value": 0.5971479,
"ops_rank": null,
"war_value": -0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 37.1,
"bb_percent": 2.9,
"woba": 0.267,
"xwoba": 0.225,
"xba": 0.211,
"xslg": 0.275,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 19.0,
"exit_velocity_avg": 80.5,
"launch_angle_avg": 18.0,
"whiff_percent": 32.5,
"swing_percent": 52.4
},
"components": {
"expected_quality": -1.718,
"regression_edge": -1.2,
"xwoba_edge": -2.2286,
"xba_edge": -0.8,
"xslg_edge": -1.3714,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": 0.0167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0123,
"raw_average_factor": 1.0123,
"team_espn_average_rank": 177.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.0864,
"quality_score": 1.1523,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666018",
"espn_id": 40810,
"player_name": "Jonathan Aranda",
"team": "TB",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 81,
"gp_value": 82.0,
"gp_rank": 62,
"ab_value": 296.0,
"ab_rank": 83,
"r_value": 44.0,
"r_rank": 57,
"h_value": 87.0,
"h_rank": 28,
"avg_value": 0.2939189,
"avg_rank": 13.0,
"2b_value": 13.0,
"2b_rank": 101,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 13.0,
"hr_rank": 59,
"rbi_value": 58.0,
"rbi_rank": 10,
"tb_value": 139.0,
"tb_rank": 734,
"bb_value": 49.0,
"bb_rank": 15,
"so_value": 78.0,
"so_rank": 57,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3994413,
"obp_rank": "6",
"slg_value": 0.4695945,
"slg_rank": "44",
"ops_value": 0.8690358,
"ops_rank": 50.0,
"war_value": 1.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 21.8,
"bb_percent": 13.7,
"woba": 0.38,
"xwoba": 0.376,
"xba": 0.273,
"xslg": 0.466,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 13.5,
"whiff_percent": 21.4,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.3584,
"regression_edge": -0.1143,
"xwoba_edge": 2.0857,
"xba_edge": 0.9714,
"xslg_edge": 1.3571,
"barrel_edge": 0.6667,
"hard_hit_edge": 0.9,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0751,
"quality_score": 1.0011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650490",
"espn_id": 33481,
"player_name": "Yandy Diaz",
"team": "TB",
"role": "batter",
"espn_rank": 40,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 40,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 304.0,
"ab_rank": 67,
"r_value": 46.0,
"r_rank": 46,
"h_value": 100.0,
"h_rank": 3,
"avg_value": 0.3289473,
"avg_rank": 2.0,
"2b_value": 15.0,
"2b_rank": 63,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 12.0,
"hr_rank": 72,
"rbi_value": 53.0,
"rbi_rank": 23,
"tb_value": 153.0,
"tb_rank": 460,
"bb_value": 35.0,
"bb_rank": 52,
"so_value": 46.0,
"so_rank": 197,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.4102564,
"obp_rank": "3",
"slg_value": 0.5032894,
"slg_rank": "23",
"ops_value": 0.9135458,
"ops_rank": 20.0,
"war_value": 2.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 13.1,
"bb_percent": 10.0,
"woba": 0.396,
"xwoba": 0.374,
"xba": 0.298,
"xslg": 0.461,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 48.3,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 6.3,
"whiff_percent": 14.3,
"swing_percent": 45.8
},
"components": {
"expected_quality": 1.2991,
"regression_edge": -0.6286,
"xwoba_edge": 2.0286,
"xba_edge": 1.6857,
"xslg_edge": 1.2857,
"barrel_edge": 0.0889,
"hard_hit_edge": 1.4571,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": -0.75,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"offense_factor": 1.0278,
"quality_score": 0.3709,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683748",
"espn_id": 4917849,
"player_name": "Victor Mesa Jr.",
"team": "TB",
"role": "batter",
"espn_rank": 292,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 292,
"gp_value": 24.0,
"gp_rank": 418,
"ab_value": 65.0,
"ab_rank": 414,
"r_value": 10.0,
"r_rank": 369,
"h_value": 13.0,
"h_rank": 415,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 455,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 3.0,
"hr_rank": 271,
"rbi_value": 8.0,
"rbi_rank": 374,
"tb_value": 23.0,
"tb_rank": 2111,
"bb_value": 9.0,
"bb_rank": 334,
"so_value": 18.0,
"so_rank": 400,
"sb_value": 1.0,
"sb_rank": 261,
"obp_value": 0.2972972,
"obp_rank": "-",
"slg_value": 0.3538461,
"slg_rank": "-",
"ops_value": 0.6511433,
"ops_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 11.0,
"k_percent": 24.0,
"bb_percent": 12.0,
"woba": 0.294,
"xwoba": 0.341,
"xba": 0.266,
"xslg": 0.412,
"sweet_spot_percent": 39.6,
"barrel_batted_rate": 10.4,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 17.2,
"whiff_percent": 26.0,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.7398,
"regression_edge": 1.3429,
"xwoba_edge": 1.0857,
"xba_edge": 0.7714,
"xslg_edge": 0.5857,
"barrel_edge": 0.7778,
"hard_hit_edge": 0.5143,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 1.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.1009,
"quality_score": 1.3457,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691406",
"espn_id": 4905921,
"player_name": "Junior Caminero",
"team": "TB",
"role": "batter",
"espn_rank": 11,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 11,
"gp_value": 83.0,
"gp_rank": 48,
"ab_value": 314.0,
"ab_rank": 41,
"r_value": 54.0,
"r_rank": 17,
"h_value": 92.0,
"h_rank": 13,
"avg_value": 0.2929936,
"avg_rank": 16.0,
"2b_value": 12.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 24.0,
"hr_rank": 5,
"rbi_value": 54.0,
"rbi_rank": 19,
"tb_value": 176.0,
"tb_rank": 544,
"bb_value": 47.0,
"bb_rank": 18,
"so_value": 65.0,
"so_rank": 100,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.3829201,
"obp_rank": "15",
"slg_value": 0.5605095,
"slg_rank": "4",
"ops_value": 0.9434296,
"ops_rank": 11.0,
"war_value": 3.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 17.9,
"bb_percent": 12.9,
"woba": 0.4,
"xwoba": 0.377,
"xba": 0.279,
"xslg": 0.514,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 52.4,
"exit_velocity_avg": 93.5,
"launch_angle_avg": 8.2,
"whiff_percent": 21.9,
"swing_percent": 42.0
},
"components": {
"expected_quality": 1.6718,
"regression_edge": -0.6571,
"xwoba_edge": 2.1143,
"xba_edge": 1.1429,
"xslg_edge": 2.0429,
"barrel_edge": 1.4889,
"hard_hit_edge": 2.0429,
"exit_velocity_edge": 1.88,
"sweet_spot_edge": -0.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "802415",
"player_name": "Chandler Simpson",
"offense_factor": 0.9192,
"quality_score": -1.0777,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802415",
"espn_id": 4679983,
"player_name": "Chandler Simpson",
"team": "TB",
"role": "batter",
"espn_rank": 213,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 213,
"gp_value": 80.0,
"gp_rank": 95,
"ab_value": 295.0,
"ab_rank": 86,
"r_value": 33.0,
"r_rank": 134,
"h_value": 80.0,
"h_rank": 59,
"avg_value": 0.2711864,
"avg_rank": 47.0,
"2b_value": 8.0,
"2b_rank": 210,
"3b_value": 4.0,
"3b_rank": 6,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 16.0,
"rbi_rank": 277,
"tb_value": 96.0,
"tb_rank": 1673,
"bb_value": 18.0,
"bb_rank": 198,
"so_value": 32.0,
"so_rank": 292,
"sb_value": 19.0,
"sb_rank": 7,
"obp_value": 0.3111111,
"obp_rank": "117",
"slg_value": 0.3254237,
"slg_rank": "154",
"ops_value": 0.6365348,
"ops_rank": 271.0,
"war_value": 0.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 10.0,
"bb_percent": 5.6,
"woba": 0.285,
"xwoba": 0.259,
"xba": 0.248,
"xslg": 0.284,
"sweet_spot_percent": 24.1,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 14.2,
"exit_velocity_avg": 84.3,
"launch_angle_avg": 1.7,
"whiff_percent": 10.7,
"swing_percent": 46.1
},
"components": {
"expected_quality": -1.1555,
"regression_edge": -0.7429,
"xwoba_edge": -1.2571,
"xba_edge": 0.2571,
"xslg_edge": -1.2429,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.8,
"sweet_spot_edge": -1.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "656775",
"player_name": "Cedric Mullins",
"offense_factor": 0.9551,
"quality_score": -0.5983,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656775",
"espn_id": 35578,
"player_name": "Cedric Mullins",
"team": "TB",
"role": "batter",
"espn_rank": 266,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 266,
"gp_value": 72.0,
"gp_rank": 156,
"ab_value": 245.0,
"ab_rank": 140,
"r_value": 29.0,
"r_rank": 167,
"h_value": 52.0,
"h_rank": 179,
"avg_value": 0.2122448,
"avg_rank": 150.0,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 1.0,
"3b_rank": 89,
"hr_value": 9.0,
"hr_rank": 112,
"rbi_value": 27.0,
"rbi_rank": 178,
"tb_value": 85.0,
"tb_rank": 1028,
"bb_value": 23.0,
"bb_rank": 145,
"so_value": 56.0,
"so_rank": 146,
"sb_value": 13.0,
"sb_rank": 24,
"obp_value": 0.290909,
"obp_rank": "146",
"slg_value": 0.3469387,
"slg_rank": "140",
"ops_value": 0.6378477,
"ops_rank": 286.0,
"war_value": 0.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 19.9,
"bb_percent": 8.2,
"woba": 0.286,
"xwoba": 0.268,
"xba": 0.193,
"xslg": 0.324,
"sweet_spot_percent": 29.2,
"barrel_batted_rate": 4.2,
"hard_hit_percent": 31.1,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 28.3,
"whiff_percent": 21.6,
"swing_percent": 49.7
},
"components": {
"expected_quality": -0.7859,
"regression_edge": -0.5143,
"xwoba_edge": -1.0,
"xba_edge": -1.3143,
"xslg_edge": -0.6714,
"barrel_edge": -0.6,
"hard_hit_edge": -1.0,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.6667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "680700",
"player_name": "Richie Palacios",
"offense_factor": 0.9867,
"quality_score": -0.1769,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680700",
"espn_id": 41359,
"player_name": "Richie Palacios",
"team": "TB",
"role": "batter",
"espn_rank": 319,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 319,
"gp_value": 61.0,
"gp_rank": 217,
"ab_value": 173.0,
"ab_rank": 242,
"r_value": 23.0,
"r_rank": 211,
"h_value": 39.0,
"h_rank": 243,
"avg_value": 0.2254335,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 266,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 21.0,
"rbi_rank": 235,
"tb_value": 52.0,
"tb_rank": 1719,
"bb_value": 23.0,
"bb_rank": 145,
"so_value": 38.0,
"so_rank": 246,
"sb_value": 7.0,
"sb_rank": 72,
"obp_value": 0.325,
"obp_rank": "-",
"slg_value": 0.300578,
"slg_rank": "-",
"ops_value": 0.625578,
"ops_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 19.0,
"bb_percent": 11.5,
"woba": 0.289,
"xwoba": 0.299,
"xba": 0.237,
"xslg": 0.314,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 25.7,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 12.9,
"whiff_percent": 22.8,
"swing_percent": 45.7
},
"components": {
"expected_quality": -0.4469,
"regression_edge": 0.2857,
"xwoba_edge": -0.1143,
"xba_edge": -0.0571,
"xslg_edge": -0.8143,
"barrel_edge": -0.8667,
"hard_hit_edge": -1.7714,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670764",
"player_name": "Taylor Walls",
"offense_factor": 0.9492,
"quality_score": -0.6773,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670764",
"espn_id": 40576,
"player_name": "Taylor Walls",
"team": "TB",
"role": "batter",
"espn_rank": 74,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 74,
"gp_value": 66.0,
"gp_rank": 185,
"ab_value": 195.0,
"ab_rank": 207,
"r_value": 31.0,
"r_rank": 148,
"h_value": 45.0,
"h_rank": 210,
"avg_value": 0.2307692,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 165,
"3b_value": 2.0,
"3b_rank": 26,
"hr_value": 0.0,
"hr_rank": 464,
"rbi_value": 19.0,
"rbi_rank": 251,
"tb_value": 59.0,
"tb_rank": 1819,
"bb_value": 28.0,
"bb_rank": 97,
"so_value": 56.0,
"so_rank": 146,
"sb_value": 12.0,
"sb_rank": 30,
"obp_value": 0.3303964,
"obp_rank": "-",
"slg_value": 0.3025641,
"slg_rank": "-",
"ops_value": 0.6329605,
"ops_rank": null,
"war_value": 1.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 139.0,
"k_percent": 24.0,
"bb_percent": 12.0,
"woba": 0.292,
"xwoba": 0.265,
"xba": 0.194,
"xslg": 0.269,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 21.9,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 21.5,
"whiff_percent": 21.6,
"swing_percent": 42.2
},
"components": {
"expected_quality": -1.121,
"regression_edge": -0.7714,
"xwoba_edge": -1.0857,
"xba_edge": -1.2857,
"xslg_edge": -1.4571,
"barrel_edge": -0.7778,
"hard_hit_edge": -2.3143,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"offense_factor": 1.01,
"quality_score": 0.1338,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "676439",
"espn_id": 41801,
"player_name": "Hunter Feduccia",
"team": "TB",
"role": "batter",
"espn_rank": 300,
"espn_total_ranked": 589,
"metrics": {
"espn_rank": 300,
"gp_value": 46.0,
"gp_rank": 311,
"ab_value": 101.0,
"ab_rank": 351,
"r_value": 12.0,
"r_rank": 343,
"h_value": 22.0,
"h_rank": 347,
"avg_value": 0.2178217,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 335,
"3b_value": 0.0,
"3b_rank": 214,
"hr_value": 1.0,
"hr_rank": 386,
"rbi_value": 8.0,
"rbi_rank": 374,
"tb_value": 29.0,
"tb_rank": 2268,
"bb_value": 11.0,
"bb_rank": 293,
"so_value": 36.0,
"so_rank": 257,
"sb_value": 0.0,
"sb_rank": 357,
"obp_value": 0.2982456,
"obp_rank": "-",
"slg_value": 0.2871287,
"slg_rank": "-",
"ops_value": 0.5853743,
"ops_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 69.0,
"k_percent": 31.0,
"bb_percent": 9.5,
"woba": 0.269,
"xwoba": 0.307,
"xba": 0.228,
"xslg": 0.373,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 37.3,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 19.3,
"whiff_percent": 24.7,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.1689,
"regression_edge": 1.0857,
"xwoba_edge": 0.1143,
"xba_edge": -0.3143,
"xslg_edge": 0.0286,
"barrel_edge": 0.4667,
"hard_hit_edge": -0.1143,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 0.8333,
"launch_angle_hr_bonus": 0.45
}
}
],
"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 | 256 | 0.1522 | 0.4500 | 0.9871 | 1.0145 | 1.0054 | 0.9900 | neutral | 0.2860 | 0.2910 | 25.10 | 9.70 | 28.60 | 8.30 | 35.60 | |
| Home KC | True | 213 | -0.0191 | 0.4500 | 1.0016 | 0.9690 | 0.9649 | 0.9967 | neutral | 0.3040 | 0.3210 | 16 | 5.20 | 20 | 7.30 | 38.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TB | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home KC | True | None | 108 | 90.02 | 2210 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0147 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0007 |
| home_runs_vs_away_pitcher | 0.9942 |
| home_pitcher_quality_edge | -0.1713 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "663568",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 16.0,
"bb_percent": 5.2,
"woba": 0.321,
"xwoba": 0.304,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.8124,
"avg_hyper_speed": 94.0356,
"whiff_percent": 20.0,
"swing_percent": 48.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0679,
"command_and_miss": -0.5011,
"regression_edge": 0.4857,
"xwoba_edge": 0.2429,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.0429,
"whiff_edge": -0.7857,
"bb_edge": 0.975,
"pitch_design_score": 0.0147
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663568",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 108,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 90.02125301644796,
"release_spin_rate": 2210.194891194832,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 90.02125301644796,
"release_spin_rate": 2210.194891194832,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0213,
"release_spin_rate": 2210.1949,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0147,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1051,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0191,
"sample_weight": 0.45,
"run_prevention_factor": 1.0016,
"strikeout_factor": 0.969,
"walk_factor": 0.9649,
"homer_factor": 0.9967,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663568",
"espn_id": 5190073,
"player_name": "Stephen Kolek",
"team": "KC",
"role": "pitcher",
"espn_rank": 213,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 213,
"gp_value": 9.0,
"gp_rank": 427,
"gs_value": 9.0,
"gs_rank": 134,
"qs_value": 5.0,
"qs_rank": 71,
"era_value": 4.1538,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 52.0,
"ip_rank": 146,
"h_value": 51.0,
"h_rank": 136,
"er_value": 24.0,
"er_rank": 151,
"hr_value": 8.0,
"hr_rank": 111,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 34.0,
"k_rank": 253,
"k_per_9_value": 5.8846154,
"k_per_9_rank": 46,
"whip_value": 1.1923,
"whip_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "693855",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 25.1,
"bb_percent": 9.7,
"woba": 0.291,
"xwoba": 0.286,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 35.6,
"avg_best_speed": 76.5594,
"avg_hyper_speed": 93.2497,
"whiff_percent": 28.6,
"swing_percent": 48.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4443,
"command_and_miss": 0.2889,
"regression_edge": 0.1429,
"xwoba_edge": 0.7571,
"barrel_edge": -0.2,
"hard_hit_edge": 0.3857,
"whiff_edge": 0.4429,
"bb_edge": -0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "693855",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1522,
"sample_weight": 0.45,
"run_prevention_factor": 0.9871,
"strikeout_factor": 1.0145,
"walk_factor": 1.0054,
"homer_factor": 0.99,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693855",
"espn_id": 4669425,
"player_name": "Ian Seymour",
"team": "TB",
"role": "pitcher",
"espn_rank": 256,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 256,
"gp_value": 30.0,
"gp_rank": 121,
"gs_value": 3.0,
"gs_rank": 202,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.32,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 10.0,
"hld_rank": 36,
"ip_value": 50.0,
"ip_rank": 156,
"h_value": 37.0,
"h_rank": 187,
"er_value": 24.0,
"er_rank": 151,
"hr_value": 7.0,
"hr_rank": 139,
"bb_value": 20.0,
"bb_rank": 148,
"k_value": 52.0,
"k_rank": 137,
"k_per_9_value": 9.360001,
"k_per_9_rank": 23,
"whip_value": 1.14,
"whip_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0007,
"home_runs_vs_away_pitcher": 0.9942,
"home_pitcher_quality_edge": -0.1713
},
"score_before": {
"away_runs": 8.0479,
"home_runs": 1.8002
},
"score_after": {
"away_runs": 8.0537,
"home_runs": 1.7898,
"home_win_probability": 0.08
},
"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 | 8-2 | 0.800 | 5.60 | 2.90 | 27 | hot | strong | |
| Home KC | 3-7 | 0.300 | 3.80 | 7.70 | -39 | average | weak |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TB | 50-33 | 0.602 | 34 | 0.410 | True |
| Home KC | 35-52 | 0.402 | -80 | -0.920 | True |
| Signal | - | - | -1.329 | -1.629 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TB | - | - | 5 | - | - | - | - |
| Game target KC | - | - | 1 | - | - | - | - |
| Player finalized TB | 32 | 9 | 5 | 0 | 4 | 2 | 8 |
| Player finalized KC | 30 | 9 | 1 | 0 | 1 | 0 | 8 |
| Player model fractional TB | 31.27 | 7.60 | 4.72 | 1.19 | 4.46 | 3.58 | 6.55 |
| Player model fractional KC | 30.15 | 6.28 | 3.23 | 0.88 | 3.09 | 2.72 | 7.80 |
| Simulation box TB | 37 | 10 | 4 | 1 | 4 | 2 | 9 |
| Simulation box KC | 32 | 5 | 2 | 2 | 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 TB | Starter | Ian Seymour | 5.10 | 2 | 4 | 5 | 2 | 3.93 | 1.10 | True |
| Away TB | Middle Reliever | Bryan Baker | 1.10 | 0 | 1 | 0 | 0 | 2.81 | 0.85 | True |
| Away TB | Middle Reliever | Garrett Cleavinger | 1 | 0 | 1 | 0 | 1 | 3.86 | 1.24 | True |
| Away TB | Middle Reliever | Kevin Kelly | 1.10 | 0 | 1 | 0 | 1 | 3 | 1.10 | True |
| Home KC | Starter | Stephen Kolek | 5.10 | 2 | 7 | 7 | 1 | 4.82 | 1.38 | True |
| Home KC | Middle Reliever | Alex Lange | 1.20 | 0 | 2 | 1 | 0 | 7.07 | 1.60 | True |
| Home KC | Middle Reliever | Daniel Lynch IV | 1 | 0 | 0 | 0 | 1 | 5.58 | 1.43 | True |
| Home KC | Middle Reliever | Lucas Erceg | 1 | 2 | 0 | 2 | 0 | 3.82 | 1.22 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | TB | batter | RF | Victor Mesa Jr. | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | 1.9050 | boost | better |
| away | TB | batter | 2B | Richie Palacios | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.7400 | boost | better |
| away | TB | batter | LF | Chandler Simpson | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 1.6100 | boost | better |
| away | TB | batter | CF | Cedric Mullins | better | 11 | 8 | 3 | 7 | 4 | predicted_RBI | 1.5300 | boost | better |
| home | KC | batter | SS | Bobby Witt Jr. | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -1.3500 | deboost | worse |
| home | KC | batter | DH | Starling Marte | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | 1.3100 | boost | better |
| home | KC | batter | CF | Lane Thomas | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.2390 | boost | worse |
| home | KC | batter | C | Carter Jensen | better | 10 | 5 | 5 | 6 | 4 | predicted_AB | 1.1300 | boost | better |
| home | KC | batter | LF | Isaac Collins | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 1.1230 | boost | worse |
| away | TB | batter | SS | Taylor Walls | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.0970 | boost | worse |
| away | TB | batter | 3B | Junior Caminero | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | -1.0800 | deboost | worse |
| away | TB | batter | 1B | Jonathan Aranda | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.0490 | boost | worse |
| home | KC | batter | 2B | Michael Massey | worse | 11 | 1 | 10 | 2 | 9 | predicted_AB | 0.9380 | boost | better |
| away | TB | batter | C | Hunter Feduccia | worse | 10 | 3 | 7 | 2 | 8 | predicted_BB | 0.7770 | boost | better |
| home | KC | batter | 1B | Jac Caglianone | worse | 11 | 1 | 10 | 2 | 9 | predicted_BB | 0.6960 | boost | better |
| home | KC | batter | 3B | Nick Loftin | worse | 9 | 3 | 6 | 2 | 7 | predicted_BB | 0.6460 | boost | better |
| away | TB | batter | DH | Yandy Díaz | worse | 10 | 1 | 9 | 2 | 8 | predicted_RBI | -0.6000 | deboost | worse |
| away | TB | pitcher | Starter | Ian Seymour | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.5667 | deboost | worse |
| home | KC | batter | RF | Kameron Misner | worse | 10 | 0 | 10 | 1 | 9 | predicted_AB | -0.3000 | deboost | worse |
| home | KC | pitcher | Starter | Stephen Kolek | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | KC | pitcher | Middle Reliever | Alex Lange | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | TB | pitcher | Middle Reliever | Bryan Baker | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| away | TB | pitcher | Middle Reliever | Kevin Kelly | 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 | Ian Seymour |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1522 |
| ESPN Rank | 256 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 3.4200 |
| Season WHIP | 1.0400 |
| Role Avg IP | 3.6670 |
| Recent Avg IP | 3.6670 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 91,
"wins": 53,
"losses": 38,
"win_pct": 0.5824,
"runs_scored": 397.0,
"runs_allowed": 373.0,
"run_differential": 24.0,
"run_differential_per_game": 0.2637,
"avg_runs_scored": 4.3626,
"avg_runs_allowed": 4.0989,
"offense_index": 0.9648,
"defense_index": 1.1032,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.0,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2071
},
"opponent": {
"team": "KC",
"games": 95,
"wins": 36,
"losses": 59,
"win_pct": 0.3789,
"runs_scored": 383.0,
"runs_allowed": 480.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0211,
"avg_runs_scored": 4.0316,
"avg_runs_allowed": 5.0526,
"offense_index": 0.8916,
"defense_index": 0.8949,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 7.8,
"run_differential": -38.0
},
"available": true,
"quality_score": -0.2971
},
"edges": {
"quality_edge": 0.5042,
"offense_edge": -0.0352,
"opponent_offense_edge": -0.1084,
"defense_strength": 0.1032,
"opponent_defense_weakness": 0.1051,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0276,
"run_prevention": 0.9471,
"strikeout": 1.0238
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "693855",
"profile": {
"available": true,
"pitcher_id": "693855",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 110.0,
"k_percent": 25.1,
"bb_percent": 9.7,
"woba": 0.291,
"xwoba": 0.286,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 35.6,
"avg_best_speed": 76.5594,
"avg_hyper_speed": 93.2497,
"whiff_percent": 28.6,
"swing_percent": 48.9
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.4443,
"command_and_miss": 0.2889,
"regression_edge": 0.1429,
"xwoba_edge": 0.7571,
"barrel_edge": -0.2,
"hard_hit_edge": 0.3857,
"whiff_edge": 0.4429,
"bb_edge": -0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "693855",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1522,
"sample_weight": 0.45,
"run_prevention_factor": 0.9871,
"strikeout_factor": 1.0145,
"walk_factor": 1.0054,
"homer_factor": 0.99,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693855",
"espn_id": 4669425,
"player_name": "Ian Seymour",
"team": "TB",
"role": "pitcher",
"espn_rank": 256,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 256,
"gp_value": 30.0,
"gp_rank": 121,
"gs_value": 3.0,
"gs_rank": 202,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.32,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 1.0,
"l_rank": 308,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 10.0,
"hld_rank": 36,
"ip_value": 50.0,
"ip_rank": 156,
"h_value": 37.0,
"h_rank": 187,
"er_value": 24.0,
"er_rank": 151,
"hr_value": 7.0,
"hr_rank": 139,
"bb_value": 20.0,
"bb_rank": 148,
"k_value": 52.0,
"k_rank": 137,
"k_per_9_value": 9.360001,
"k_per_9_rank": 23,
"whip_value": 1.14,
"whip_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9942,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9942,
"adjusted": 4
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0024,
"adjusted": 0
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9955,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0065,
"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": 28.0,
"ER": 11,
"H": 16,
"BB": 12,
"SO": 26,
"HR": 4,
"ERA": 3.5357142857142856,
"WHIP": 1.0,
"K9": 8.357142857142858,
"HR9": 1.2857142857142858,
"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-25T00:00:00"
}{
"available": false,
"pitcher_id": "693855",
"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": 9.912,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6647,
"prior_weight": 0.3353
},
"role": "pitcher",
"player_id": "693855",
"report_date": "20260702_T",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.0,
"ER": 9.0,
"R": 9.0,
"H": 12.0,
"BB": 8.0,
"SO": 20.0,
"HR": 4.0,
"BF": 84.0,
"Pitches": 338.0
},
"per_game": {
"IP": 4.1,
"ER": 1.8,
"R": 1.8,
"H": 2.4,
"BB": 1.6,
"SO": 4.0,
"HR": 0.8,
"BF": 16.8,
"Pitches": 67.6
},
"rates": {
"ERA": 3.8571,
"WHIP": 0.9524,
"ER_per_IP": 0.42857,
"H_per_IP": 0.57143,
"BB_per_IP": 0.38095,
"SO_per_IP": 0.95238,
"HR_per_IP": 0.19048
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 28.0,
"ER": 11.0,
"R": 13.0,
"H": 16.0,
"BB": 12.0,
"SO": 26.0,
"HR": 4.0,
"BF": 113.0,
"Pitches": 441.0
},
"per_game": {
"IP": 2.2,
"ER": 1.1,
"R": 1.3,
"H": 1.6,
"BB": 1.2,
"SO": 2.6,
"HR": 0.4,
"BF": 11.3,
"Pitches": 44.1
},
"rates": {
"ERA": 3.5357,
"WHIP": 1.0,
"ER_per_IP": 0.39286,
"H_per_IP": 0.57143,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.92857,
"HR_per_IP": 0.14286
}
},
"season": {
"games": 29,
"totals": {
"IP": 50.0,
"ER": 19.0,
"R": 21.0,
"H": 32.0,
"BB": 20.0,
"SO": 52.0,
"HR": 7.0,
"BF": 202.0,
"Pitches": 780.0
},
"per_game": {
"IP": 1.2,
"ER": 0.6552,
"R": 0.7241,
"H": 1.1034,
"BB": 0.6897,
"SO": 1.7931,
"HR": 0.2414,
"BF": 6.9655,
"Pitches": 26.8966
},
"rates": {
"ERA": 3.42,
"WHIP": 1.04,
"ER_per_IP": 0.38,
"H_per_IP": 0.64,
"BB_per_IP": 0.4,
"SO_per_IP": 1.04,
"HR_per_IP": 0.14
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 1.765,
"predicted_H": 2.878,
"predicted_BB": 1.562,
"predicted_SO": 3.872,
"predicted_HR": 0.638,
"predicted_ERA": 3.9326,
"predicted_WHIP": 1.0993
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4917,
"form_weight": 0.5083,
"form_reliability": 0.6647,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.912,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6647,
"prior_weight": 0.3353
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 4.0,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.765,
"final": 1.8805,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 2.878,
"final": 3.9213,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.562,
"final": 1.7773,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.872,
"final": 3.9349,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.638,
"final": 1.3076,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9326,
"final": 3.9326,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0993,
"final": 1.0993,
"source": "form_only"
}
}
}{
"available": false,
"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.3705 |
| ESPN Rank | 88 |
| 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.9485 |
| Season WHIP | 0.8660 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 91,
"wins": 53,
"losses": 38,
"win_pct": 0.5824,
"runs_scored": 397.0,
"runs_allowed": 373.0,
"run_differential": 24.0,
"run_differential_per_game": 0.2637,
"avg_runs_scored": 4.3626,
"avg_runs_allowed": 4.0989,
"offense_index": 0.9648,
"defense_index": 1.1032,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.0,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2071
},
"opponent": {
"team": "KC",
"games": 95,
"wins": 36,
"losses": 59,
"win_pct": 0.3789,
"runs_scored": 383.0,
"runs_allowed": 480.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0211,
"avg_runs_scored": 4.0316,
"avg_runs_allowed": 5.0526,
"offense_index": 0.8916,
"defense_index": 0.8949,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 7.8,
"run_differential": -38.0
},
"available": true,
"quality_score": -0.2971
},
"edges": {
"quality_edge": 0.5042,
"offense_edge": -0.0352,
"opponent_offense_edge": -0.1084,
"defense_strength": 0.1032,
"opponent_defense_weakness": 0.1051,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0276,
"run_prevention": 0.9471,
"strikeout": 1.0238
},
"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.8,
"bb_percent": 8.7,
"woba": 0.223,
"xwoba": 0.254,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 32.9,
"avg_best_speed": 75.2427,
"avg_hyper_speed": 93.0514,
"whiff_percent": 31.6,
"swing_percent": 51.8
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 1.3209,
"command_and_miss": 0.6625,
"regression_edge": -0.8857,
"xwoba_edge": 1.6714,
"barrel_edge": 0.2444,
"hard_hit_edge": 0.7714,
"whiff_edge": 0.8714,
"bb_edge": 0.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641329",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3705,
"sample_weight": 0.45,
"run_prevention_factor": 0.9685,
"strikeout_factor": 1.0292,
"walk_factor": 0.9964,
"homer_factor": 0.9547,
"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": 88,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 88,
"gp_value": 34.0,
"gp_rank": 68,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 1.9484,
"era_rank": null,
"w_value": 1.0,
"w_rank": 306,
"l_value": 0.0,
"l_rank": 456,
"sv_value": 21.0,
"sv_rank": 2,
"hld_value": 2.0,
"hld_rank": 172,
"ip_value": 32.1,
"ip_rank": 286,
"h_value": 17.0,
"h_rank": 421,
"er_value": 7.0,
"er_rank": 465,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 35.0,
"k_rank": 243,
"k_per_9_value": 9.742269,
"k_per_9_rank": 22,
"whip_value": 0.8659,
"whip_rank": null,
"war_value": 1.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9858,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9858,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9984,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9796,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0131,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 1,
"H": 4,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 0.9,
"WHIP": 0.6,
"K9": 8.1,
"HR9": 0.9,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-27T00: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": 6.409,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5618,
"prior_weight": 0.4382
},
"role": "pitcher",
"player_id": "641329",
"report_date": "20260702_T",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 5.0,
"HR": 1.0,
"BF": 17.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.0,
"SO": 1.0,
"HR": 0.2,
"BF": 3.4,
"Pitches": 14.6
},
"rates": {
"ERA": 1.8,
"WHIP": 0.2,
"ER_per_IP": 0.2,
"H_per_IP": 0.2,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 153.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 3.7,
"Pitches": 15.3
},
"rates": {
"ERA": 0.9,
"WHIP": 0.6,
"ER_per_IP": 0.1,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 0.9,
"HR_per_IP": 0.1
}
},
"season": {
"games": 34,
"totals": {
"IP": 32.1,
"ER": 7.0,
"R": 7.0,
"H": 17.0,
"BB": 11.0,
"SO": 35.0,
"HR": 2.0,
"BF": 126.0,
"Pitches": 519.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2059,
"R": 0.2059,
"H": 0.5,
"BB": 0.3235,
"SO": 1.0294,
"HR": 0.0588,
"BF": 3.7059,
"Pitches": 15.2647
},
"rates": {
"ERA": 1.9485,
"WHIP": 0.866,
"ER_per_IP": 0.21649,
"H_per_IP": 0.52577,
"BB_per_IP": 0.34021,
"SO_per_IP": 1.08247,
"HR_per_IP": 0.06186
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.313,
"predicted_H": 0.611,
"predicted_BB": 0.234,
"predicted_SO": 0.969,
"predicted_HR": 0.142,
"predicted_ERA": 2.8135,
"predicted_WHIP": 0.8455
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5351,
"form_weight": 0.4649,
"form_reliability": 0.5618,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.409,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5618,
"prior_weight": 0.4382
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.313,
"final": 0.1455,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.611,
"final": 0.284,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.234,
"final": 0.1088,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.969,
"final": 0.9856,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.066,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8135,
"final": 2.8135,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8455,
"final": 0.8455,
"source": "form_only"
}
}
}{
"available": false,
"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.1530 |
| ESPN Rank | 437 |
| 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 | 4.3043 |
| Season WHIP | 1.3043 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 91,
"wins": 53,
"losses": 38,
"win_pct": 0.5824,
"runs_scored": 397.0,
"runs_allowed": 373.0,
"run_differential": 24.0,
"run_differential_per_game": 0.2637,
"avg_runs_scored": 4.3626,
"avg_runs_allowed": 4.0989,
"offense_index": 0.9648,
"defense_index": 1.1032,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.0,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2071
},
"opponent": {
"team": "KC",
"games": 95,
"wins": 36,
"losses": 59,
"win_pct": 0.3789,
"runs_scored": 383.0,
"runs_allowed": 480.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0211,
"avg_runs_scored": 4.0316,
"avg_runs_allowed": 5.0526,
"offense_index": 0.8916,
"defense_index": 0.8949,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 7.8,
"run_differential": -38.0
},
"available": true,
"quality_score": -0.2971
},
"edges": {
"quality_edge": 0.5042,
"offense_edge": -0.0352,
"opponent_offense_edge": -0.1084,
"defense_strength": 0.1032,
"opponent_defense_weakness": 0.1051,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0276,
"run_prevention": 0.9471,
"strikeout": 1.0238
},
"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": 32.0,
"bb_percent": 11.3,
"woba": 0.312,
"xwoba": 0.295,
"sweet_spot_percent": 35.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 42.6,
"avg_best_speed": 72.8489,
"avg_hyper_speed": 94.0486,
"whiff_percent": 27.5,
"swing_percent": 46.2
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.2429,
"command_and_miss": 0.5975,
"regression_edge": 0.4857,
"xwoba_edge": 0.5,
"barrel_edge": 0.0,
"hard_hit_edge": -0.6143,
"whiff_edge": 0.2857,
"bb_edge": -0.55,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664076",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.153,
"sample_weight": 0.45,
"run_prevention_factor": 0.987,
"strikeout_factor": 1.0294,
"walk_factor": 1.0198,
"homer_factor": 1.0043,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664076",
"espn_id": 36429,
"player_name": "Garrett Cleavinger",
"team": "TB",
"role": "pitcher",
"espn_rank": 437,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 437,
"gp_value": 26.0,
"gp_rank": 155,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.3043,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 2.0,
"sv_rank": 60,
"hld_value": 12.0,
"hld_rank": 16,
"ip_value": 23.0,
"ip_rank": 384,
"h_value": 19.0,
"h_rank": 393,
"er_value": 11.0,
"er_rank": 344,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 31.0,
"k_rank": 285,
"k_per_9_value": 12.130435,
"k_per_9_rank": 20,
"whip_value": 1.3043,
"whip_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0089,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0019,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0132,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 4,
"H": 7,
"BB": 3,
"SO": 11,
"HR": 2,
"ERA": 4.153846153846154,
"WHIP": 1.153846153846154,
"K9": 11.423076923076923,
"HR9": 2.076923076923077,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-07-01T00: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": 4.559,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.477,
"prior_weight": 0.523
},
"role": "pitcher",
"player_id": "664076",
"report_date": "20260702_T",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 6.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.2,
"BF": 3.6,
"Pitches": 14.6
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.0714,
"ER_per_IP": 0.21429,
"H_per_IP": 0.85714,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 3.0,
"SO": 11.0,
"HR": 2.0,
"BF": 34.0,
"Pitches": 143.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.7,
"BB": 0.3,
"SO": 1.1,
"HR": 0.2,
"BF": 3.4,
"Pitches": 14.3
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1538,
"ER_per_IP": 0.46154,
"H_per_IP": 0.80769,
"BB_per_IP": 0.34615,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 26,
"totals": {
"IP": 23.0,
"ER": 11.0,
"R": 12.0,
"H": 19.0,
"BB": 11.0,
"SO": 31.0,
"HR": 3.0,
"BF": 97.0,
"Pitches": 385.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4231,
"R": 0.4615,
"H": 0.7308,
"BB": 0.4231,
"SO": 1.1923,
"HR": 0.1154,
"BF": 3.7308,
"Pitches": 14.8077
},
"rates": {
"ERA": 4.3043,
"WHIP": 1.3043,
"ER_per_IP": 0.47826,
"H_per_IP": 0.82609,
"BB_per_IP": 0.47826,
"SO_per_IP": 1.34783,
"HR_per_IP": 0.13043
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.429,
"predicted_H": 0.902,
"predicted_BB": 0.336,
"predicted_SO": 1.115,
"predicted_HR": 0.174,
"predicted_ERA": 3.8604,
"predicted_WHIP": 1.2389
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.571,
"form_weight": 0.429,
"form_reliability": 0.477,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.559,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.477,
"prior_weight": 0.523
},
"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.1841,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.902,
"final": 0.387,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.336,
"final": 0.7151,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.115,
"final": 1.0493,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.174,
"final": 0.0747,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8604,
"final": 3.8604,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2389,
"final": 1.2389,
"source": "form_only"
}
}
}{
"available": false,
"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.1388 |
| ESPN Rank | 107 |
| 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.5169 |
| Season WHIP | 0.9153 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 91,
"wins": 53,
"losses": 38,
"win_pct": 0.5824,
"runs_scored": 397.0,
"runs_allowed": 373.0,
"run_differential": 24.0,
"run_differential_per_game": 0.2637,
"avg_runs_scored": 4.3626,
"avg_runs_allowed": 4.0989,
"offense_index": 0.9648,
"defense_index": 1.1032,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.0,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2071
},
"opponent": {
"team": "KC",
"games": 95,
"wins": 36,
"losses": 59,
"win_pct": 0.3789,
"runs_scored": 383.0,
"runs_allowed": 480.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0211,
"avg_runs_scored": 4.0316,
"avg_runs_allowed": 5.0526,
"offense_index": 0.8916,
"defense_index": 0.8949,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 7.8,
"run_differential": -38.0
},
"available": true,
"quality_score": -0.2971
},
"edges": {
"quality_edge": 0.5042,
"offense_edge": -0.0352,
"opponent_offense_edge": -0.1084,
"defense_strength": 0.1032,
"opponent_defense_weakness": 0.1051,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0276,
"run_prevention": 0.9471,
"strikeout": 1.0238
},
"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.1,
"bb_percent": 4.7,
"woba": 0.254,
"xwoba": 0.32,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 49.1,
"avg_best_speed": 79.9587,
"avg_hyper_speed": 95.3755,
"whiff_percent": 18.1,
"swing_percent": 46.6
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.0713,
"command_and_miss": -0.3075,
"regression_edge": -1.8857,
"xwoba_edge": -0.2143,
"barrel_edge": -0.2,
"hard_hit_edge": -1.5429,
"whiff_edge": -1.0571,
"bb_edge": 1.1,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687330",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1388,
"sample_weight": 0.45,
"run_prevention_factor": 1.0118,
"strikeout_factor": 0.9747,
"walk_factor": 0.9604,
"homer_factor": 1.0379,
"woba_minus_xwoba": -0.066,
"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": 107,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 107,
"gp_value": 37.0,
"gp_rank": 29,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.5169,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 4.0,
"sv_rank": 38,
"hld_value": 18.0,
"hld_rank": 3,
"ip_value": 39.1,
"ip_rank": 201,
"h_value": 29.0,
"h_rank": 271,
"er_value": 11.0,
"er_rank": 344,
"hr_value": 4.0,
"hr_rank": 246,
"bb_value": 7.0,
"bb_rank": 432,
"k_value": 30.0,
"k_rank": 298,
"k_per_9_value": 6.8644066,
"k_per_9_rank": 40,
"whip_value": 0.9152,
"whip_rank": null,
"war_value": 1.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0053,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0053,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9822,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0171,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9886,
"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.1,
"ER": 3,
"H": 11,
"BB": 1,
"SO": 9,
"HR": 2,
"ERA": 2.382352941176471,
"WHIP": 1.0588235294117647,
"K9": 7.147058823529412,
"HR9": 1.5882352941176472,
"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-07-01T00: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": 7.797,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6093,
"prior_weight": 0.3907
},
"role": "pitcher",
"player_id": "687330",
"report_date": "20260702_T",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 0.0,
"SO": 4.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.0,
"SO": 0.8,
"HR": 0.2,
"BF": 4.0,
"Pitches": 13.8
},
"rates": {
"ERA": 1.5882,
"WHIP": 0.8824,
"ER_per_IP": 0.17647,
"H_per_IP": 0.88235,
"BB_per_IP": 0.0,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 3.0,
"R": 3.0,
"H": 11.0,
"BB": 1.0,
"SO": 9.0,
"HR": 2.0,
"BF": 46.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.1,
"BB": 0.1,
"SO": 0.9,
"HR": 0.2,
"BF": 4.6,
"Pitches": 15.6
},
"rates": {
"ERA": 2.3824,
"WHIP": 1.0588,
"ER_per_IP": 0.26471,
"H_per_IP": 0.97059,
"BB_per_IP": 0.08824,
"SO_per_IP": 0.79412,
"HR_per_IP": 0.17647
}
},
"season": {
"games": 37,
"totals": {
"IP": 39.1,
"ER": 11.0,
"R": 13.0,
"H": 29.0,
"BB": 7.0,
"SO": 30.0,
"HR": 4.0,
"BF": 149.0,
"Pitches": 556.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2973,
"R": 0.3514,
"H": 0.7838,
"BB": 0.1892,
"SO": 0.8108,
"HR": 0.1081,
"BF": 4.027,
"Pitches": 15.027
},
"rates": {
"ERA": 2.5169,
"WHIP": 0.9153,
"ER_per_IP": 0.27966,
"H_per_IP": 0.73729,
"BB_per_IP": 0.17797,
"SO_per_IP": 0.76271,
"HR_per_IP": 0.10169
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.333,
"predicted_H": 0.916,
"predicted_BB": 0.18,
"predicted_SO": 0.828,
"predicted_HR": 0.156,
"predicted_ERA": 3.0,
"predicted_WHIP": 1.0961
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5151,
"form_weight": 0.4849,
"form_reliability": 0.6093,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.797,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6093,
"prior_weight": 0.3907
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.333,
"final": 0.1615,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.916,
"final": 0.4442,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.18,
"final": 0.6024,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.828,
"final": 0.9166,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.156,
"final": 0.0756,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0,
"final": 3.0,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0961,
"final": 1.0961,
"source": "form_only"
}
}
}{
"available": false,
"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.159 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.000 | 5.000 | 4.000 | Hitting_AB | 3.719 | 3.000 | 1.281 | 2.000 |
| predicted_AVG | 0.272 | 0.200 | 0.250 | Hitting_AVG | 0.292 | 0.667 | -0.092 | -0.467 |
| predicted_BB | 0.598 | 0.000 | 1.000 | Hitting_BB | 0.598 | 0.000 | -0.598 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.090 | 1.000 | 1.000 | Hitting_H | 1.086 | 2.000 | -0.086 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_OBP | 0.412 | 0.200 | 0.400 | Hitting_OBP | 0.388 | 0.750 | -0.188 | -0.550 |
| predicted_R | 0.537 | 0.000 | 1.000 | Hitting_R | 0.578 | 1.000 | -0.578 | -1.000 |
| predicted_RBI | 0.710 | 0.000 | 1.000 | Hitting_RBI | 0.809 | 0.000 | -0.809 | 0.000 |
| predicted_SLG | 0.559 | 0.200 | 0.250 | Hitting_SLG | 0.482 | 0.667 | -0.282 | -0.467 |
| predicted_SO | 0.951 | 2.000 | 1.000 | Hitting_SO | 1.031 | 0.000 | 0.969 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.9510 -> 2.0000 (boost 1.0490, worse) |
| Biggest Deboost | predicted_RBI: 0.7100 -> 0.0000 (deboost -0.7100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 3 | 2 | predicted_AVG: 0.2720 -> 0.3021 (boost 0.0301, better) | predicted_AB: 4.0000 -> 3.7590 (deboost -0.2410, worse) | Final model input calibrated with local 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_RBI: 0.7134 -> 0.7650 (boost 0.0516, better) | predicted_SLG: 0.5497 -> 0.4941 (deboost -0.0556, 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.6464 -> 1.0000 (boost 0.3536, better) | predicted_2B: 0.1752 -> 0.0000 (deboost -0.1752, worse) | AB rounded to 4 (raw=4.00), rates preserved: AVG=0.293 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6184 -> 1.0000 (boost 0.3816, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4941 -> 0.2500 (deboost -0.2441, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 1 | 4 | predicted_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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4941 (boost 0.2441, better) | - | 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.159,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.272,
"predicted_BB": 0.598,
"predicted_H": 1.09,
"predicted_HR": 0.17,
"predicted_OBP": 0.412,
"predicted_R": 0.537,
"predicted_RBI": 0.71,
"predicted_SLG": 0.559,
"predicted_SO": 0.951
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0004,
"predicted_AB": 3.759,
"predicted_AVG": 0.3021,
"predicted_BB": 0.6377,
"predicted_H": 1.1272,
"predicted_HBP": 0.175,
"predicted_HR": 0.1644,
"predicted_OBP": 0.4334,
"predicted_R": 0.5767,
"predicted_RBI": 0.7134,
"predicted_SLG": 0.5497,
"predicted_SO": 0.8159
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.1752,
"delta": 0.0162,
"percent_delta": 0.1019,
"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.0,
"after": 3.759,
"delta": -0.241,
"percent_delta": -0.0603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.3021,
"delta": 0.0301,
"percent_delta": 0.1107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.598,
"after": 0.6377,
"delta": 0.0397,
"percent_delta": 0.0664,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.1272,
"delta": 0.0372,
"percent_delta": 0.0341,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1644,
"delta": -0.0056,
"percent_delta": -0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.412,
"after": 0.4334,
"delta": 0.0214,
"percent_delta": 0.0519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.537,
"after": 0.5767,
"delta": 0.0397,
"percent_delta": 0.0739,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.7134,
"delta": 0.0034,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.559,
"after": 0.5497,
"delta": -0.0093,
"percent_delta": -0.0166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.951,
"after": 0.8159,
"delta": -0.1351,
"percent_delta": -0.1421,
"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_AVG",
"before": 0.272,
"after": 0.3021,
"delta": 0.0301,
"percent_delta": 0.1107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.759,
"delta": -0.241,
"percent_delta": -0.0603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 82
}
},
{
"index": 3,
"step": "team_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.0004,
"predicted_AB": 3.759,
"predicted_AVG": 0.3119,
"predicted_BB": 0.6464,
"predicted_H": 1.1724,
"predicted_HBP": 0.175,
"predicted_HR": 0.1696,
"predicted_OBP": 0.4129,
"predicted_R": 0.6184,
"predicted_RBI": 0.765,
"predicted_SLG": 0.4941,
"predicted_SO": 0.8047
},
"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.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.759,
"after": 3.759,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3021,
"after": 0.3119,
"delta": 0.0098,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6377,
"after": 0.6464,
"delta": 0.0087,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1272,
"after": 1.1724,
"delta": 0.0452,
"percent_delta": 0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.175,
"after": 0.175,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1644,
"after": 0.1696,
"delta": 0.0052,
"percent_delta": 0.0316,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4334,
"after": 0.4129,
"delta": -0.0205,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5767,
"after": 0.6184,
"delta": 0.0417,
"percent_delta": 0.0723,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7134,
"after": 0.765,
"delta": 0.0516,
"percent_delta": 0.0723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5497,
"after": 0.4941,
"delta": -0.0556,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8159,
"after": 0.8047,
"delta": -0.0112,
"percent_delta": -0.0137,
"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_RBI",
"before": 0.7134,
"after": 0.765,
"delta": 0.0516,
"percent_delta": 0.0723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5497,
"after": 0.4941,
"delta": -0.0556,
"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 4 (raw=4.00), rates preserved: AVG=0.293 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.1752,
"after": 0.0,
"delta": -0.1752,
"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.759,
"after": 4.0,
"delta": 0.241,
"percent_delta": 0.0641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6464,
"after": 1.0,
"delta": 0.3536,
"percent_delta": 0.547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1724,
"after": 1.0,
"delta": -0.1724,
"percent_delta": -0.147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.175,
"after": 0.0,
"delta": -0.175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1696,
"after": 0.0,
"delta": -0.1696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.765,
"after": 1.0,
"delta": 0.235,
"percent_delta": 0.3072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8047,
"after": 1.0,
"delta": 0.1953,
"percent_delta": 0.2427,
"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.6464,
"after": 1.0,
"delta": 0.3536,
"percent_delta": 0.547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1752,
"after": 0.0,
"delta": -0.1752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6184,
"after": 1.0,
"delta": 0.3816,
"percent_delta": 0.6171,
"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.6184,
"after": 1.0,
"delta": 0.3816,
"percent_delta": 0.6171,
"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.3119,
"after": 0.25,
"delta": -0.0619,
"percent_delta": -0.1985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4129,
"after": 0.4,
"delta": -0.0129,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4941,
"after": 0.25,
"delta": -0.2441,
"percent_delta": -0.494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4941,
"after": 0.25,
"delta": -0.2441,
"percent_delta": -0.494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_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.3119,
"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.4129,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4941,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3119,
"delta": 0.0619,
"percent_delta": 0.2476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.4129,
"delta": 0.0129,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4941,
"delta": 0.2441,
"percent_delta": 0.9762,
"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.4941,
"delta": 0.2441,
"percent_delta": 0.9762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.0,
"delta": -0.159,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.3119,
"delta": 0.0399,
"percent_delta": 0.1467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.598,
"after": 0.0,
"delta": -0.598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.0,
"delta": -0.09,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.412,
"after": 0.4129,
"delta": 0.0009,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.537,
"after": 0.0,
"delta": -0.537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.559,
"after": 0.4941,
"delta": -0.0649,
"percent_delta": -0.1161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.951,
"after": 2.0,
"delta": 1.049,
"percent_delta": 1.103,
"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.951,
"after": 2.0,
"delta": 1.049,
"percent_delta": 1.103,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.000 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.598 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.412 | - |
| predicted_R | 0.537 | - |
| predicted_RBI | 0.710 | - |
| predicted_SLG | 0.559 | - |
| predicted_SO | 0.951 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.016 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.759 | -0.241 |
| predicted_AVG | 0.302 | 0.030 |
| predicted_BB | 0.638 | 0.040 |
| predicted_H | 1.127 | 0.037 |
| predicted_HBP | 0.175 | - |
| predicted_HR | 0.164 | -0.006 |
| predicted_OBP | 0.433 | 0.021 |
| predicted_R | 0.577 | 0.040 |
| predicted_RBI | 0.713 | 0.003 |
| predicted_SLG | 0.550 | -0.009 |
| predicted_SO | 0.816 | -0.135 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.759 | 0.000 |
| predicted_AVG | 0.312 | 0.010 |
| predicted_BB | 0.646 | 0.009 |
| predicted_H | 1.172 | 0.045 |
| predicted_HBP | 0.175 | 0.000 |
| predicted_HR | 0.170 | 0.005 |
| predicted_OBP | 0.413 | -0.021 |
| predicted_R | 0.618 | 0.042 |
| predicted_RBI | 0.765 | 0.052 |
| predicted_SLG | 0.494 | -0.056 |
| predicted_SO | 0.805 | -0.011 |
AB rounded to 4 (raw=4.00), rates preserved: AVG=0.293 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 | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.175 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.241 |
| predicted_AVG | 0.250 | -0.062 |
| predicted_BB | 1.000 | 0.354 |
| predicted_H | 1.000 | -0.172 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.400 | -0.013 |
| predicted_R | 1.000 | 0.382 |
| predicted_RBI | 1.000 | 0.235 |
| predicted_SLG | 0.250 | -0.244 |
| predicted_SO | 1.000 | 0.195 |
Attached 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 | 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 | 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 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 5.000 | 0.000 | 0.4286 | 0.6190 | 0.7143 | 0.4286 | 0.0714 | 0.2857 | 0.3571 | 0.0000 |
| last_10 | 0.20 | 10 | - | 34.000 | 15.000 | 3.000 | 0.000 | 1.000 | 7.000 | 7.000 | 7.000 | 4.000 | 0.4412 | 0.5581 | 0.6176 | 0.4412 | 0.0294 | 0.2059 | 0.2059 | 0.1177 |
| season | 0.60 | 82 | - | 296.000 | 87.000 | 13.000 | 0.000 | 13.000 | 58.000 | 44.000 | 49.000 | 78.000 | 0.2939 | 0.3994 | 0.4696 | 0.2939 | 0.0439 | 0.1960 | 0.1655 | 0.2635 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1970 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4360 |
| predicted_AVG | 0.3424 |
| predicted_BB | 0.6910 |
| predicted_H | 1.1770 |
| predicted_HBP | 0.1750 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.4620 |
| predicted_R | 0.6300 |
| predicted_RBI | 0.7180 |
| predicted_SLG | 0.5373 |
| predicted_SO | 0.6350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.1970 | 0.1752 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0000 | 3.4360 | 3.7590 | model_form_blend |
| predicted_AVG | 0.2720 | 0.3424 | 0.3021 | model_form_blend |
| predicted_BB | 0.5980 | 0.6910 | 0.6377 | model_form_blend |
| predicted_H | 1.0900 | 1.1770 | 1.1272 | model_form_blend |
| predicted_HBP | - | 0.1750 | 0.1750 | form_only |
| predicted_HR | 0.1700 | 0.1570 | 0.1644 | model_form_blend |
| predicted_OBP | 0.4120 | 0.4620 | 0.4334 | model_form_blend |
| predicted_R | 0.5370 | 0.6300 | 0.5767 | model_form_blend |
| predicted_RBI | 0.7100 | 0.7180 | 0.7134 | model_form_blend |
| predicted_SLG | 0.5590 | 0.5373 | 0.5497 | model_form_blend |
| predicted_SO | 0.9510 | 0.6350 | 0.8159 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 82 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.294 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260701_TB@KC |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.38 |
| sl_xwoba | 0.376 |
| sl_xba | 0.273 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 13.5 |
| sl_whiff_percent | 21.4 |
| 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.188 | 0.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.012 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 4.340 | 4.000 | 4.000 | Hitting_AB | 3.899 | 5.000 | 0.101 | -1.000 |
| predicted_AVG | 0.266 | 0.250 | 0.250 | Hitting_AVG | 0.322 | 0.000 | -0.072 | 0.250 |
| predicted_BB | 0.437 | 0.000 | 0.000 | Hitting_BB | 0.403 | 0.000 | -0.403 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 1.150 | 1.000 | 1.000 | Hitting_H | 1.254 | 0.000 | -0.254 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.374 | 0.400 | 0.250 | Hitting_OBP | 0.402 | 0.000 | -0.002 | 0.400 |
| predicted_R | 0.575 | 0.000 | 1.000 | Hitting_R | 0.565 | 0.000 | -0.565 | 0.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.690 | 0.000 | -0.690 | 0.000 |
| predicted_SLG | 0.520 | 0.250 | 0.250 | Hitting_SLG | 0.488 | 0.000 | -0.238 | 0.250 |
| predicted_SO | 0.575 | 0.000 | 1.000 | Hitting_SO | 0.565 | 1.000 | -0.565 | -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_AVG: 0.2660 -> 0.3001 (boost 0.0341, better) |
| Biggest Deboost | predicted_RBI: 0.6000 -> 0.0000 (deboost -0.6000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_R: 0.5750 -> 0.6369 (boost 0.0619, better) | predicted_AB: 4.3400 -> 4.0467 (deboost -0.2933, worse) | Final model input calibrated with local form: 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.2916 -> 0.3001 (boost 0.0085, better) | predicted_SLG: 0.4976 -> 0.4382 (deboost -0.0594, 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.5558 -> 1.0000 (boost 0.4442, worse) | predicted_BB: 0.4659 -> 0.0000 (deboost -0.4659, worse) | AB rounded to 4 (raw=4.34), rates preserved: AVG=0.280 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6829 -> 1.0000 (boost 0.3171, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4382 -> 0.2500 (deboost -0.1882, 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_HBP: 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.4382 (boost 0.1882, 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.188,
"predicted_3B": 0.012,
"predicted_AB": 4.34,
"predicted_AVG": 0.266,
"predicted_BB": 0.437,
"predicted_H": 1.15,
"predicted_HR": 0.12,
"predicted_OBP": 0.374,
"predicted_R": 0.575,
"predicted_RBI": 0.6,
"predicted_SLG": 0.52,
"predicted_SO": 0.575
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2068,
"predicted_3B": 0.0103,
"predicted_AB": 4.0467,
"predicted_AVG": 0.2916,
"predicted_BB": 0.4596,
"predicted_H": 1.1675,
"predicted_HBP": 0.082,
"predicted_HR": 0.1072,
"predicted_OBP": 0.3889,
"predicted_R": 0.6369,
"predicted_RBI": 0.5859,
"predicted_SLG": 0.4976,
"predicted_SO": 0.5635
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.2068,
"delta": 0.0188,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.012,
"after": 0.0103,
"delta": -0.0017,
"percent_delta": -0.1417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0467,
"delta": -0.2933,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2916,
"delta": 0.0256,
"percent_delta": 0.0962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.437,
"after": 0.4596,
"delta": 0.0226,
"percent_delta": 0.0517,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.1675,
"delta": 0.0175,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1072,
"delta": -0.0128,
"percent_delta": -0.1067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3889,
"delta": 0.0149,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 0.6369,
"delta": 0.0619,
"percent_delta": 0.1077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.5859,
"delta": -0.0141,
"percent_delta": -0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.52,
"after": 0.4976,
"delta": -0.0224,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.575,
"after": 0.5635,
"delta": -0.0115,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.575,
"after": 0.6369,
"delta": 0.0619,
"percent_delta": 0.1077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0467,
"delta": -0.2933,
"percent_delta": -0.0676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 80
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2068,
"predicted_3B": 0.0103,
"predicted_AB": 4.0467,
"predicted_AVG": 0.3001,
"predicted_BB": 0.4659,
"predicted_H": 1.2143,
"predicted_HBP": 0.082,
"predicted_HR": 0.1106,
"predicted_OBP": 0.3723,
"predicted_R": 0.6829,
"predicted_RBI": 0.6283,
"predicted_SLG": 0.4382,
"predicted_SO": 0.5558
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2068,
"after": 0.2068,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0467,
"after": 4.0467,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2916,
"after": 0.3001,
"delta": 0.0085,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4596,
"after": 0.4659,
"delta": 0.0063,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1675,
"after": 1.2143,
"delta": 0.0468,
"percent_delta": 0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 0.082,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1072,
"after": 0.1106,
"delta": 0.0034,
"percent_delta": 0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3889,
"after": 0.3723,
"delta": -0.0166,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6369,
"after": 0.6829,
"delta": 0.046,
"percent_delta": 0.0722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5859,
"after": 0.6283,
"delta": 0.0424,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4976,
"after": 0.4382,
"delta": -0.0594,
"percent_delta": -0.1194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5635,
"after": 0.5558,
"delta": -0.0077,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_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.2916,
"after": 0.3001,
"delta": 0.0085,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4976,
"after": 0.4382,
"delta": -0.0594,
"percent_delta": -0.1194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.34), rates preserved: AVG=0.280 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2068,
"after": 0.0,
"delta": -0.2068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0103,
"after": 0.0,
"delta": -0.0103,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0467,
"after": 4.0,
"delta": -0.0467,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4659,
"after": 0.0,
"delta": -0.4659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2143,
"after": 1.0,
"delta": -0.2143,
"percent_delta": -0.1765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.082,
"after": 0.0,
"delta": -0.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1106,
"after": 0.0,
"delta": -0.1106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6283,
"after": 1.0,
"delta": 0.3717,
"percent_delta": 0.5916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5558,
"after": 1.0,
"delta": 0.4442,
"percent_delta": 0.7992,
"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.5558,
"after": 1.0,
"delta": 0.4442,
"percent_delta": 0.7992,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4659,
"after": 0.0,
"delta": -0.4659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6829,
"after": 1.0,
"delta": 0.3171,
"percent_delta": 0.4643,
"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.6829,
"after": 1.0,
"delta": 0.3171,
"percent_delta": 0.4643,
"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.3001,
"after": 0.25,
"delta": -0.0501,
"percent_delta": -0.1669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3723,
"after": 0.25,
"delta": -0.1223,
"percent_delta": -0.3285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4382,
"after": 0.25,
"delta": -0.1882,
"percent_delta": -0.4295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4382,
"after": 0.25,
"delta": -0.1882,
"percent_delta": -0.4295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.3001,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3723,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4382,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.3001,
"delta": 0.0501,
"percent_delta": 0.2003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3723,
"delta": 0.1223,
"percent_delta": 0.4894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4382,
"delta": 0.1882,
"percent_delta": 0.753,
"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.4382,
"delta": 0.1882,
"percent_delta": 0.753,
"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.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 4.0,
"delta": -0.34,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.3001,
"delta": 0.0341,
"percent_delta": 0.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.437,
"after": 0.0,
"delta": -0.437,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.0,
"delta": -0.15,
"percent_delta": -0.1304,
"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.374,
"after": 0.3723,
"delta": -0.0017,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.575,
"after": 0.0,
"delta": -0.575,
"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.52,
"after": 0.4382,
"delta": -0.0818,
"percent_delta": -0.1573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.575,
"after": 0.0,
"delta": -0.575,
"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.266,
"after": 0.3001,
"delta": 0.0341,
"percent_delta": 0.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.012 | - |
| predicted_AB | 4.340 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.437 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.374 | - |
| predicted_R | 0.575 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.520 | - |
| predicted_SO | 0.575 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.010 | -0.002 |
| predicted_AB | 4.047 | -0.293 |
| predicted_AVG | 0.292 | 0.026 |
| predicted_BB | 0.460 | 0.023 |
| predicted_H | 1.167 | 0.018 |
| predicted_HBP | 0.082 | - |
| predicted_HR | 0.107 | -0.013 |
| predicted_OBP | 0.389 | 0.015 |
| predicted_R | 0.637 | 0.062 |
| predicted_RBI | 0.586 | -0.014 |
| predicted_SLG | 0.498 | -0.022 |
| predicted_SO | 0.564 | -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.207 | 0.000 |
| predicted_3B | 0.010 | 0.000 |
| predicted_AB | 4.047 | 0.000 |
| predicted_AVG | 0.300 | 0.008 |
| predicted_BB | 0.466 | 0.006 |
| predicted_H | 1.214 | 0.047 |
| predicted_HBP | 0.082 | 0.000 |
| predicted_HR | 0.111 | 0.003 |
| predicted_OBP | 0.372 | -0.017 |
| predicted_R | 0.683 | 0.046 |
| predicted_RBI | 0.628 | 0.042 |
| predicted_SLG | 0.438 | -0.059 |
| predicted_SO | 0.556 | -0.008 |
AB rounded to 4 (raw=4.34), rates preserved: AVG=0.280 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 | 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.207 |
| predicted_3B | 0.000 | -0.010 |
| predicted_AB | 4.000 | -0.047 |
| predicted_AVG | 0.250 | -0.050 |
| predicted_BB | 0.000 | -0.466 |
| predicted_H | 1.000 | -0.214 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.250 | -0.122 |
| predicted_R | 1.000 | 0.317 |
| predicted_RBI | 1.000 | 0.372 |
| predicted_SLG | 0.250 | -0.188 |
| predicted_SO | 1.000 | 0.444 |
Attached 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 | 1.000 | 1.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 | - | 17.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 5.000 | 3.000 | 2.000 | 0.2941 | 0.3810 | 0.3529 | 0.2941 | 0.0000 | 0.1177 | 0.1765 | 0.1177 |
| last_10 | 0.20 | 10 | - | 34.000 | 13.000 | 4.000 | 0.000 | 0.000 | 5.000 | 9.000 | 6.000 | 5.000 | 0.3824 | 0.4762 | 0.5000 | 0.3824 | 0.0000 | 0.1471 | 0.1765 | 0.1471 |
| season | 0.60 | 80 | - | 304.000 | 100.000 | 15.000 | 1.000 | 12.000 | 53.000 | 46.000 | 35.000 | 46.000 | 0.3289 | 0.4103 | 0.5033 | 0.3290 | 0.0395 | 0.1743 | 0.1151 | 0.1513 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2320 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.6530 |
| predicted_AVG | 0.3260 |
| predicted_BB | 0.4900 |
| predicted_H | 1.1910 |
| predicted_HBP | 0.0820 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.4088 |
| predicted_R | 0.7200 |
| predicted_RBI | 0.5670 |
| predicted_SLG | 0.4675 |
| predicted_SO | 0.5480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.2320 | 0.2068 | model_form_blend |
| predicted_3B | 0.0120 | 0.0080 | 0.0103 | model_form_blend |
| predicted_AB | 4.3400 | 3.6530 | 4.0467 | model_form_blend |
| predicted_AVG | 0.2660 | 0.3260 | 0.2916 | model_form_blend |
| predicted_BB | 0.4370 | 0.4900 | 0.4596 | model_form_blend |
| predicted_H | 1.1500 | 1.1910 | 1.1675 | model_form_blend |
| predicted_HBP | - | 0.0820 | 0.0820 | form_only |
| predicted_HR | 0.1200 | 0.0900 | 0.1072 | model_form_blend |
| predicted_OBP | 0.3740 | 0.4088 | 0.3889 | model_form_blend |
| predicted_R | 0.5750 | 0.7200 | 0.6369 | model_form_blend |
| predicted_RBI | 0.6000 | 0.5670 | 0.5859 | model_form_blend |
| predicted_SLG | 0.5200 | 0.4675 | 0.4976 | model_form_blend |
| predicted_SO | 0.5750 | 0.5480 | 0.5635 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 248 |
| Season rows before report date | 248 |
| Report year | 2026 |
| Profile rows used | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.329 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260701_TB@KC |
| game_type | full |
| mlbID | 650490 |
| playerID | 650490 |
| playerName | Yandy Díaz |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.396 |
| sl_xwoba | 0.374 |
| sl_xba | 0.298 |
| sl_xslg | 0.461 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 48.3 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 6.3 |
| sl_whiff_percent | 14.3 |
| sl_swing_percent | 45.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.048 | 0.000 | 0.000 | Hitting_2B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.095 | 5.000 | 3.000 | Hitting_AB | 3.061 | 4.000 | 1.939 | 1.000 |
| predicted_AVG | 0.248 | 0.400 | 0.333 | Hitting_AVG | 0.218 | 0.250 | 0.182 | 0.150 |
| predicted_BB | 0.381 | 0.000 | 0.000 | Hitting_BB | 0.364 | 0.000 | -0.364 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_H | 0.710 | 2.000 | 1.000 | Hitting_H | 0.667 | 1.000 | 1.333 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_OBP | 0.298 | 0.400 | 0.333 | Hitting_OBP | 0.301 | 0.250 | 0.099 | 0.150 |
| predicted_R | 0.476 | 1.000 | 1.000 | Hitting_R | 0.485 | 1.000 | 0.515 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.545 | 0.000 | -0.545 | 0.000 |
| predicted_SLG | 0.477 | 0.400 | 0.333 | Hitting_SLG | 0.465 | 0.250 | -0.065 | 0.150 |
| predicted_SO | 0.857 | 2.000 | 1.000 | Hitting_SO | 0.788 | 1.000 | 1.212 | 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.0950 -> 5.0000 (boost 1.9050, 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 | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.0950 -> 3.1964 (boost 0.1014, better) | predicted_SLG: 0.4770 -> 0.4505 (deboost -0.0265, worse) | Final model input calibrated with local 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.2990 -> 0.3171 (boost 0.0181, better) | predicted_SLG: 0.4505 -> 0.3972 (deboost -0.0533, 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.7617 -> 1.0000 (boost 0.2383, better) | predicted_RBI: 0.4520 -> 0.0000 (deboost -0.4520, worse) | AB rounded to 3 (raw=3.20), rates preserved: AVG=0.238 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5288 -> 1.0000 (boost 0.4712, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2383 -> 0.3330 (boost 0.0947, better) | predicted_SLG: 0.3972 -> 0.3330 (deboost -0.0642, 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_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3972 (boost 0.0642, better) | predicted_AVG: 0.3330 -> 0.2383 (deboost -0.0947, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683748",
"player_name": "Victor Mesa Jr.",
"position": "RF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.048,
"predicted_3B": 0.0,
"predicted_AB": 3.095,
"predicted_AVG": 0.248,
"predicted_BB": 0.381,
"predicted_H": 0.71,
"predicted_HR": 0.13,
"predicted_OBP": 0.298,
"predicted_R": 0.476,
"predicted_RBI": 0.4,
"predicted_SLG": 0.477,
"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.071,
"predicted_3B": 0.0015,
"predicted_AB": 3.1964,
"predicted_AVG": 0.2409,
"predicted_BB": 0.3639,
"predicted_H": 0.7323,
"predicted_HBP": 0.008,
"predicted_HR": 0.1402,
"predicted_OBP": 0.299,
"predicted_R": 0.4931,
"predicted_RBI": 0.4215,
"predicted_SLG": 0.4505,
"predicted_SO": 0.8475
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.048,
"after": 0.071,
"delta": 0.023,
"percent_delta": 0.4792,
"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.095,
"after": 3.1964,
"delta": 0.1014,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2409,
"delta": -0.0071,
"percent_delta": -0.0286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.3639,
"delta": -0.0171,
"percent_delta": -0.0449,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7323,
"delta": 0.0223,
"percent_delta": 0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1402,
"delta": 0.0102,
"percent_delta": 0.0785,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.299,
"delta": 0.001,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.476,
"after": 0.4931,
"delta": 0.0171,
"percent_delta": 0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4215,
"delta": 0.0215,
"percent_delta": 0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4505,
"delta": -0.0265,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.8475,
"delta": -0.0095,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_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.095,
"after": 3.1964,
"delta": 0.1014,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4505,
"delta": -0.0265,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.071,
"predicted_3B": 0.0015,
"predicted_AB": 3.1964,
"predicted_AVG": 0.2383,
"predicted_BB": 0.3689,
"predicted_H": 0.7617,
"predicted_HBP": 0.008,
"predicted_HR": 0.1446,
"predicted_OBP": 0.3171,
"predicted_R": 0.5288,
"predicted_RBI": 0.452,
"predicted_SLG": 0.3972,
"predicted_SO": 0.8359
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.071,
"after": 0.071,
"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.1964,
"after": 3.1964,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2409,
"after": 0.2383,
"delta": -0.0026,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3639,
"after": 0.3689,
"delta": 0.005,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7323,
"after": 0.7617,
"delta": 0.0294,
"percent_delta": 0.0401,
"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.1402,
"after": 0.1446,
"delta": 0.0044,
"percent_delta": 0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3171,
"delta": 0.0181,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4931,
"after": 0.5288,
"delta": 0.0357,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4215,
"after": 0.452,
"delta": 0.0305,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4505,
"after": 0.3972,
"delta": -0.0533,
"percent_delta": -0.1183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8475,
"after": 0.8359,
"delta": -0.0116,
"percent_delta": -0.0137,
"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.299,
"after": 0.3171,
"delta": 0.0181,
"percent_delta": 0.0605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4505,
"after": 0.3972,
"delta": -0.0533,
"percent_delta": -0.1183,
"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.238 HR/AB=0.045",
"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.071,
"after": 0.0,
"delta": -0.071,
"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.1964,
"after": 3.0,
"delta": -0.1964,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3689,
"after": 0.0,
"delta": -0.3689,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7617,
"after": 1.0,
"delta": 0.2383,
"percent_delta": 0.3129,
"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.1446,
"after": 0.0,
"delta": -0.1446,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8359,
"after": 1.0,
"delta": 0.1641,
"percent_delta": 0.1963,
"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.7617,
"after": 1.0,
"delta": 0.2383,
"percent_delta": 0.3129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5288,
"after": 1.0,
"delta": 0.4712,
"percent_delta": 0.8911,
"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.5288,
"after": 1.0,
"delta": 0.4712,
"percent_delta": 0.8911,
"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.2383,
"after": 0.333,
"delta": 0.0947,
"percent_delta": 0.3974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3171,
"after": 0.333,
"delta": 0.0159,
"percent_delta": 0.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3972,
"after": 0.333,
"delta": -0.0642,
"percent_delta": -0.1616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2383,
"after": 0.333,
"delta": 0.0947,
"percent_delta": 0.3974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3972,
"after": 0.333,
"delta": -0.0642,
"percent_delta": -0.1616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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": 3,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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.2383,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3171,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3972,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2383,
"delta": -0.0947,
"percent_delta": -0.2844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3171,
"delta": -0.0159,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3972,
"delta": 0.0642,
"percent_delta": 0.1927,
"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.3972,
"delta": 0.0642,
"percent_delta": 0.1927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2383,
"delta": -0.0947,
"percent_delta": -0.2844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.095,
"after": 5.0,
"delta": 1.905,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2383,
"delta": -0.0097,
"percent_delta": -0.0391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.381,
"after": 0.0,
"delta": -0.381,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 2.0,
"delta": 1.29,
"percent_delta": 1.8169,
"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.3171,
"delta": 0.0191,
"percent_delta": 0.0641,
"direction": "boost",
"projection_effect": "better",
"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.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.3972,
"delta": -0.0798,
"percent_delta": -0.1673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 2.0,
"delta": 1.143,
"percent_delta": 1.3337,
"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.095,
"after": 5.0,
"delta": 1.905,
"percent_delta": 0.6155,
"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.048 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.095 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.381 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.476 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.477 | - |
| 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.071 | 0.023 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.196 | 0.101 |
| predicted_AVG | 0.241 | -0.007 |
| predicted_BB | 0.364 | -0.017 |
| predicted_H | 0.732 | 0.022 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.140 | 0.010 |
| predicted_OBP | 0.299 | 0.001 |
| predicted_R | 0.493 | 0.017 |
| predicted_RBI | 0.421 | 0.021 |
| predicted_SLG | 0.451 | -0.026 |
| predicted_SO | 0.848 | -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.071 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.196 | 0.000 |
| predicted_AVG | 0.238 | -0.003 |
| predicted_BB | 0.369 | 0.005 |
| predicted_H | 0.762 | 0.029 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.145 | 0.004 |
| predicted_OBP | 0.317 | 0.018 |
| predicted_R | 0.529 | 0.036 |
| predicted_RBI | 0.452 | 0.031 |
| predicted_SLG | 0.397 | -0.053 |
| predicted_SO | 0.836 | -0.012 |
AB rounded to 3 (raw=3.20), rates preserved: AVG=0.238 HR/AB=0.045
| 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.071 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.196 |
| predicted_AVG | 0.333 | 0.095 |
| predicted_BB | 0.000 | -0.369 |
| predicted_H | 1.000 | 0.238 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.333 | 0.016 |
| predicted_R | 1.000 | 0.471 |
| predicted_RBI | 0.000 | -0.452 |
| predicted_SLG | 0.333 | -0.064 |
| predicted_SO | 1.000 | 0.164 |
Attached 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 | 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 | - | 18.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 4.000 | 0.2778 | 0.3158 | 0.5000 | 0.2778 | 0.0556 | 0.1667 | 0.0556 | 0.2222 |
| last_10 | 0.20 | 10 | - | 31.000 | 7.000 | 1.000 | 0.000 | 2.000 | 5.000 | 6.000 | 4.000 | 7.000 | 0.2258 | 0.3143 | 0.4516 | 0.2258 | 0.0645 | 0.1613 | 0.1290 | 0.2258 |
| season | 0.60 | 21 | - | 65.000 | 13.000 | 1.000 | 0.000 | 3.000 | 8.000 | 10.000 | 8.000 | 18.000 | 0.2000 | 0.2877 | 0.3538 | 0.2000 | 0.0461 | 0.1231 | 0.1231 | 0.2769 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1110 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.3730 |
| predicted_AVG | 0.2286 |
| predicted_BB | 0.3340 |
| predicted_H | 0.7710 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.3007 |
| predicted_R | 0.5230 |
| predicted_RBI | 0.4590 |
| predicted_SLG | 0.4043 |
| predicted_SO | 0.8310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0480 | 0.1110 | 0.0710 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 3.0950 | 3.3730 | 3.1964 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2286 | 0.2409 | model_form_blend |
| predicted_BB | 0.3810 | 0.3340 | 0.3639 | model_form_blend |
| predicted_H | 0.7100 | 0.7710 | 0.7323 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1300 | 0.1580 | 0.1402 | model_form_blend |
| predicted_OBP | 0.2980 | 0.3007 | 0.2990 | model_form_blend |
| predicted_R | 0.4760 | 0.5230 | 0.4931 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4590 | 0.4215 | model_form_blend |
| predicted_SLG | 0.4770 | 0.4043 | 0.4505 | model_form_blend |
| predicted_SO | 0.8570 | 0.8310 | 0.8475 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260701_TB@KC |
| game_type | full |
| mlbID | 683748 |
| playerID | 683748 |
| playerName | Victor Mesa Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.294 |
| sl_xwoba | 0.341 |
| sl_xba | 0.266 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 39.6 |
| sl_barrel_batted_rate | 10.4 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 26.0 |
| 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.145 | 0.000 | 0.000 | Hitting_2B | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.080 | 4.000 | 4.000 | Hitting_AB | 3.920 | 4.000 | 0.080 | 0.000 |
| predicted_AVG | 0.265 | 0.000 | 0.250 | Hitting_AVG | 0.274 | 0.250 | -0.274 | -0.250 |
| predicted_BB | 0.566 | 1.000 | 1.000 | Hitting_BB | 0.607 | 0.000 | 0.393 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_H | 1.080 | 0.000 | 1.000 | Hitting_H | 1.073 | 1.000 | -1.073 | -1.000 |
| predicted_HR | 0.370 | 0.000 | 0.000 | Hitting_HR | 0.260 | 1.000 | -0.260 | -1.000 |
| predicted_OBP | 0.369 | 0.200 | 0.400 | Hitting_OBP | 0.369 | 0.250 | -0.169 | -0.050 |
| predicted_R | 0.651 | 0.000 | 1.000 | Hitting_R | 0.672 | 1.000 | -0.672 | -1.000 |
| predicted_RBI | 1.010 | 0.000 | 1.000 | Hitting_RBI | 0.588 | 2.000 | -0.588 | -2.000 |
| predicted_SLG | 0.688 | 0.000 | 0.250 | Hitting_SLG | 0.504 | 1.000 | -0.504 | -1.000 |
| predicted_SO | 0.783 | 1.000 | 1.000 | Hitting_SO | 0.744 | 3.000 | 0.256 | -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_BB: 0.5660 -> 1.0000 (boost 0.4340, better) |
| Biggest Deboost | predicted_H: 1.0800 -> 0.0000 (deboost -1.0800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 6 | 1 | predicted_H: 1.0800 -> 1.1480 (boost 0.0680, better) | predicted_AB: 4.0800 -> 3.9641 (deboost -0.1159, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 3 | 1 | 3 | 1 | predicted_RBI: 1.0776 -> 1.1555 (boost 0.0779, better) | predicted_SLG: 0.7186 -> 0.6712 (deboost -0.0474, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_BB: 0.5378 -> 1.0000 (boost 0.4622, better) | predicted_HR: 0.4474 -> 0.0000 (deboost -0.4474, worse) | AB rounded to 4 (raw=4.08), rates preserved: AVG=0.293 HR/AB=0.110 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7513 -> 1.0000 (boost 0.2487, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3847 -> 0.4000 (boost 0.0153, better) | predicted_SLG: 0.6712 -> 0.2500 (deboost -0.4212, 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.6712 (boost 0.4212, better) | predicted_OBP: 0.4000 -> 0.3847 (deboost -0.0153, 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.145,
"predicted_3B": 0.0,
"predicted_AB": 4.08,
"predicted_AVG": 0.265,
"predicted_BB": 0.566,
"predicted_H": 1.08,
"predicted_HR": 0.37,
"predicted_OBP": 0.369,
"predicted_R": 0.651,
"predicted_RBI": 1.01,
"predicted_SLG": 0.688,
"predicted_SO": 0.783
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1236,
"predicted_3B": 0.0004,
"predicted_AB": 3.9641,
"predicted_AVG": 0.2908,
"predicted_BB": 0.5305,
"predicted_H": 1.148,
"predicted_HBP": 0.002,
"predicted_HR": 0.4337,
"predicted_OBP": 0.3826,
"predicted_R": 0.7006,
"predicted_RBI": 1.0776,
"predicted_SLG": 0.7186,
"predicted_SO": 0.8035
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1236,
"delta": -0.0214,
"percent_delta": -0.1476,
"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.08,
"after": 3.9641,
"delta": -0.1159,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2908,
"delta": 0.0258,
"percent_delta": 0.0974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 0.5305,
"delta": -0.0355,
"percent_delta": -0.0627,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.148,
"delta": 0.068,
"percent_delta": 0.063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.37,
"after": 0.4337,
"delta": 0.0637,
"percent_delta": 0.1722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3826,
"delta": 0.0136,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.651,
"after": 0.7006,
"delta": 0.0496,
"percent_delta": 0.0762,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.01,
"after": 1.0776,
"delta": 0.0676,
"percent_delta": 0.0669,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.688,
"after": 0.7186,
"delta": 0.0306,
"percent_delta": 0.0445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.783,
"after": 0.8035,
"delta": 0.0205,
"percent_delta": 0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.08,
"after": 1.148,
"delta": 0.068,
"percent_delta": 0.063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.08,
"after": 3.9641,
"delta": -0.1159,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1236,
"predicted_3B": 0.0004,
"predicted_AB": 3.9641,
"predicted_AVG": 0.3012,
"predicted_BB": 0.5378,
"predicted_H": 1.194,
"predicted_HBP": 0.002,
"predicted_HR": 0.4474,
"predicted_OBP": 0.3847,
"predicted_R": 0.7513,
"predicted_RBI": 1.1555,
"predicted_SLG": 0.6712,
"predicted_SO": 0.7925
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1236,
"after": 0.1236,
"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.9641,
"after": 3.9641,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2908,
"after": 0.3012,
"delta": 0.0104,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5305,
"after": 0.5378,
"delta": 0.0073,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.148,
"after": 1.194,
"delta": 0.046,
"percent_delta": 0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4337,
"after": 0.4474,
"delta": 0.0137,
"percent_delta": 0.0316,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3826,
"after": 0.3847,
"delta": 0.0021,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7006,
"after": 0.7513,
"delta": 0.0507,
"percent_delta": 0.0724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0776,
"after": 1.1555,
"delta": 0.0779,
"percent_delta": 0.0723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.7186,
"after": 0.6712,
"delta": -0.0474,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8035,
"after": 0.7925,
"delta": -0.011,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0776,
"after": 1.1555,
"delta": 0.0779,
"percent_delta": 0.0723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.7186,
"after": 0.6712,
"delta": -0.0474,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.293 HR/AB=0.110",
"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.1236,
"after": 0.0,
"delta": -0.1236,
"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.9641,
"after": 4.0,
"delta": 0.0359,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5378,
"after": 1.0,
"delta": 0.4622,
"percent_delta": 0.8594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.194,
"after": 1.0,
"delta": -0.194,
"percent_delta": -0.1625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4474,
"after": 0.0,
"delta": -0.4474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1555,
"after": 1.0,
"delta": -0.1555,
"percent_delta": -0.1346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7925,
"after": 1.0,
"delta": 0.2075,
"percent_delta": 0.2618,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5378,
"after": 1.0,
"delta": 0.4622,
"percent_delta": 0.8594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4474,
"after": 0.0,
"delta": -0.4474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.7513,
"after": 1.0,
"delta": 0.2487,
"percent_delta": 0.331,
"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.7513,
"after": 1.0,
"delta": 0.2487,
"percent_delta": 0.331,
"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.3012,
"after": 0.25,
"delta": -0.0512,
"percent_delta": -0.17,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3847,
"after": 0.4,
"delta": 0.0153,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6712,
"after": 0.25,
"delta": -0.4212,
"percent_delta": -0.6275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3847,
"after": 0.4,
"delta": 0.0153,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6712,
"after": 0.25,
"delta": -0.4212,
"percent_delta": -0.6275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3012,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3847,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6712,
"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.3012,
"delta": 0.0512,
"percent_delta": 0.2048,
"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.3847,
"delta": -0.0153,
"percent_delta": -0.0383,
"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.6712,
"delta": 0.4212,
"percent_delta": 1.6846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.6712,
"delta": 0.4212,
"percent_delta": 1.6846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3847,
"delta": -0.0153,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 4.0,
"delta": -0.08,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.3012,
"delta": 0.0362,
"percent_delta": 0.1366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 0.0,
"delta": -1.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.369,
"after": 0.3847,
"delta": 0.0157,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.651,
"after": 0.0,
"delta": -0.651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.01,
"after": 0.0,
"delta": -1.01,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.688,
"after": 0.6712,
"delta": -0.0168,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.783,
"after": 1.0,
"delta": 0.217,
"percent_delta": 0.2771,
"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_BB",
"before": 0.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.08,
"after": 0.0,
"delta": -1.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.000 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.566 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.370 | - |
| predicted_OBP | 0.369 | - |
| predicted_R | 0.651 | - |
| predicted_RBI | 1.010 | - |
| predicted_SLG | 0.688 | - |
| predicted_SO | 0.783 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.124 | -0.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.964 | -0.116 |
| predicted_AVG | 0.291 | 0.026 |
| predicted_BB | 0.530 | -0.035 |
| predicted_H | 1.148 | 0.068 |
| predicted_HBP | 0.002 | - |
| predicted_HR | 0.434 | 0.064 |
| predicted_OBP | 0.383 | 0.014 |
| predicted_R | 0.701 | 0.050 |
| predicted_RBI | 1.078 | 0.068 |
| predicted_SLG | 0.719 | 0.031 |
| predicted_SO | 0.803 | 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.124 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.964 | 0.000 |
| predicted_AVG | 0.301 | 0.010 |
| predicted_BB | 0.538 | 0.007 |
| predicted_H | 1.194 | 0.046 |
| predicted_HBP | 0.002 | 0.000 |
| predicted_HR | 0.447 | 0.014 |
| predicted_OBP | 0.385 | 0.002 |
| predicted_R | 0.751 | 0.051 |
| predicted_RBI | 1.155 | 0.078 |
| predicted_SLG | 0.671 | -0.047 |
| predicted_SO | 0.792 | -0.011 |
AB rounded to 4 (raw=4.08), rates preserved: AVG=0.293 HR/AB=0.110
| 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.124 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.036 |
| predicted_AVG | 0.250 | -0.051 |
| predicted_BB | 1.000 | 0.462 |
| predicted_H | 1.000 | -0.194 |
| predicted_HR | 0.000 | -0.447 |
| predicted_OBP | 0.400 | 0.015 |
| predicted_R | 1.000 | 0.249 |
| predicted_RBI | 1.000 | -0.155 |
| predicted_SLG | 0.250 | -0.421 |
| predicted_SO | 1.000 | 0.208 |
Attached 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 | 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 | 8.000 | 0.000 | 0.000 | 5.000 | 11.000 | 5.000 | 2.000 | 4.000 | 0.4211 | 0.4762 | 1.2105 | 0.4210 | 0.2632 | 0.5789 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 14.000 | 0.000 | 0.000 | 9.000 | 20.000 | 10.000 | 4.000 | 10.000 | 0.3590 | 0.4186 | 1.0513 | 0.3590 | 0.2308 | 0.5128 | 0.1026 | 0.2564 |
| season | 0.60 | 83 | - | 314.000 | 92.000 | 12.000 | 0.000 | 24.000 | 54.000 | 54.000 | 47.000 | 65.000 | 0.2930 | 0.3829 | 0.5605 | 0.2930 | 0.0764 | 0.1720 | 0.1497 | 0.2070 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0950 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8090 |
| predicted_AVG | 0.3254 |
| predicted_BB | 0.4830 |
| predicted_H | 1.2390 |
| predicted_HBP | 0.0020 |
| predicted_HR | 0.5190 |
| predicted_OBP | 0.4009 |
| predicted_R | 0.7670 |
| predicted_RBI | 1.1680 |
| predicted_SLG | 0.7596 |
| predicted_SO | 0.8310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.0950 | 0.1236 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0800 | 3.8090 | 3.9641 | model_form_blend |
| predicted_AVG | 0.2650 | 0.3254 | 0.2908 | model_form_blend |
| predicted_BB | 0.5660 | 0.4830 | 0.5305 | model_form_blend |
| predicted_H | 1.0800 | 1.2390 | 1.1480 | model_form_blend |
| predicted_HBP | - | 0.0020 | 0.0020 | form_only |
| predicted_HR | 0.3700 | 0.5190 | 0.4337 | model_form_blend |
| predicted_OBP | 0.3690 | 0.4009 | 0.3826 | model_form_blend |
| predicted_R | 0.6510 | 0.7670 | 0.7006 | model_form_blend |
| predicted_RBI | 1.0100 | 1.1680 | 1.0776 | model_form_blend |
| predicted_SLG | 0.6880 | 0.7596 | 0.7186 | model_form_blend |
| predicted_SO | 0.7830 | 0.8310 | 0.8035 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.293 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| 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 | 3B |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.4 |
| sl_xwoba | 0.377 |
| sl_xba | 0.279 |
| sl_xslg | 0.514 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 52.4 |
| sl_exit_velocity_avg | 93.5 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 21.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.105 | 0.000 | 0.000 | Hitting_2B | 0.096 | 1.000 | -0.096 | -1.000 |
| predicted_3B | 0.053 | 0.000 | 0.000 | Hitting_3B | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_AB | 3.882 | 4.000 | 4.000 | Hitting_AB | 4.040 | 4.000 | -0.040 | 0.000 |
| predicted_AVG | 0.247 | 0.500 | 0.250 | Hitting_AVG | 0.281 | 0.500 | 0.219 | 0.000 |
| predicted_BB | 0.224 | 0.000 | 0.000 | Hitting_BB | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.157 | 1.000 | -0.157 | -1.000 |
| predicted_H | 0.390 | 2.000 | 1.000 | Hitting_H | 1.137 | 2.000 | 0.863 | 0.000 |
| predicted_HR | 0.020 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.296 | 0.500 | 0.250 | Hitting_OBP | 0.319 | 0.500 | 0.181 | 0.000 |
| predicted_R | 0.421 | 1.000 | 0.000 | Hitting_R | 0.482 | 0.000 | 0.518 | 1.000 |
| predicted_RBI | 0.160 | 1.000 | 0.000 | Hitting_RBI | 0.193 | 0.000 | 0.807 | 1.000 |
| predicted_SLG | 0.440 | 0.500 | 0.250 | Hitting_SLG | 0.331 | 0.750 | 0.169 | -0.250 |
| predicted_SO | 0.421 | 0.000 | 0.000 | Hitting_SO | 0.450 | 0.000 | -0.450 | 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.3900 -> 2.0000 (boost 1.6100, better) |
| Biggest Deboost | predicted_SO: 0.4210 -> 0.0000 (deboost -0.4210, 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 | 4 | 2 | 4 | 2 | predicted_H: 0.3900 -> 0.6990 (boost 0.3090, better) | predicted_R: 0.4210 -> 0.3662 (deboost -0.0548, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4155 -> 0.2674 (deboost -0.1481, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_H: 0.7270 -> 1.0000 (boost 0.2730, better) | predicted_SO: 0.3972 -> 0.0000 (deboost -0.3972, better) | AB rounded to 4 (raw=3.88), rates preserved: AVG=0.187 HR/AB=0.004 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3927 -> 0.0000 (deboost -0.3927, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1880 -> 0.2500 (boost 0.0620, better) | predicted_SLG: 0.2674 -> 0.2500 (deboost -0.0174, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_H: 1.0000 -> 2.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.2674 (boost 0.0174, better) | predicted_AVG: 0.2500 -> 0.1880 (deboost -0.0620, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "802415",
"player_name": "Chandler Simpson",
"position": "LF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.105,
"predicted_3B": 0.053,
"predicted_AB": 3.882,
"predicted_AVG": 0.247,
"predicted_BB": 0.224,
"predicted_H": 0.39,
"predicted_HR": 0.02,
"predicted_OBP": 0.296,
"predicted_R": 0.421,
"predicted_RBI": 0.16,
"predicted_SLG": 0.44,
"predicted_SO": 0.421
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1691,
"predicted_3B": 0.0432,
"predicted_AB": 3.8663,
"predicted_AVG": 0.2656,
"predicted_BB": 0.2384,
"predicted_H": 0.699,
"predicted_HBP": 0.003,
"predicted_HR": 0.0166,
"predicted_OBP": 0.3123,
"predicted_R": 0.3662,
"predicted_RBI": 0.1901,
"predicted_SLG": 0.4155,
"predicted_SO": 0.4027
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.1691,
"delta": 0.0641,
"percent_delta": 0.6105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.053,
"after": 0.0432,
"delta": -0.0098,
"percent_delta": -0.1849,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.882,
"after": 3.8663,
"delta": -0.0157,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2656,
"delta": 0.0186,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.224,
"after": 0.2384,
"delta": 0.0144,
"percent_delta": 0.0643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 0.699,
"delta": 0.309,
"percent_delta": 0.7923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0166,
"delta": -0.0034,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.3123,
"delta": 0.0163,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.421,
"after": 0.3662,
"delta": -0.0548,
"percent_delta": -0.1302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.1901,
"delta": 0.0301,
"percent_delta": 0.1881,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4155,
"delta": -0.0245,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.421,
"after": 0.4027,
"delta": -0.0183,
"percent_delta": -0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.39,
"after": 0.699,
"delta": 0.309,
"percent_delta": 0.7923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.421,
"after": 0.3662,
"delta": -0.0548,
"percent_delta": -0.1302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1691,
"predicted_3B": 0.0432,
"predicted_AB": 3.8663,
"predicted_AVG": 0.188,
"predicted_BB": 0.2417,
"predicted_H": 0.727,
"predicted_HBP": 0.003,
"predicted_HR": 0.0171,
"predicted_OBP": 0.2358,
"predicted_R": 0.3927,
"predicted_RBI": 0.2038,
"predicted_SLG": 0.2674,
"predicted_SO": 0.3972
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1691,
"after": 0.1691,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0432,
"after": 0.0432,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8663,
"after": 3.8663,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2656,
"after": 0.188,
"delta": -0.0776,
"percent_delta": -0.2922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2384,
"after": 0.2417,
"delta": 0.0033,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.699,
"after": 0.727,
"delta": 0.028,
"percent_delta": 0.0401,
"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.0166,
"after": 0.0171,
"delta": 0.0005,
"percent_delta": 0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3123,
"after": 0.2358,
"delta": -0.0765,
"percent_delta": -0.245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3662,
"after": 0.3927,
"delta": 0.0265,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1901,
"after": 0.2038,
"delta": 0.0137,
"percent_delta": 0.0721,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4155,
"after": 0.2674,
"delta": -0.1481,
"percent_delta": -0.3564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4027,
"after": 0.3972,
"delta": -0.0055,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4155,
"after": 0.2674,
"delta": -0.1481,
"percent_delta": -0.3564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.88), rates preserved: AVG=0.187 HR/AB=0.004",
"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.1691,
"after": 0.0,
"delta": -0.1691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0432,
"after": 0.0,
"delta": -0.0432,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8663,
"after": 4.0,
"delta": 0.1337,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2417,
"after": 0.0,
"delta": -0.2417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.727,
"after": 1.0,
"delta": 0.273,
"percent_delta": 0.3755,
"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.0171,
"after": 0.0,
"delta": -0.0171,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2038,
"after": 0.0,
"delta": -0.2038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3972,
"after": 0.0,
"delta": -0.3972,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.727,
"after": 1.0,
"delta": 0.273,
"percent_delta": 0.3755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3972,
"after": 0.0,
"delta": -0.3972,
"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": 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.3927,
"after": 0.0,
"delta": -0.3927,
"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.3927,
"after": 0.0,
"delta": -0.3927,
"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.188,
"after": 0.25,
"delta": 0.062,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2358,
"after": 0.25,
"delta": 0.0142,
"percent_delta": 0.0602,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2674,
"after": 0.25,
"delta": -0.0174,
"percent_delta": -0.0651,
"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.188,
"after": 0.25,
"delta": 0.062,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2674,
"after": 0.25,
"delta": -0.0174,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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_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.188,
"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.2358,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2674,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.188,
"delta": -0.062,
"percent_delta": -0.2478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2358,
"delta": -0.0142,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.2674,
"delta": 0.0174,
"percent_delta": 0.0697,
"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.2674,
"delta": 0.0174,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.188,
"delta": -0.062,
"percent_delta": -0.2478,
"direction": "deboost",
"projection_effect": "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.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.882,
"after": 4.0,
"delta": 0.118,
"percent_delta": 0.0304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.188,
"delta": -0.059,
"percent_delta": -0.2389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.224,
"after": 0.0,
"delta": -0.224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 2.0,
"delta": 1.61,
"percent_delta": 4.1282,
"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.296,
"after": 0.2358,
"delta": -0.0602,
"percent_delta": -0.2034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.421,
"after": 1.0,
"delta": 0.579,
"percent_delta": 1.3753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.2674,
"delta": -0.1726,
"percent_delta": -0.3923,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"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.39,
"after": 2.0,
"delta": 1.61,
"percent_delta": 4.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"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.105 | - |
| predicted_3B | 0.053 | - |
| predicted_AB | 3.882 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.224 | - |
| predicted_H | 0.390 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.421 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.421 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | 0.064 |
| predicted_3B | 0.043 | -0.010 |
| predicted_AB | 3.866 | -0.016 |
| predicted_AVG | 0.266 | 0.019 |
| predicted_BB | 0.238 | 0.014 |
| predicted_H | 0.699 | 0.309 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.017 | -0.003 |
| predicted_OBP | 0.312 | 0.016 |
| predicted_R | 0.366 | -0.055 |
| predicted_RBI | 0.190 | 0.030 |
| predicted_SLG | 0.415 | -0.025 |
| predicted_SO | 0.403 | -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.169 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.866 | 0.000 |
| predicted_AVG | 0.188 | -0.078 |
| predicted_BB | 0.242 | 0.003 |
| predicted_H | 0.727 | 0.028 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.017 | 0.001 |
| predicted_OBP | 0.236 | -0.077 |
| predicted_R | 0.393 | 0.026 |
| predicted_RBI | 0.204 | 0.014 |
| predicted_SLG | 0.267 | -0.148 |
| predicted_SO | 0.397 | -0.006 |
AB rounded to 4 (raw=3.88), rates preserved: AVG=0.187 HR/AB=0.004
| 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.169 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 4.000 | 0.134 |
| predicted_AVG | 0.250 | 0.062 |
| predicted_BB | 0.000 | -0.242 |
| predicted_H | 1.000 | 0.273 |
| predicted_HR | 0.000 | -0.017 |
| predicted_OBP | 0.250 | 0.014 |
| predicted_R | 0.000 | -0.393 |
| predicted_RBI | 0.000 | -0.204 |
| predicted_SLG | 0.250 | -0.017 |
| predicted_SO | 0.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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 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 | 3.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.3000 | 0.3333 | 0.4500 | 0.3000 | 0.0000 | 0.0500 | 0.0500 | 0.0500 |
| last_10 | 0.20 | 10 | - | 36.000 | 13.000 | 4.000 | 0.000 | 0.000 | 2.000 | 1.000 | 4.000 | 2.000 | 0.3611 | 0.4250 | 0.4722 | 0.3611 | 0.0000 | 0.0556 | 0.1111 | 0.0556 |
| season | 0.60 | 76 | - | 295.000 | 80.000 | 8.000 | 4.000 | 0.000 | 16.000 | 32.000 | 17.000 | 32.000 | 0.2712 | 0.3089 | 0.3254 | 0.2712 | 0.0000 | 0.0542 | 0.0576 | 0.1085 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2560 |
| predicted_3B | 0.0300 |
| predicted_AB | 3.8450 |
| predicted_AVG | 0.2908 |
| predicted_BB | 0.2580 |
| predicted_H | 1.1180 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0120 |
| predicted_OBP | 0.3343 |
| predicted_R | 0.2920 |
| predicted_RBI | 0.2310 |
| predicted_SLG | 0.3822 |
| predicted_SO | 0.3780 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1050 | 0.2560 | 0.1691 | model_form_blend |
| predicted_3B | 0.0530 | 0.0300 | 0.0432 | model_form_blend |
| predicted_AB | 3.8820 | 3.8450 | 3.8663 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2908 | 0.2656 | model_form_blend |
| predicted_BB | 0.2240 | 0.2580 | 0.2384 | model_form_blend |
| predicted_H | 0.3900 | 1.1180 | 0.6990 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0200 | 0.0120 | 0.0166 | model_form_blend |
| predicted_OBP | 0.2960 | 0.3343 | 0.3123 | model_form_blend |
| predicted_R | 0.4210 | 0.2920 | 0.3662 | model_form_blend |
| predicted_RBI | 0.1600 | 0.2310 | 0.1901 | model_form_blend |
| predicted_SLG | 0.4400 | 0.3822 | 0.4155 | model_form_blend |
| predicted_SO | 0.4210 | 0.3780 | 0.4027 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 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 | 20260701_TB@KC |
| game_type | full |
| mlbID | 802415 |
| playerID | 802415 |
| playerName | Chandler Simpson |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 10.0 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.285 |
| sl_xwoba | 0.259 |
| sl_xba | 0.248 |
| sl_xslg | 0.284 |
| sl_sweet_spot_percent | 24.1 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 14.2 |
| sl_exit_velocity_avg | 84.3 |
| sl_launch_angle_avg | 1.7 |
| sl_whiff_percent | 10.7 |
| sl_swing_percent | 46.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.056 | 0.000 | 0.000 | Hitting_2B | 0.072 | 0.000 | -0.072 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.460 | 4.000 | 4.000 | Hitting_AB | 3.663 | 4.000 | 0.337 | 0.000 |
| predicted_AVG | 0.243 | 0.500 | 0.250 | Hitting_AVG | 0.197 | 0.500 | 0.303 | 0.000 |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_H | 0.840 | 2.000 | 1.000 | Hitting_H | 0.721 | 2.000 | 1.279 | 0.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.091 | 1.000 | 0.909 | 0.000 |
| predicted_OBP | 0.303 | 0.500 | 0.250 | Hitting_OBP | 0.273 | 0.500 | 0.227 | 0.000 |
| predicted_R | 0.408 | 1.000 | 0.000 | Hitting_R | 0.418 | 1.000 | 0.582 | 0.000 |
| predicted_RBI | 0.470 | 2.000 | 1.000 | Hitting_RBI | 0.404 | 2.000 | 1.596 | 0.000 |
| predicted_SLG | 0.507 | 1.250 | 0.250 | Hitting_SLG | 0.302 | 1.250 | 0.948 | 0.000 |
| predicted_SO | 0.789 | 1.000 | 1.000 | Hitting_SO | 0.755 | 2.000 | 0.245 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.4700 -> 2.0000 (boost 1.5300, better) |
| Biggest Deboost | predicted_BB: 0.3240 -> 0.0000 (deboost -0.3240, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 3.4600 -> 3.5236 (boost 0.0636, better) | predicted_SLG: 0.5070 -> 0.4934 (deboost -0.0136, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2492 -> 0.2593 (boost 0.0101, better) | predicted_SLG: 0.4934 -> 0.4555 (deboost -0.0379, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_AB: 3.5236 -> 4.0000 (boost 0.4764, better) | predicted_BB: 0.2866 -> 0.0000 (deboost -0.2866, worse) | AB rounded to 4 (raw=3.52), rates preserved: AVG=0.259 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4949 -> 0.0000 (deboost -0.4949, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4555 -> 0.2500 (deboost -0.2055, 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_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.4555 (boost 0.2055, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656775",
"player_name": "Cedric Mullins",
"position": "CF",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.056,
"predicted_3B": 0.014,
"predicted_AB": 3.46,
"predicted_AVG": 0.243,
"predicted_BB": 0.324,
"predicted_H": 0.84,
"predicted_HR": 0.17,
"predicted_OBP": 0.303,
"predicted_R": 0.408,
"predicted_RBI": 0.47,
"predicted_SLG": 0.507,
"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.0531,
"predicted_3B": 0.0119,
"predicted_AB": 3.5236,
"predicted_AVG": 0.2492,
"predicted_BB": 0.2827,
"predicted_H": 0.8783,
"predicted_HBP": 0.043,
"predicted_HR": 0.1986,
"predicted_OBP": 0.3051,
"predicted_R": 0.4615,
"predicted_RBI": 0.4974,
"predicted_SLG": 0.4934,
"predicted_SO": 0.837
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.056,
"after": 0.0531,
"delta": -0.0029,
"percent_delta": -0.0518,
"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.46,
"after": 3.5236,
"delta": 0.0636,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2492,
"delta": 0.0062,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.2827,
"delta": -0.0413,
"percent_delta": -0.1275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.8783,
"delta": 0.0383,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1986,
"delta": 0.0286,
"percent_delta": 0.1682,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3051,
"delta": 0.0021,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.408,
"after": 0.4615,
"delta": 0.0535,
"percent_delta": 0.1311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4974,
"delta": 0.0274,
"percent_delta": 0.0583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.4934,
"delta": -0.0136,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 0.837,
"delta": 0.048,
"percent_delta": 0.0608,
"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": 3.46,
"after": 3.5236,
"delta": 0.0636,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.4934,
"delta": -0.0136,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.0531,
"predicted_3B": 0.0119,
"predicted_AB": 3.5236,
"predicted_AVG": 0.2593,
"predicted_BB": 0.2866,
"predicted_H": 0.9135,
"predicted_HBP": 0.043,
"predicted_HR": 0.2049,
"predicted_OBP": 0.315,
"predicted_R": 0.4949,
"predicted_RBI": 0.5334,
"predicted_SLG": 0.4555,
"predicted_SO": 0.8255
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0531,
"after": 0.0531,
"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.5236,
"after": 3.5236,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2492,
"after": 0.2593,
"delta": 0.0101,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2827,
"after": 0.2866,
"delta": 0.0039,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8783,
"after": 0.9135,
"delta": 0.0352,
"percent_delta": 0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.043,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1986,
"after": 0.2049,
"delta": 0.0063,
"percent_delta": 0.0317,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3051,
"after": 0.315,
"delta": 0.0099,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4615,
"after": 0.4949,
"delta": 0.0334,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4974,
"after": 0.5334,
"delta": 0.036,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4934,
"after": 0.4555,
"delta": -0.0379,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.837,
"after": 0.8255,
"delta": -0.0115,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_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.2492,
"after": 0.2593,
"delta": 0.0101,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4934,
"after": 0.4555,
"delta": -0.0379,
"percent_delta": -0.0768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.52), rates preserved: AVG=0.259 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.0531,
"after": 0.0,
"delta": -0.0531,
"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.5236,
"after": 4.0,
"delta": 0.4764,
"percent_delta": 0.1352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2866,
"after": 0.0,
"delta": -0.2866,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9135,
"after": 1.0,
"delta": 0.0865,
"percent_delta": 0.0947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2049,
"after": 0.0,
"delta": -0.2049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5334,
"after": 1.0,
"delta": 0.4666,
"percent_delta": 0.8748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8255,
"after": 1.0,
"delta": 0.1745,
"percent_delta": 0.2114,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5236,
"after": 4.0,
"delta": 0.4764,
"percent_delta": 0.1352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2866,
"after": 0.0,
"delta": -0.2866,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4949,
"after": 0.0,
"delta": -0.4949,
"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.4949,
"after": 0.0,
"delta": -0.4949,
"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.2593,
"after": 0.25,
"delta": -0.0093,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.25,
"delta": -0.065,
"percent_delta": -0.2063,
"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.4555,
"after": 0.25,
"delta": -0.2055,
"percent_delta": -0.4512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4555,
"after": 0.25,
"delta": -0.2055,
"percent_delta": -0.4512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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_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.2593,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.315,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4555,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2593,
"delta": 0.0093,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.315,
"delta": 0.065,
"percent_delta": 0.2599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4555,
"delta": 0.2055,
"percent_delta": 0.822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4555,
"delta": 0.2055,
"percent_delta": 0.822,
"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.056,
"after": 0.0,
"delta": -0.056,
"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.46,
"after": 4.0,
"delta": 0.54,
"percent_delta": 0.1561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2593,
"delta": 0.0163,
"percent_delta": 0.0671,
"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": 0.84,
"after": 2.0,
"delta": 1.16,
"percent_delta": 1.381,
"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.303,
"after": 0.315,
"delta": 0.012,
"percent_delta": 0.0396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.408,
"after": 1.0,
"delta": 0.592,
"percent_delta": 1.451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 2.0,
"delta": 1.53,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.4555,
"delta": -0.0515,
"percent_delta": -0.1016,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 1.0,
"delta": 0.211,
"percent_delta": 0.2674,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 8,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.47,
"after": 2.0,
"delta": 1.53,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"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.056 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.460 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.408 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.507 | - |
| 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.053 | -0.003 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.524 | 0.064 |
| predicted_AVG | 0.249 | 0.006 |
| predicted_BB | 0.283 | -0.041 |
| predicted_H | 0.878 | 0.038 |
| predicted_HBP | 0.043 | - |
| predicted_HR | 0.199 | 0.029 |
| predicted_OBP | 0.305 | 0.002 |
| predicted_R | 0.462 | 0.054 |
| predicted_RBI | 0.497 | 0.027 |
| predicted_SLG | 0.493 | -0.014 |
| predicted_SO | 0.837 | 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.053 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.524 | 0.000 |
| predicted_AVG | 0.259 | 0.010 |
| predicted_BB | 0.287 | 0.004 |
| predicted_H | 0.913 | 0.035 |
| predicted_HBP | 0.043 | 0.000 |
| predicted_HR | 0.205 | 0.006 |
| predicted_OBP | 0.315 | 0.010 |
| predicted_R | 0.495 | 0.033 |
| predicted_RBI | 0.533 | 0.036 |
| predicted_SLG | 0.456 | -0.038 |
| predicted_SO | 0.826 | -0.011 |
AB rounded to 4 (raw=3.52), rates preserved: AVG=0.259 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 | 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.053 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.476 |
| predicted_AVG | 0.250 | -0.009 |
| predicted_BB | 0.000 | -0.287 |
| predicted_H | 1.000 | 0.087 |
| predicted_HR | 0.000 | -0.205 |
| predicted_OBP | 0.250 | -0.065 |
| predicted_R | 0.000 | -0.495 |
| predicted_RBI | 1.000 | 0.467 |
| predicted_SLG | 0.250 | -0.206 |
| predicted_SO | 1.000 | 0.174 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.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 | - | 19.000 | 7.000 | 0.000 | 0.000 | 3.000 | 5.000 | 5.000 | 0.000 | 5.000 | 0.3684 | 0.3684 | 0.8421 | 0.3684 | 0.1579 | 0.2632 | 0.0000 | 0.2632 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 0.000 | 0.000 | 3.000 | 6.000 | 5.000 | 1.000 | 12.000 | 0.2895 | 0.3000 | 0.5263 | 0.2895 | 0.0790 | 0.1579 | 0.0263 | 0.3158 |
| season | 0.60 | 71 | - | 245.000 | 52.000 | 4.000 | 1.000 | 9.000 | 27.000 | 29.000 | 23.000 | 56.000 | 0.2122 | 0.2909 | 0.3469 | 0.2122 | 0.0367 | 0.1102 | 0.0939 | 0.2286 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0490 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.6110 |
| predicted_AVG | 0.2578 |
| predicted_BB | 0.2260 |
| predicted_H | 0.9310 |
| predicted_HBP | 0.0430 |
| predicted_HR | 0.2380 |
| predicted_OBP | 0.3080 |
| predicted_R | 0.5350 |
| predicted_RBI | 0.5350 |
| predicted_SLG | 0.4746 |
| predicted_SO | 0.9030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0560 | 0.0490 | 0.0531 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 3.4600 | 3.6110 | 3.5236 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2578 | 0.2492 | model_form_blend |
| predicted_BB | 0.3240 | 0.2260 | 0.2827 | model_form_blend |
| predicted_H | 0.8400 | 0.9310 | 0.8783 | model_form_blend |
| predicted_HBP | - | 0.0430 | 0.0430 | form_only |
| predicted_HR | 0.1700 | 0.2380 | 0.1986 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3080 | 0.3051 | model_form_blend |
| predicted_R | 0.4080 | 0.5350 | 0.4615 | model_form_blend |
| predicted_RBI | 0.4700 | 0.5350 | 0.4974 | model_form_blend |
| predicted_SLG | 0.5070 | 0.4746 | 0.4934 | model_form_blend |
| predicted_SO | 0.7890 | 0.9030 | 0.8370 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 208 |
| Season rows before report date | 208 |
| 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 | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| 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 | 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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | CF |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 656775 |
| playerID | 656775 |
| playerName | Cedric Mullins |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.286 |
| sl_xwoba | 0.268 |
| sl_xba | 0.193 |
| sl_xslg | 0.324 |
| sl_sweet_spot_percent | 29.2 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 31.1 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 28.3 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 49.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.103 | 0.000 | 0.000 | Hitting_2B | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_AB | 2.983 | 4.000 | 3.000 | Hitting_AB | 3.064 | 4.000 | 0.936 | 0.000 |
| predicted_AVG | 0.235 | 0.500 | 0.333 | Hitting_AVG | 0.261 | 0.000 | 0.239 | 0.500 |
| predicted_BB | 0.397 | 0.000 | 0.000 | Hitting_BB | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_H | 0.260 | 2.000 | 1.000 | Hitting_H | 0.800 | 0.000 | 1.200 | 2.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_OBP | 0.260 | 0.500 | 0.333 | Hitting_OBP | 0.365 | 0.000 | 0.135 | 0.500 |
| predicted_R | 0.362 | 1.000 | 0.000 | Hitting_R | 0.400 | 0.000 | 0.600 | 1.000 |
| predicted_RBI | 0.160 | 1.000 | 0.000 | Hitting_RBI | 0.443 | 0.000 | 0.557 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_SLG | 0.377 | 0.500 | 0.333 | Hitting_SLG | 0.329 | 0.000 | 0.171 | 0.500 |
| predicted_SO | 0.655 | 0.000 | 1.000 | Hitting_SO | 0.757 | 1.000 | -0.757 | -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_H: 0.2600 -> 2.0000 (boost 1.7400, 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 | 6 | 3 | 3 | 4 | 2 | predicted_H: 0.2600 -> 0.4190 (boost 0.1590, better) | predicted_SO: 0.6550 -> 0.6002 (deboost -0.0548, better) | Final model input calibrated with local form: 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.3334 -> 0.2220 (deboost -0.1114, 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.5920 -> 1.0000 (boost 0.4080, worse) | predicted_H: 0.4358 -> 0.0000 (deboost -0.4358, worse) | AB rounded to 3 (raw=3.05), rates preserved: AVG=0.143 HR/AB=0.009 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3790 -> 0.0000 (deboost -0.3790, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1428 -> 0.3330 (boost 0.1902, better) | - | 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 -> 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.1428 (deboost -0.1902, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680700",
"player_name": "Richie Palacios",
"position": "2B",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.103,
"predicted_3B": 0.034,
"predicted_AB": 2.983,
"predicted_AVG": 0.235,
"predicted_BB": 0.397,
"predicted_H": 0.26,
"predicted_HR": 0.03,
"predicted_OBP": 0.26,
"predicted_R": 0.362,
"predicted_RBI": 0.16,
"predicted_SLG": 0.377,
"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.0993,
"predicted_3B": 0.0286,
"predicted_AB": 3.051,
"predicted_AVG": 0.2228,
"predicted_BB": 0.3641,
"predicted_H": 0.419,
"predicted_HBP": 0.032,
"predicted_HR": 0.0275,
"predicted_OBP": 0.2692,
"predicted_R": 0.3534,
"predicted_RBI": 0.2049,
"predicted_SLG": 0.3334,
"predicted_SO": 0.6002
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.0993,
"delta": -0.0037,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0286,
"delta": -0.0054,
"percent_delta": -0.1588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.983,
"after": 3.051,
"delta": 0.068,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2228,
"delta": -0.0122,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.3641,
"delta": -0.0329,
"percent_delta": -0.0829,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 0.419,
"delta": 0.159,
"percent_delta": 0.6115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0275,
"delta": -0.0025,
"percent_delta": -0.0833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.26,
"after": 0.2692,
"delta": 0.0092,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.362,
"after": 0.3534,
"delta": -0.0086,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.2049,
"delta": 0.0449,
"percent_delta": 0.2806,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3334,
"delta": -0.0436,
"percent_delta": -0.1156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.655,
"after": 0.6002,
"delta": -0.0548,
"percent_delta": -0.0837,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.26,
"after": 0.419,
"delta": 0.159,
"percent_delta": 0.6115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.655,
"after": 0.6002,
"delta": -0.0548,
"percent_delta": -0.0837,
"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": 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.0993,
"predicted_3B": 0.0286,
"predicted_AB": 3.051,
"predicted_AVG": 0.1428,
"predicted_BB": 0.3691,
"predicted_H": 0.4358,
"predicted_HBP": 0.032,
"predicted_HR": 0.0284,
"predicted_OBP": 0.2353,
"predicted_R": 0.379,
"predicted_RBI": 0.2197,
"predicted_SLG": 0.222,
"predicted_SO": 0.592
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0993,
"after": 0.0993,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0286,
"after": 0.0286,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.051,
"after": 3.051,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2228,
"after": 0.1428,
"delta": -0.08,
"percent_delta": -0.3591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3641,
"after": 0.3691,
"delta": 0.005,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.419,
"after": 0.4358,
"delta": 0.0168,
"percent_delta": 0.0401,
"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.0275,
"after": 0.0284,
"delta": 0.0009,
"percent_delta": 0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2692,
"after": 0.2353,
"delta": -0.0339,
"percent_delta": -0.1259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3534,
"after": 0.379,
"delta": 0.0256,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2049,
"after": 0.2197,
"delta": 0.0148,
"percent_delta": 0.0722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3334,
"after": 0.222,
"delta": -0.1114,
"percent_delta": -0.3341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6002,
"after": 0.592,
"delta": -0.0082,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3334,
"after": 0.222,
"delta": -0.1114,
"percent_delta": -0.3341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.05), rates preserved: AVG=0.143 HR/AB=0.009",
"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.0993,
"after": 0.0,
"delta": -0.0993,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0286,
"after": 0.0,
"delta": -0.0286,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.051,
"after": 3.0,
"delta": -0.051,
"percent_delta": -0.0167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3691,
"after": 0.0,
"delta": -0.3691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4358,
"after": 0.0,
"delta": -0.4358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0284,
"after": 0.0,
"delta": -0.0284,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2197,
"after": 0.0,
"delta": -0.2197,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"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.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4358,
"after": 0.0,
"delta": -0.4358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.379,
"after": 0.0,
"delta": -0.379,
"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.379,
"after": 0.0,
"delta": -0.379,
"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.1428,
"after": 0.333,
"delta": 0.1902,
"percent_delta": 1.3319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2353,
"after": 0.333,
"delta": 0.0977,
"percent_delta": 0.4152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.222,
"after": 0.333,
"delta": 0.111,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1428,
"after": 0.333,
"delta": 0.1902,
"percent_delta": 1.3319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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.1428,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2353,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.222,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1428,
"delta": -0.1902,
"percent_delta": -0.5711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2353,
"delta": -0.0977,
"percent_delta": -0.2933,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.222,
"delta": -0.111,
"percent_delta": -0.3333,
"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.1428,
"delta": -0.1902,
"percent_delta": -0.5711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.983,
"after": 4.0,
"delta": 1.017,
"percent_delta": 0.3409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.1428,
"delta": -0.0922,
"percent_delta": -0.3923,
"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.26,
"after": 2.0,
"delta": 1.74,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.26,
"after": 0.2353,
"delta": -0.0247,
"percent_delta": -0.095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.222,
"delta": -0.155,
"percent_delta": -0.4111,
"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": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.26,
"after": 2.0,
"delta": 1.74,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.655,
"after": 0.0,
"delta": -0.655,
"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.103 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 2.983 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.397 | - |
| predicted_H | 0.260 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.260 | - |
| predicted_R | 0.362 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.377 | - |
| 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.099 | -0.004 |
| predicted_3B | 0.029 | -0.005 |
| predicted_AB | 3.051 | 0.068 |
| predicted_AVG | 0.223 | -0.012 |
| predicted_BB | 0.364 | -0.033 |
| predicted_H | 0.419 | 0.159 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.028 | -0.002 |
| predicted_OBP | 0.269 | 0.009 |
| predicted_R | 0.353 | -0.009 |
| predicted_RBI | 0.205 | 0.045 |
| predicted_SLG | 0.333 | -0.044 |
| predicted_SO | 0.600 | -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.099 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 3.051 | 0.000 |
| predicted_AVG | 0.143 | -0.080 |
| predicted_BB | 0.369 | 0.005 |
| predicted_H | 0.436 | 0.017 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.028 | 0.001 |
| predicted_OBP | 0.235 | -0.034 |
| predicted_R | 0.379 | 0.026 |
| predicted_RBI | 0.220 | 0.015 |
| predicted_SLG | 0.222 | -0.111 |
| predicted_SO | 0.592 | -0.008 |
AB rounded to 3 (raw=3.05), rates preserved: AVG=0.143 HR/AB=0.009
| 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.099 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 3.000 | -0.051 |
| predicted_AVG | 0.333 | 0.190 |
| predicted_BB | 0.000 | -0.369 |
| predicted_H | 1.000 | 0.564 |
| predicted_HR | 0.000 | -0.028 |
| predicted_OBP | 0.333 | 0.098 |
| predicted_R | 0.000 | -0.379 |
| predicted_RBI | 0.000 | -0.220 |
| predicted_SLG | 0.333 | 0.111 |
| predicted_SO | 1.000 | 0.408 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 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 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.1250 | 0.1765 | 0.1250 | 0.1250 | 0.0000 | 0.0000 | 0.0625 | 0.0625 |
| last_10 | 0.20 | 10 | - | 31.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 2.000 | 0.1935 | 0.2424 | 0.2258 | 0.1935 | 0.0000 | 0.0323 | 0.0645 | 0.0645 |
| season | 0.60 | 58 | - | 173.000 | 39.000 | 6.000 | 2.000 | 1.000 | 21.000 | 21.000 | 23.000 | 38.000 | 0.2254 | 0.3250 | 0.3006 | 0.2254 | 0.0058 | 0.1214 | 0.1330 | 0.2197 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.1480 |
| predicted_AVG | 0.2053 |
| predicted_BB | 0.3170 |
| predicted_H | 0.6460 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.0240 |
| predicted_OBP | 0.2823 |
| predicted_R | 0.3410 |
| predicted_RBI | 0.2690 |
| predicted_SLG | 0.2711 |
| predicted_SO | 0.5220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1030 | 0.0940 | 0.0993 | model_form_blend |
| predicted_3B | 0.0340 | 0.0210 | 0.0286 | model_form_blend |
| predicted_AB | 2.9830 | 3.1480 | 3.0510 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2053 | 0.2228 | model_form_blend |
| predicted_BB | 0.3970 | 0.3170 | 0.3641 | model_form_blend |
| predicted_H | 0.2600 | 0.6460 | 0.4190 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.0300 | 0.0240 | 0.0275 | model_form_blend |
| predicted_OBP | 0.2600 | 0.2823 | 0.2692 | model_form_blend |
| predicted_R | 0.3620 | 0.3410 | 0.3534 | model_form_blend |
| predicted_RBI | 0.1600 | 0.2690 | 0.2049 | model_form_blend |
| predicted_SLG | 0.3770 | 0.2711 | 0.3334 | model_form_blend |
| predicted_SO | 0.6550 | 0.5220 | 0.6002 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 140 |
| Season rows before report date | 140 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.225 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 680700 |
| playerID | 680700 |
| playerName | Richie Palacios |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.289 |
| sl_xwoba | 0.299 |
| sl_xba | 0.237 |
| sl_xslg | 0.314 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 25.7 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 45.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.161 | 0.000 | 0.000 | Hitting_2B | 0.151 | 1.000 | -0.151 | -1.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_AB | 3.145 | 4.000 | 3.000 | Hitting_AB | 3.233 | 4.000 | 0.767 | 0.000 |
| predicted_AVG | 0.258 | 0.000 | 0.333 | Hitting_AVG | 0.210 | 0.750 | -0.210 | -0.750 |
| predicted_BB | 0.452 | 0.000 | 0.000 | Hitting_BB | 0.448 | 0.000 | -0.448 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 1.000 | -0.052 | -1.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.680 | 3.000 | -0.680 | -3.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.336 | 0.000 | 0.333 | Hitting_OBP | 0.311 | 0.750 | -0.311 | -0.750 |
| predicted_R | 0.484 | 0.000 | 1.000 | Hitting_R | 0.512 | 0.000 | -0.512 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.343 | 0.000 | -0.343 | 0.000 |
| predicted_SLG | 0.431 | 0.000 | 0.333 | Hitting_SLG | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_SO | 0.903 | 2.000 | 1.000 | Hitting_SO | 0.988 | 1.000 | 1.012 | 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.9030 -> 2.0000 (boost 1.0970, worse) |
| Biggest Deboost | predicted_H: 0.7500 -> 0.0000 (deboost -0.7500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3360 -> 0.3434 (boost 0.0074, better) | predicted_SLG: 0.4310 -> 0.3980 (deboost -0.0330, worse) | Final model input calibrated with local 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.3434 -> 0.3515 (boost 0.0081, better) | predicted_SLG: 0.3980 -> 0.3659 (deboost -0.0321, 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.8225 -> 1.0000 (boost 0.1775, better) | predicted_BB: 0.4582 -> 0.0000 (deboost -0.4582, worse) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.258 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5390 -> 1.0000 (boost 0.4610, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2583 -> 0.3330 (boost 0.0747, better) | predicted_SLG: 0.3659 -> 0.3330 (deboost -0.0329, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3659 (boost 0.0329, better) | predicted_AVG: 0.3330 -> 0.2583 (deboost -0.0747, 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.161,
"predicted_3B": 0.032,
"predicted_AB": 3.145,
"predicted_AVG": 0.258,
"predicted_BB": 0.452,
"predicted_H": 0.75,
"predicted_HR": 0.05,
"predicted_OBP": 0.336,
"predicted_R": 0.484,
"predicted_RBI": 0.3,
"predicted_SLG": 0.431,
"predicted_SO": 0.903
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1826,
"predicted_3B": 0.0266,
"predicted_AB": 3.1849,
"predicted_AVG": 0.2595,
"predicted_BB": 0.452,
"predicted_H": 0.7908,
"predicted_HBP": 0.021,
"predicted_HR": 0.0346,
"predicted_OBP": 0.3434,
"predicted_R": 0.5027,
"predicted_RBI": 0.2871,
"predicted_SLG": 0.398,
"predicted_SO": 0.8573
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.1826,
"delta": 0.0216,
"percent_delta": 0.1342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0266,
"delta": -0.0054,
"percent_delta": -0.1688,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.145,
"after": 3.1849,
"delta": 0.0399,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2595,
"delta": 0.0015,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 0.452,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7908,
"delta": 0.0408,
"percent_delta": 0.0544,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0346,
"delta": -0.0154,
"percent_delta": -0.308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3434,
"delta": 0.0074,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.5027,
"delta": 0.0187,
"percent_delta": 0.0386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.2871,
"delta": -0.0129,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.398,
"delta": -0.033,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 0.8573,
"delta": -0.0457,
"percent_delta": -0.0506,
"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.336,
"after": 0.3434,
"delta": 0.0074,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.398,
"delta": -0.033,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.1826,
"predicted_3B": 0.0266,
"predicted_AB": 3.1849,
"predicted_AVG": 0.2583,
"predicted_BB": 0.4582,
"predicted_H": 0.8225,
"predicted_HBP": 0.021,
"predicted_HR": 0.0357,
"predicted_OBP": 0.3515,
"predicted_R": 0.539,
"predicted_RBI": 0.3079,
"predicted_SLG": 0.3659,
"predicted_SO": 0.8456
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1826,
"after": 0.1826,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0266,
"after": 0.0266,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1849,
"after": 3.1849,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2595,
"after": 0.2583,
"delta": -0.0012,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 0.4582,
"delta": 0.0062,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7908,
"after": 0.8225,
"delta": 0.0317,
"percent_delta": 0.0401,
"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.0346,
"after": 0.0357,
"delta": 0.0011,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3434,
"after": 0.3515,
"delta": 0.0081,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5027,
"after": 0.539,
"delta": 0.0363,
"percent_delta": 0.0722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2871,
"after": 0.3079,
"delta": 0.0208,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3659,
"delta": -0.0321,
"percent_delta": -0.0807,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8573,
"after": 0.8456,
"delta": -0.0117,
"percent_delta": -0.0136,
"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.3434,
"after": 0.3515,
"delta": 0.0081,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.398,
"after": 0.3659,
"delta": -0.0321,
"percent_delta": -0.0807,
"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.258 HR/AB=0.011",
"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.1826,
"after": 0.0,
"delta": -0.1826,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0266,
"after": 0.0,
"delta": -0.0266,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1849,
"after": 3.0,
"delta": -0.1849,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4582,
"after": 0.0,
"delta": -0.4582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8225,
"after": 1.0,
"delta": 0.1775,
"percent_delta": 0.2158,
"direction": "boost",
"projection_effect": "better",
"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.0357,
"after": 0.0,
"delta": -0.0357,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3079,
"after": 0.0,
"delta": -0.3079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8456,
"after": 1.0,
"delta": 0.1544,
"percent_delta": 0.1826,
"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.8225,
"after": 1.0,
"delta": 0.1775,
"percent_delta": 0.2158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4582,
"after": 0.0,
"delta": -0.4582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.539,
"after": 1.0,
"delta": 0.461,
"percent_delta": 0.8553,
"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.539,
"after": 1.0,
"delta": 0.461,
"percent_delta": 0.8553,
"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.2583,
"after": 0.333,
"delta": 0.0747,
"percent_delta": 0.2892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.333,
"delta": -0.0185,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3659,
"after": 0.333,
"delta": -0.0329,
"percent_delta": -0.0899,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2583,
"after": 0.333,
"delta": 0.0747,
"percent_delta": 0.2892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3659,
"after": 0.333,
"delta": -0.0329,
"percent_delta": -0.0899,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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": 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_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.2583,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3515,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3659,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2583,
"delta": -0.0747,
"percent_delta": -0.2245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3515,
"delta": 0.0185,
"percent_delta": 0.0557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3659,
"delta": 0.0329,
"percent_delta": 0.0988,
"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.333,
"after": 0.3659,
"delta": 0.0329,
"percent_delta": 0.0988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2583,
"delta": -0.0747,
"percent_delta": -0.2245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.0,
"delta": -0.161,
"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.145,
"after": 4.0,
"delta": 0.855,
"percent_delta": 0.2719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2583,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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.336,
"after": 0.3515,
"delta": 0.0155,
"percent_delta": 0.0461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.0,
"delta": -0.484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.3659,
"delta": -0.0651,
"percent_delta": -0.151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 2.0,
"delta": 1.097,
"percent_delta": 1.2148,
"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.903,
"after": 2.0,
"delta": 1.097,
"percent_delta": 1.2148,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.161 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.145 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.452 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.484 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.903 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.022 |
| predicted_3B | 0.027 | -0.005 |
| predicted_AB | 3.185 | 0.040 |
| predicted_AVG | 0.260 | 0.002 |
| predicted_BB | 0.452 | 0.000 |
| predicted_H | 0.791 | 0.041 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.035 | -0.015 |
| predicted_OBP | 0.343 | 0.007 |
| predicted_R | 0.503 | 0.019 |
| predicted_RBI | 0.287 | -0.013 |
| predicted_SLG | 0.398 | -0.033 |
| predicted_SO | 0.857 | -0.046 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.183 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 3.185 | 0.000 |
| predicted_AVG | 0.258 | -0.001 |
| predicted_BB | 0.458 | 0.006 |
| predicted_H | 0.823 | 0.032 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.036 | 0.001 |
| predicted_OBP | 0.351 | 0.008 |
| predicted_R | 0.539 | 0.036 |
| predicted_RBI | 0.308 | 0.021 |
| predicted_SLG | 0.366 | -0.032 |
| predicted_SO | 0.846 | -0.012 |
AB rounded to 3 (raw=3.18), rates preserved: AVG=0.258 HR/AB=0.011
| 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.183 |
| predicted_3B | 0.000 | -0.027 |
| predicted_AB | 3.000 | -0.185 |
| predicted_AVG | 0.333 | 0.075 |
| predicted_BB | 0.000 | -0.458 |
| predicted_H | 1.000 | 0.177 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.333 | -0.018 |
| predicted_R | 1.000 | 0.461 |
| predicted_RBI | 0.000 | -0.308 |
| predicted_SLG | 0.333 | -0.033 |
| predicted_SO | 1.000 | 0.154 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 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 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 0.3125 | 0.3889 | 0.3750 | 0.3125 | 0.0000 | 0.0625 | 0.1250 | 0.1250 |
| last_10 | 0.20 | 10 | - | 32.000 | 10.000 | 4.000 | 0.000 | 0.000 | 1.000 | 8.000 | 6.000 | 8.000 | 0.3125 | 0.4211 | 0.4375 | 0.3125 | 0.0000 | 0.0312 | 0.1875 | 0.2500 |
| season | 0.60 | 62 | - | 195.000 | 45.000 | 10.000 | 2.000 | 0.000 | 19.000 | 30.000 | 28.000 | 56.000 | 0.2308 | 0.3304 | 0.3026 | 0.2308 | 0.0000 | 0.0974 | 0.1436 | 0.2872 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2130 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.2410 |
| predicted_AVG | 0.2616 |
| predicted_BB | 0.4520 |
| predicted_H | 0.8480 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0130 |
| predicted_OBP | 0.3539 |
| predicted_R | 0.5290 |
| predicted_RBI | 0.2690 |
| predicted_SLG | 0.3516 |
| predicted_SO | 0.7930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.2130 | 0.1826 | model_form_blend |
| predicted_3B | 0.0320 | 0.0190 | 0.0266 | model_form_blend |
| predicted_AB | 3.1450 | 3.2410 | 3.1849 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2616 | 0.2595 | model_form_blend |
| predicted_BB | 0.4520 | 0.4520 | 0.4520 | model_form_blend |
| predicted_H | 0.7500 | 0.8480 | 0.7908 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.0500 | 0.0130 | 0.0346 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3539 | 0.3434 | model_form_blend |
| predicted_R | 0.4840 | 0.5290 | 0.5027 | model_form_blend |
| predicted_RBI | 0.3000 | 0.2690 | 0.2871 | model_form_blend |
| predicted_SLG | 0.4310 | 0.3516 | 0.3980 | model_form_blend |
| predicted_SO | 0.9030 | 0.7930 | 0.8573 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.231 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| 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 | 20260701_TB@KC |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.292 |
| sl_xwoba | 0.265 |
| sl_xba | 0.194 |
| sl_xslg | 0.269 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 21.9 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 21.5 |
| sl_whiff_percent | 21.6 |
| 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.099 | 0.000 | 0.000 | Hitting_2B | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.556 | 2.000 | 0.444 | 1.000 |
| predicted_AVG | 0.248 | 0.000 | 0.333 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.223 | 1.000 | 0.000 | Hitting_BB | 0.244 | 0.000 | 0.756 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.210 | 0.000 | 1.000 | Hitting_H | 0.589 | 0.000 | -0.589 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_OBP | 0.248 | 0.250 | 0.333 | Hitting_OBP | 0.302 | 0.000 | -0.052 | 0.250 |
| predicted_R | 0.297 | 0.000 | 0.000 | Hitting_R | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.189 | 0.000 | -0.189 | 0.000 |
| predicted_SLG | 0.379 | 0.000 | 0.333 | Hitting_SLG | 0.274 | 0.000 | -0.274 | 0.000 |
| predicted_SO | 0.891 | 1.000 | 1.000 | Hitting_SO | 0.967 | 1.000 | 0.033 | 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_BB: 0.2230 -> 1.0000 (boost 0.7770, better) |
| Biggest Deboost | predicted_R: 0.2970 -> 0.0000 (deboost -0.2970, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 2 | 3 | predicted_AB: 2.5000 -> 2.6751 (boost 0.1751, better) | predicted_SLG: 0.3790 -> 0.3372 (deboost -0.0418, worse) | Final model input calibrated with local form: 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.3372 -> 0.2137 (deboost -0.1235, 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_AB: 2.6751 -> 3.0000 (boost 0.3249, better) | predicted_H: 0.3541 -> 0.0000 (deboost -0.3541, worse) | AB rounded to 3 (raw=2.68), rates preserved: AVG=0.132 HR/AB=0.012 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3347 -> 0.0000 (deboost -0.3347, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1324 -> 0.3330 (boost 0.2006, 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.1324 (deboost -0.2006, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676439",
"player_name": "Hunter Feduccia",
"position": "C",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.099,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.248,
"predicted_BB": 0.223,
"predicted_H": 0.21,
"predicted_HR": 0.03,
"predicted_OBP": 0.248,
"predicted_R": 0.297,
"predicted_RBI": 0.14,
"predicted_SLG": 0.379,
"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.1161,
"predicted_3B": 0.0008,
"predicted_AB": 2.6751,
"predicted_AVG": 0.2235,
"predicted_BB": 0.2075,
"predicted_H": 0.3404,
"predicted_HBP": 0.019,
"predicted_HR": 0.0323,
"predicted_OBP": 0.2424,
"predicted_R": 0.3121,
"predicted_RBI": 0.1769,
"predicted_SLG": 0.3372,
"predicted_SO": 0.9166
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.1161,
"delta": 0.0171,
"percent_delta": 0.1727,
"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.5,
"after": 2.6751,
"delta": 0.1751,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2235,
"delta": -0.0245,
"percent_delta": -0.0988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.223,
"after": 0.2075,
"delta": -0.0155,
"percent_delta": -0.0695,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 0.3404,
"delta": 0.1304,
"percent_delta": 0.621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0323,
"delta": 0.0023,
"percent_delta": 0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.2424,
"delta": -0.0056,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.297,
"after": 0.3121,
"delta": 0.0151,
"percent_delta": 0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.1769,
"delta": 0.0369,
"percent_delta": 0.2636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3372,
"delta": -0.0418,
"percent_delta": -0.1103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.891,
"after": 0.9166,
"delta": 0.0256,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6751,
"delta": 0.1751,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3372,
"delta": -0.0418,
"percent_delta": -0.1103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1161,
"predicted_3B": 0.0008,
"predicted_AB": 2.6751,
"predicted_AVG": 0.1324,
"predicted_BB": 0.2103,
"predicted_H": 0.3541,
"predicted_HBP": 0.019,
"predicted_HR": 0.0333,
"predicted_OBP": 0.1956,
"predicted_R": 0.3347,
"predicted_RBI": 0.1897,
"predicted_SLG": 0.2137,
"predicted_SO": 0.904
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1161,
"after": 0.1161,
"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.6751,
"after": 2.6751,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2235,
"after": 0.1324,
"delta": -0.0911,
"percent_delta": -0.4076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2075,
"after": 0.2103,
"delta": 0.0028,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3404,
"after": 0.3541,
"delta": 0.0137,
"percent_delta": 0.0402,
"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.0323,
"after": 0.0333,
"delta": 0.001,
"percent_delta": 0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2424,
"after": 0.1956,
"delta": -0.0468,
"percent_delta": -0.1931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3121,
"after": 0.3347,
"delta": 0.0226,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1769,
"after": 0.1897,
"delta": 0.0128,
"percent_delta": 0.0724,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3372,
"after": 0.2137,
"delta": -0.1235,
"percent_delta": -0.3663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9166,
"after": 0.904,
"delta": -0.0126,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3372,
"after": 0.2137,
"delta": -0.1235,
"percent_delta": -0.3663,
"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.132 HR/AB=0.012",
"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.1161,
"after": 0.0,
"delta": -0.1161,
"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.6751,
"after": 3.0,
"delta": 0.3249,
"percent_delta": 0.1215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2103,
"after": 0.0,
"delta": -0.2103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3541,
"after": 0.0,
"delta": -0.3541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0333,
"after": 0.0,
"delta": -0.0333,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1897,
"after": 0.0,
"delta": -0.1897,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.904,
"after": 1.0,
"delta": 0.096,
"percent_delta": 0.1062,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6751,
"after": 3.0,
"delta": 0.3249,
"percent_delta": 0.1215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3541,
"after": 0.0,
"delta": -0.3541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3347,
"after": 0.0,
"delta": -0.3347,
"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.3347,
"after": 0.0,
"delta": -0.3347,
"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.1324,
"after": 0.333,
"delta": 0.2006,
"percent_delta": 1.5151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1956,
"after": 0.333,
"delta": 0.1374,
"percent_delta": 0.7025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2137,
"after": 0.333,
"delta": 0.1193,
"percent_delta": 0.5583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1324,
"after": 0.333,
"delta": 0.2006,
"percent_delta": 1.5151,
"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.1324,
"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.1956,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2137,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1324,
"delta": -0.2006,
"percent_delta": -0.6026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1956,
"delta": -0.1374,
"percent_delta": -0.4126,
"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.2137,
"delta": -0.1193,
"percent_delta": -0.3582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1324,
"delta": -0.2006,
"percent_delta": -0.6026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.1324,
"delta": -0.1156,
"percent_delta": -0.4661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.223,
"after": 1.0,
"delta": 0.777,
"percent_delta": 3.4843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.248,
"after": 0.1956,
"delta": -0.0524,
"percent_delta": -0.2113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.297,
"after": 0.0,
"delta": -0.297,
"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.379,
"after": 0.2137,
"delta": -0.1653,
"percent_delta": -0.4361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.891,
"after": 1.0,
"delta": 0.109,
"percent_delta": 0.1223,
"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.223,
"after": 1.0,
"delta": 0.777,
"percent_delta": 3.4843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.297,
"after": 0.0,
"delta": -0.297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.099 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.223 | - |
| predicted_H | 0.210 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.248 | - |
| predicted_R | 0.297 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.379 | - |
| 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.116 | 0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.675 | 0.175 |
| predicted_AVG | 0.224 | -0.024 |
| predicted_BB | 0.207 | -0.016 |
| predicted_H | 0.340 | 0.130 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.032 | 0.002 |
| predicted_OBP | 0.242 | -0.006 |
| predicted_R | 0.312 | 0.015 |
| predicted_RBI | 0.177 | 0.037 |
| predicted_SLG | 0.337 | -0.042 |
| predicted_SO | 0.917 | 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.116 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.675 | 0.000 |
| predicted_AVG | 0.132 | -0.091 |
| predicted_BB | 0.210 | 0.003 |
| predicted_H | 0.354 | 0.014 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.033 | 0.001 |
| predicted_OBP | 0.196 | -0.047 |
| predicted_R | 0.335 | 0.023 |
| predicted_RBI | 0.190 | 0.013 |
| predicted_SLG | 0.214 | -0.123 |
| predicted_SO | 0.904 | -0.013 |
AB rounded to 3 (raw=2.68), rates preserved: AVG=0.132 HR/AB=0.012
| 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.116 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.325 |
| predicted_AVG | 0.333 | 0.201 |
| predicted_BB | 0.000 | -0.210 |
| predicted_H | 1.000 | 0.646 |
| predicted_HR | 0.000 | -0.033 |
| predicted_OBP | 0.333 | 0.137 |
| predicted_R | 0.000 | -0.335 |
| predicted_RBI | 0.000 | -0.190 |
| predicted_SLG | 0.333 | 0.119 |
| predicted_SO | 1.000 | 0.096 |
Attached 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 | - | 16.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 6.000 | 0.0625 | 0.0625 | 0.1250 | 0.0625 | 0.0000 | 0.0625 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 10 | - | 32.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 4.000 | 1.000 | 10.000 | 0.1250 | 0.1515 | 0.1875 | 0.1250 | 0.0000 | 0.0625 | 0.0312 | 0.3125 |
| season | 0.60 | 42 | - | 101.000 | 22.000 | 4.000 | 0.000 | 1.000 | 7.000 | 12.000 | 9.000 | 36.000 | 0.2178 | 0.2857 | 0.2871 | 0.2178 | 0.0099 | 0.0693 | 0.0891 | 0.3564 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1430 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9510 |
| predicted_AVG | 0.1850 |
| predicted_BB | 0.1830 |
| predicted_H | 0.5460 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0360 |
| predicted_OBP | 0.2336 |
| predicted_R | 0.3360 |
| predicted_RBI | 0.2350 |
| predicted_SLG | 0.2714 |
| predicted_SO | 0.9570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0990 | 0.1430 | 0.1161 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.9510 | 2.6751 | model_form_blend |
| predicted_AVG | 0.2480 | 0.1850 | 0.2235 | model_form_blend |
| predicted_BB | 0.2230 | 0.1830 | 0.2075 | model_form_blend |
| predicted_H | 0.2100 | 0.5460 | 0.3404 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0300 | 0.0360 | 0.0323 | model_form_blend |
| predicted_OBP | 0.2480 | 0.2336 | 0.2424 | model_form_blend |
| predicted_R | 0.2970 | 0.3360 | 0.3121 | model_form_blend |
| predicted_RBI | 0.1400 | 0.2350 | 0.1769 | model_form_blend |
| predicted_SLG | 0.3790 | 0.2714 | 0.3372 | model_form_blend |
| predicted_SO | 0.8910 | 0.9570 | 0.9166 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 42 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| 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 | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 676439 |
| playerID | 676439 |
| playerName | Hunter Feduccia |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 31.0 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.269 |
| sl_xwoba | 0.307 |
| sl_xba | 0.228 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 37.3 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 45.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.667 | 1.000 | 1.333 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.800 | 0.000 | 1.200 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 1.233 | 0.000 | 3.767 | 5.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 1.503 | 6.200 | 3.597 | -1.100 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 1.733 | 7.000 | 2.267 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.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: 5.6667 -> 5.1000 (deboost -0.5667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | pitcher_quality_guardrail | 1 | 0 | 1 | 1 | 0 | - | 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. |
| 4 | 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": "693855",
"player_name": "Ian Seymour",
"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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 2.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": "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": 2.0,
"predicted_IP": 5.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.1,
"delta": -0.5667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.1,
"delta": -0.5667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 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": 1,
"worse_metrics": 0,
"biggest_boost": null,
"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": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 5.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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.1,
"delta": -0.5667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.1,
"delta": -0.5667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.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 | 2.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 5.100 | -0.567 |
| 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 | 2.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | -1.000 |
| predicted_IP | 5.100 | 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 | 21.000 | 9.000 | 12.000 | 8.000 | 20.000 | 4.000 | 3.8571 | 0.9524 | 0.4286 | 0.5714 | 0.3810 | 0.9524 | 0.1905 |
| last_10 | 0.35 | 10 | 28.000 | 11.000 | 16.000 | 12.000 | 26.000 | 4.000 | 3.5357 | 1.0000 | 0.3929 | 0.5714 | 0.4286 | 0.9286 | 0.1429 |
| season | 0.20 | 29 | 50.000 | 19.000 | 32.000 | 20.000 | 52.000 | 7.000 | 3.4200 | 1.0400 | 0.3800 | 0.6400 | 0.4000 | 1.0400 | 0.1400 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5620 |
| predicted_ER | 1.7650 |
| predicted_ERA | 3.9326 |
| predicted_H | 2.8780 |
| predicted_HR | 0.6380 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.8720 |
| predicted_WHIP | 1.0993 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.5620 | 1.7773 | model_form_blend |
| predicted_ER | 2.0000 | 1.7650 | 1.8805 | model_form_blend |
| predicted_ERA | - | 3.9326 | 3.9326 | form_only |
| predicted_H | 5.0000 | 2.8780 | 3.9213 | model_form_blend |
| predicted_HR | 2.0000 | 0.6380 | 1.3076 | model_form_blend |
| predicted_IP | 5.2000 | 4.0000 | 4.2000 | model_form_blend |
| predicted_SO | 4.0000 | 3.8720 | 3.9349 | model_form_blend |
| predicted_WHIP | - | 1.0993 | 1.0993 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 5.1 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 4 |
| HR | 2 |
| BF | 24 |
| Pitches | 99 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | 21 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.32 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.2 |
| Pitching_Pitches | 90 |
| Pitching_R | 0 |
| Pitching_SO | 7 |
| Pitching_Strikes | 67 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260625_KC@TB |
| game_type | full |
| mlbID | 693855 |
| playerID | 693855 |
| playerName | Ian Seymour |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-25 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.291 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 35.6 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 76.559434688 |
| sl_avg_hyper_speed | 93.249660551 |
| 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.324 | 0.000 | -0.324 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.206 | 0.000 | -0.206 | 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 | 0.924 | 1.000 | 0.176 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.029 | 0.000 | -0.029 | 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": "641329",
"player_name": "Bryan Baker",
"position": "Middle Reliever",
"team": "TB",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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 | 1.000 | 0.000 | 5.000 | 1.000 | 1.8000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 4.000 | 2.000 | 9.000 | 1.000 | 0.9000 | 0.6000 | 0.1000 | 0.4000 | 0.2000 | 0.9000 | 0.1000 |
| season | 0.20 | 34 | 32.100 | 7.000 | 17.000 | 11.000 | 35.000 | 2.000 | 1.9485 | 0.8660 | 0.2165 | 0.5258 | 0.3402 | 1.0825 | 0.0619 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2340 |
| predicted_ER | 0.3130 |
| predicted_ERA | 2.8135 |
| predicted_H | 0.6110 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9690 |
| predicted_WHIP | 0.8455 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2340 | 0.1088 | model_form_blend |
| predicted_ER | 0.0000 | 0.3130 | 0.1455 | model_form_blend |
| predicted_ERA | - | 2.8135 | 2.8135 | form_only |
| predicted_H | 0.0000 | 0.6110 | 0.2840 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0660 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9690 | 0.9856 | model_form_blend |
| predicted_WHIP | - | 0.8455 | 0.8455 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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.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.95 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260627_ARI@TB |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-27 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.223 |
| sl_xwoba | 0.254 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 32.9 |
| sl_whiff_percent | 31.6 |
| sl_swing_percent | 51.8 |
| sl_avg_best_speed | 75.242722 |
| sl_avg_hyper_speed | 93.05138 |
| 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.423 | 1.000 | 0.577 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.423 | 0.000 | -0.423 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.731 | 1.000 | -0.731 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.804 | 0.200 | 0.196 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.192 | 1.000 | -0.192 | 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": "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": 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 | 1.000 | 6.000 | 1.000 | 1.9286 | 1.0714 | 0.2143 | 0.8571 | 0.2143 | 1.2857 | 0.2143 |
| last_10 | 0.35 | 10 | 8.200 | 4.000 | 7.000 | 3.000 | 11.000 | 2.000 | 4.1538 | 1.1538 | 0.4615 | 0.8077 | 0.3462 | 1.2692 | 0.2308 |
| season | 0.20 | 26 | 23.000 | 11.000 | 19.000 | 11.000 | 31.000 | 3.000 | 4.3043 | 1.3043 | 0.4783 | 0.8261 | 0.4783 | 1.3478 | 0.1304 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3360 |
| predicted_ER | 0.4290 |
| predicted_ERA | 3.8604 |
| predicted_H | 0.9020 |
| predicted_HR | 0.1740 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1150 |
| predicted_WHIP | 1.2389 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3360 | 0.7151 | model_form_blend |
| predicted_ER | 0.0000 | 0.4290 | 0.1841 | model_form_blend |
| predicted_ERA | - | 3.8604 | 3.8604 | form_only |
| predicted_H | 0.0000 | 0.9020 | 0.3870 | model_form_blend |
| predicted_HR | 0.0000 | 0.1740 | 0.0747 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1150 | 1.0493 | model_form_blend |
| predicted_WHIP | - | 1.2389 | 1.2389 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.30 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 664076 |
| playerID | 664076 |
| playerName | Garrett Cleavinger |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 32.0 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.312 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 35.2 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 42.6 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 46.2 |
| sl_avg_best_speed | 72.84889 |
| sl_avg_hyper_speed | 94.048621346 |
| 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.189 | 0.000 | 0.811 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.784 | 1.000 | -0.784 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.905 | 1.100 | 0.195 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.811 | 0.000 | 0.189 | 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": "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": 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.200 | 1.000 | 5.000 | 0.000 | 4.000 | 1.000 | 1.5882 | 0.8824 | 0.1765 | 0.8823 | 0.0000 | 0.7059 | 0.1765 |
| last_10 | 0.35 | 10 | 11.100 | 3.000 | 11.000 | 1.000 | 9.000 | 2.000 | 2.3824 | 1.0588 | 0.2647 | 0.9706 | 0.0882 | 0.7941 | 0.1765 |
| season | 0.20 | 37 | 39.100 | 11.000 | 29.000 | 7.000 | 30.000 | 4.000 | 2.5169 | 0.9153 | 0.2797 | 0.7373 | 0.1780 | 0.7627 | 0.1017 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1800 |
| predicted_ER | 0.3330 |
| predicted_ERA | 3.0000 |
| predicted_H | 0.9160 |
| predicted_HR | 0.1560 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8280 |
| predicted_WHIP | 1.0961 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.1800 | 0.6024 | model_form_blend |
| predicted_ER | 0.0000 | 0.3330 | 0.1615 | model_form_blend |
| predicted_ERA | - | 3.0000 | 3.0000 | form_only |
| predicted_H | 0.0000 | 0.9160 | 0.4442 | model_form_blend |
| predicted_HR | 0.0000 | 0.1560 | 0.0756 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8280 | 0.9166 | model_form_blend |
| predicted_WHIP | - | 1.0961 | 1.0961 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.52 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 7 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 687330 |
| playerID | 687330 |
| playerName | Kevin Kelly |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-07-01 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.254 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 49.1 |
| sl_whiff_percent | 18.1 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 79.95868537 |
| sl_avg_hyper_speed | 95.375515926 |
| Field | Value |
|---|---|
| Pitcher | Stephen Kolek |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0191 |
| ESPN Rank | 213 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0147 |
| Avg Velo | 90.0213 |
| Avg Spin | 2210.1949 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 7 |
| Season ERA | 4.1538 |
| Season WHIP | 1.1923 |
| Role Avg IP | 5.7780 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 1.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 95,
"wins": 36,
"losses": 59,
"win_pct": 0.3789,
"runs_scored": 383.0,
"runs_allowed": 480.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0211,
"avg_runs_scored": 4.0316,
"avg_runs_allowed": 5.0526,
"offense_index": 0.8916,
"defense_index": 0.8949,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 7.8,
"run_differential": -38.0
},
"available": true,
"quality_score": -0.2971
},
"opponent": {
"team": "TB",
"games": 91,
"wins": 53,
"losses": 38,
"win_pct": 0.5824,
"runs_scored": 397.0,
"runs_allowed": 373.0,
"run_differential": 24.0,
"run_differential_per_game": 0.2637,
"avg_runs_scored": 4.3626,
"avg_runs_allowed": 4.0989,
"offense_index": 0.9648,
"defense_index": 1.1032,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.0,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2071
},
"edges": {
"quality_edge": -0.5042,
"offense_edge": -0.1084,
"opponent_offense_edge": -0.0352,
"defense_strength": -0.1051,
"opponent_defense_weakness": -0.1032,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9781,
"run_prevention": 1.0301,
"strikeout": 0.9877
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663568",
"profile": {
"available": true,
"pitcher_id": "663568",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 16.0,
"bb_percent": 5.2,
"woba": 0.321,
"xwoba": 0.304,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.8124,
"avg_hyper_speed": 94.0356,
"whiff_percent": 20.0,
"swing_percent": 48.3
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.0679,
"command_and_miss": -0.5011,
"regression_edge": 0.4857,
"xwoba_edge": 0.2429,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.0429,
"whiff_edge": -0.7857,
"bb_edge": 0.975,
"pitch_design_score": 0.0147
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663568",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 108,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 90.02125301644796,
"release_spin_rate": 2210.194891194832,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 90.02125301644796,
"release_spin_rate": 2210.194891194832,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0213,
"release_spin_rate": 2210.1949,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0147,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1051,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0191,
"sample_weight": 0.45,
"run_prevention_factor": 1.0016,
"strikeout_factor": 0.969,
"walk_factor": 0.9649,
"homer_factor": 0.9967,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663568",
"espn_id": 5190073,
"player_name": "Stephen Kolek",
"team": "KC",
"role": "pitcher",
"espn_rank": 213,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 213,
"gp_value": 9.0,
"gp_rank": 427,
"gs_value": 9.0,
"gs_rank": 134,
"qs_value": 5.0,
"qs_rank": 71,
"era_value": 4.1538,
"era_rank": null,
"w_value": 4.0,
"w_rank": 88,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 0.0,
"sv_rank": 190,
"hld_value": 0.0,
"hld_rank": 274,
"ip_value": 52.0,
"ip_rank": 146,
"h_value": 51.0,
"h_rank": 136,
"er_value": 24.0,
"er_rank": 151,
"hr_value": 8.0,
"hr_rank": 111,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 34.0,
"k_rank": 253,
"k_per_9_value": 5.8846154,
"k_per_9_rank": 46,
"whip_value": 1.1923,
"whip_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0007,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0007,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9842,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9985,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.986,
"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": 52.0,
"ER": 24,
"H": 51,
"BB": 11,
"SO": 34,
"HR": 8,
"ERA": 4.153846153846154,
"WHIP": 1.1923076923076923,
"K9": 5.884615384615385,
"HR9": 1.3846153846153846,
"games_pitched": 9,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 9,
"error_prone": false
},
"games_count": 9,
"latest_game_date": "2026-06-21T00:00:00"
}{
"available": true,
"pitcher_id": "663568",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 108,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 90.02125301644796,
"release_spin_rate": 2210.194891194832,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 108,
"pitch_usage": 0.0,
"release_speed": 90.02125301644796,
"release_spin_rate": 2210.194891194832,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.0213,
"release_spin_rate": 2210.1949,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0147,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1051,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "663568",
"report_date": "20260702_T",
"season_year": 2026,
"rows_used": 9,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 16.0,
"R": 19.0,
"H": 34.0,
"BB": 6.0,
"SO": 20.0,
"HR": 5.0,
"BF": 115.0,
"Pitches": 419.0
},
"per_game": {
"IP": 5.1,
"ER": 3.2,
"R": 3.8,
"H": 6.8,
"BB": 1.2,
"SO": 4.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 83.8
},
"rates": {
"ERA": 5.5385,
"WHIP": 1.5385,
"ER_per_IP": 0.61538,
"H_per_IP": 1.30769,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.76923,
"HR_per_IP": 0.19231
}
},
"last_10": {
"games": 9,
"totals": {
"IP": 52.0,
"ER": 24.0,
"R": 27.0,
"H": 51.0,
"BB": 11.0,
"SO": 34.0,
"HR": 8.0,
"BF": 213.0,
"Pitches": 786.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6667,
"R": 3.0,
"H": 5.6667,
"BB": 1.2222,
"SO": 3.7778,
"HR": 0.8889,
"BF": 23.6667,
"Pitches": 87.3333
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1923,
"ER_per_IP": 0.46154,
"H_per_IP": 0.98077,
"BB_per_IP": 0.21154,
"SO_per_IP": 0.65385,
"HR_per_IP": 0.15385
}
},
"season": {
"games": 9,
"totals": {
"IP": 52.0,
"ER": 24.0,
"R": 27.0,
"H": 51.0,
"BB": 11.0,
"SO": 34.0,
"HR": 8.0,
"BF": 213.0,
"Pitches": 786.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6667,
"R": 3.0,
"H": 5.6667,
"BB": 1.2222,
"SO": 3.7778,
"HR": 0.8889,
"BF": 23.6667,
"Pitches": 87.3333
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1923,
"ER_per_IP": 0.46154,
"H_per_IP": 0.98077,
"BB_per_IP": 0.21154,
"SO_per_IP": 0.65385,
"HR_per_IP": 0.15385
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.899,
"predicted_H": 5.983,
"predicted_BB": 1.469,
"predicted_SO": 4.368,
"predicted_HR": 0.902,
"predicted_ERA": 4.8186,
"predicted_WHIP": 1.3761
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5009,
"form_weight": 0.4991,
"form_reliability": 0.6429,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6429,
"prior_weight": 0.3571
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.899,
"final": 2.4487,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.983,
"final": 6.4924,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.469,
"final": 1.2341,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 4.368,
"final": 5.6863,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.902,
"final": 0.4502,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8186,
"final": 4.8186,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3761,
"final": 1.3761,
"source": "form_only"
}
}
}{
"available": false,
"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.1795 |
| ESPN Rank | 507 |
| 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 | 0 |
| Pre SO | 2 |
| Season ERA | 4.9541 |
| Season WHIP | 1.4862 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 95,
"wins": 36,
"losses": 59,
"win_pct": 0.3789,
"runs_scored": 383.0,
"runs_allowed": 480.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0211,
"avg_runs_scored": 4.0316,
"avg_runs_allowed": 5.0526,
"offense_index": 0.8916,
"defense_index": 0.8949,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 7.8,
"run_differential": -38.0
},
"available": true,
"quality_score": -0.2971
},
"opponent": {
"team": "TB",
"games": 91,
"wins": 53,
"losses": 38,
"win_pct": 0.5824,
"runs_scored": 397.0,
"runs_allowed": 373.0,
"run_differential": 24.0,
"run_differential_per_game": 0.2637,
"avg_runs_scored": 4.3626,
"avg_runs_allowed": 4.0989,
"offense_index": 0.9648,
"defense_index": 1.1032,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.0,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2071
},
"edges": {
"quality_edge": -0.5042,
"offense_edge": -0.1084,
"opponent_offense_edge": -0.0352,
"defense_strength": -0.1051,
"opponent_defense_weakness": -0.1032,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9781,
"run_prevention": 1.0301,
"strikeout": 0.9877
},
"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": 23.0,
"bb_percent": 13.0,
"woba": 0.332,
"xwoba": 0.335,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 42.4,
"avg_best_speed": 79.992,
"avg_hyper_speed": 94.8847,
"whiff_percent": 28.0,
"swing_percent": 45.5
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.6778,
"command_and_miss": -0.0411,
"regression_edge": -0.0857,
"xwoba_edge": -0.6429,
"barrel_edge": -1.0444,
"hard_hit_edge": -0.5857,
"whiff_edge": 0.3571,
"bb_edge": -0.975,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656638",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1795,
"sample_weight": 0.45,
"run_prevention_factor": 1.0153,
"strikeout_factor": 1.0076,
"walk_factor": 1.0351,
"homer_factor": 1.0568,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656638",
"espn_id": 40976,
"player_name": "Alex Lange",
"team": "KC",
"role": "pitcher",
"espn_rank": 507,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 507,
"gp_value": 35.0,
"gp_rank": 55,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 4.9541,
"era_rank": null,
"w_value": 0.0,
"w_rank": 422,
"l_value": 4.0,
"l_rank": 95,
"sv_value": 7.0,
"sv_rank": 24,
"hld_value": 1.0,
"hld_rank": 207,
"ip_value": 36.1,
"ip_rank": 229,
"h_value": 33.0,
"h_rank": 227,
"er_value": 20.0,
"er_rank": 182,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 21.0,
"bb_rank": 141,
"k_value": 37.0,
"k_rank": 221,
"k_per_9_value": 9.165138,
"k_per_9_rank": 26,
"whip_value": 1.4862,
"whip_rank": null,
"war_value": -0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0069,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0069,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0158,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0256,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0034,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 7,
"H": 10,
"BB": 7,
"SO": 9,
"HR": 0,
"ERA": 6.75,
"WHIP": 1.8214285714285714,
"K9": 8.678571428571429,
"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-28T00: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": 7.202,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5902,
"prior_weight": 0.4098
},
"role": "pitcher",
"player_id": "656638",
"report_date": "20260702_T",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 5.0,
"R": 5.0,
"H": 5.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 80.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.4,
"SO": 0.4,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.0
},
"rates": {
"ERA": 12.2727,
"WHIP": 1.9091,
"ER_per_IP": 1.36364,
"H_per_IP": 1.36364,
"BB_per_IP": 0.54545,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 8.0,
"H": 10.0,
"BB": 7.0,
"SO": 9.0,
"HR": 0.0,
"BF": 47.0,
"Pitches": 210.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.0,
"BB": 0.7,
"SO": 0.9,
"HR": 0.0,
"BF": 4.7,
"Pitches": 21.0
},
"rates": {
"ERA": 6.75,
"WHIP": 1.8214,
"ER_per_IP": 0.75,
"H_per_IP": 1.07143,
"BB_per_IP": 0.75,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.0
}
},
"season": {
"games": 35,
"totals": {
"IP": 36.1,
"ER": 20.0,
"R": 22.0,
"H": 33.0,
"BB": 21.0,
"SO": 37.0,
"HR": 2.0,
"BF": 161.0,
"Pitches": 684.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5714,
"R": 0.6286,
"H": 0.9429,
"BB": 0.6,
"SO": 1.0571,
"HR": 0.0571,
"BF": 4.6,
"Pitches": 19.5429
},
"rates": {
"ERA": 4.9541,
"WHIP": 1.4862,
"ER_per_IP": 0.55046,
"H_per_IP": 0.90826,
"BB_per_IP": 0.57798,
"SO_per_IP": 1.01835,
"HR_per_IP": 0.05505
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.716,
"predicted_H": 0.99,
"predicted_BB": 0.469,
"predicted_SO": 0.779,
"predicted_HR": 0.061,
"predicted_ERA": 7.074,
"predicted_WHIP": 1.6008
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5231,
"form_weight": 0.4769,
"form_reliability": 0.5902,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.202,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5902,
"prior_weight": 0.4098
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.716,
"final": 0.3414,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.99,
"final": 0.9952,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.469,
"final": 0.2236,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.779,
"final": 1.4178,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0291,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.074,
"final": 7.074,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6008,
"final": 1.6008,
"source": "form_only"
}
}
}{
"available": false,
"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.1984 |
| ESPN Rank | 151 |
| 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 | 0 |
| Season ERA | 2.6471 |
| Season WHIP | 1.0294 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 95,
"wins": 36,
"losses": 59,
"win_pct": 0.3789,
"runs_scored": 383.0,
"runs_allowed": 480.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0211,
"avg_runs_scored": 4.0316,
"avg_runs_allowed": 5.0526,
"offense_index": 0.8916,
"defense_index": 0.8949,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 7.8,
"run_differential": -38.0
},
"available": true,
"quality_score": -0.2971
},
"opponent": {
"team": "TB",
"games": 91,
"wins": 53,
"losses": 38,
"win_pct": 0.5824,
"runs_scored": 397.0,
"runs_allowed": 373.0,
"run_differential": 24.0,
"run_differential_per_game": 0.2637,
"avg_runs_scored": 4.3626,
"avg_runs_allowed": 4.0989,
"offense_index": 0.9648,
"defense_index": 1.1032,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.0,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2071
},
"edges": {
"quality_edge": -0.5042,
"offense_edge": -0.1084,
"opponent_offense_edge": -0.0352,
"defense_strength": -0.1051,
"opponent_defense_weakness": -0.1032,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9781,
"run_prevention": 1.0301,
"strikeout": 0.9877
},
"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": 21.4,
"bb_percent": 7.9,
"woba": 0.258,
"xwoba": 0.284,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 34.0,
"avg_best_speed": 75.029,
"avg_hyper_speed": 93.6082,
"whiff_percent": 29.7,
"swing_percent": 47.0
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": 0.8289,
"command_and_miss": 0.1961,
"regression_edge": -0.7429,
"xwoba_edge": 0.8143,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.6143,
"whiff_edge": 0.6,
"bb_edge": 0.3,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663738",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1984,
"sample_weight": 0.45,
"run_prevention_factor": 0.9831,
"strikeout_factor": 1.0078,
"walk_factor": 0.9892,
"homer_factor": 0.9604,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663738",
"espn_id": 41227,
"player_name": "Daniel Lynch IV",
"team": "KC",
"role": "pitcher",
"espn_rank": 151,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 151,
"gp_value": 35.0,
"gp_rank": 55,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 2.647,
"era_rank": null,
"w_value": 2.0,
"w_rank": 216,
"l_value": 2.0,
"l_rank": 210,
"sv_value": 1.0,
"sv_rank": 96,
"hld_value": 9.0,
"hld_rank": 46,
"ip_value": 34.0,
"ip_rank": 266,
"h_value": 24.0,
"h_rank": 329,
"er_value": 10.0,
"er_rank": 374,
"hr_value": 2.0,
"hr_rank": 379,
"bb_value": 11.0,
"bb_rank": 313,
"k_value": 30.0,
"k_rank": 298,
"k_per_9_value": 7.941177,
"k_per_9_rank": 30,
"whip_value": 1.0294,
"whip_rank": null,
"war_value": 0.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9924,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9924,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9822,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0035,
"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": 1,
"HR": 1,
"ERA": 5.1923076923076925,
"WHIP": 1.153846153846154,
"K9": 1.0384615384615385,
"HR9": 1.0384615384615385,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-27T00: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": 6.74,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5741,
"prior_weight": 0.4259
},
"role": "pitcher",
"player_id": "663738",
"report_date": "20260702_T",
"season_year": 2026,
"rows_used": 35,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 71.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.4,
"SO": 0.2,
"HR": 0.2,
"BF": 4.0,
"Pitches": 14.2
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 1.5,
"BB_per_IP": 0.5,
"SO_per_IP": 0.25,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 3.0,
"SO": 1.0,
"HR": 1.0,
"BF": 36.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.7,
"BB": 0.3,
"SO": 0.1,
"HR": 0.1,
"BF": 3.6,
"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.11538,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 35,
"totals": {
"IP": 34.0,
"ER": 10.0,
"R": 13.0,
"H": 24.0,
"BB": 11.0,
"SO": 30.0,
"HR": 2.0,
"BF": 140.0,
"Pitches": 530.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2857,
"R": 0.3714,
"H": 0.6857,
"BB": 0.3143,
"SO": 0.8571,
"HR": 0.0571,
"BF": 4.0,
"Pitches": 15.1429
},
"rates": {
"ERA": 2.6471,
"WHIP": 1.0294,
"ER_per_IP": 0.29412,
"H_per_IP": 0.70588,
"BB_per_IP": 0.32353,
"SO_per_IP": 0.88235,
"HR_per_IP": 0.05882
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.567,
"predicted_H": 0.952,
"predicted_BB": 0.355,
"predicted_SO": 0.544,
"predicted_HR": 0.144,
"predicted_ERA": 5.5798,
"predicted_WHIP": 1.4301
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5299,
"form_weight": 0.4701,
"form_reliability": 0.5741,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.74,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5741,
"prior_weight": 0.4259
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.567,
"final": 0.2665,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.952,
"final": 0.4475,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.355,
"final": 0.6968,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.544,
"final": 0.2557,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.144,
"final": 0.0677,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.5798,
"final": 5.5798,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4301,
"final": 1.4301,
"source": "form_only"
}
}
}{
"available": false,
"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.0883 |
| ESPN Rank | 584 |
| 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 | 0 |
| Pre SO | 0 |
| Season ERA | 4.4082 |
| Season WHIP | 1.5612 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 95,
"wins": 36,
"losses": 59,
"win_pct": 0.3789,
"runs_scored": 383.0,
"runs_allowed": 480.0,
"run_differential": -97.0,
"run_differential_per_game": -1.0211,
"avg_runs_scored": 4.0316,
"avg_runs_allowed": 5.0526,
"offense_index": 0.8916,
"defense_index": 0.8949,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 7.8,
"run_differential": -38.0
},
"available": true,
"quality_score": -0.2971
},
"opponent": {
"team": "TB",
"games": 91,
"wins": 53,
"losses": 38,
"win_pct": 0.5824,
"runs_scored": 397.0,
"runs_allowed": 373.0,
"run_differential": 24.0,
"run_differential_per_game": 0.2637,
"avg_runs_scored": 4.3626,
"avg_runs_allowed": 4.0989,
"offense_index": 0.9648,
"defense_index": 1.1032,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.0,
"run_differential": 27.0
},
"available": true,
"quality_score": 0.2071
},
"edges": {
"quality_edge": -0.5042,
"offense_edge": -0.1084,
"opponent_offense_edge": -0.0352,
"defense_strength": -0.1051,
"opponent_defense_weakness": -0.1032,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9781,
"run_prevention": 1.0301,
"strikeout": 0.9877
},
"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.0,
"bb_percent": 13.6,
"woba": 0.37,
"xwoba": 0.32,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 42.0,
"avg_best_speed": 73.6973,
"avg_hyper_speed": 94.3604,
"whiff_percent": 21.2,
"swing_percent": 46.1
},
"league_medians": {
"pa": 66.5,
"k_percent": 22.55,
"bb_percent": 9.1,
"woba": 0.3135,
"xwoba": 0.3125,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 38.3,
"avg_best_speed": 77.76,
"avg_hyper_speed": 93.9566,
"whiff_percent": 25.5,
"swing_percent": 47.5
},
"components": {
"contact_quality": -0.2356,
"command_and_miss": -0.7968,
"regression_edge": 1.4286,
"xwoba_edge": -0.2143,
"barrel_edge": 0.3111,
"hard_hit_edge": -0.5286,
"whiff_edge": -0.6143,
"bb_edge": -1.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668674",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0883,
"sample_weight": 0.45,
"run_prevention_factor": 1.0075,
"strikeout_factor": 0.9747,
"walk_factor": 1.0405,
"homer_factor": 1.0012,
"woba_minus_xwoba": 0.05,
"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": 584,
"espn_total_ranked": 728,
"metrics": {
"espn_rank": 584,
"gp_value": 34.0,
"gp_rank": 68,
"gs_value": 0.0,
"gs_rank": 301,
"qs_value": 0.0,
"qs_rank": 181,
"era_value": 5.2346,
"era_rank": null,
"w_value": 3.0,
"w_rank": 142,
"l_value": 3.0,
"l_rank": 137,
"sv_value": 12.0,
"sv_rank": 13,
"hld_value": 3.0,
"hld_rank": 153,
"ip_value": 32.2,
"ip_rank": 281,
"h_value": 36.0,
"h_rank": 194,
"er_value": 19.0,
"er_rank": 190,
"hr_value": 3.0,
"hr_rank": 307,
"bb_value": 20.0,
"bb_rank": 148,
"k_value": 25.0,
"k_rank": 345,
"k_per_9_value": 6.887755,
"k_per_9_rank": 33,
"whip_value": 1.7142,
"whip_rank": null,
"war_value": -0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0034,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0034,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0182,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0005,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9886,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 3,
"H": 7,
"BB": 5,
"SO": 5,
"HR": 1,
"ERA": 2.612903225806452,
"WHIP": 1.1612903225806452,
"K9": 4.35483870967742,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-30T00: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": 6.476,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5643,
"prior_weight": 0.4357
},
"role": "pitcher",
"player_id": "668674",
"report_date": "20260702_T",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 1.0,
"SO": 2.0,
"HR": 1.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": 0.4,
"HR": 0.2,
"BF": 4.0,
"Pitches": 14.4
},
"rates": {
"ERA": 3.375,
"WHIP": 0.9375,
"ER_per_IP": 0.375,
"H_per_IP": 0.75,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.375,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 5.0,
"SO": 5.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 172.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.5,
"SO": 0.5,
"HR": 0.1,
"BF": 4.3,
"Pitches": 17.2
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.1613,
"ER_per_IP": 0.29032,
"H_per_IP": 0.67742,
"BB_per_IP": 0.48387,
"SO_per_IP": 0.48387,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 33,
"totals": {
"IP": 32.2,
"ER": 16.0,
"R": 18.0,
"H": 31.0,
"BB": 20.0,
"SO": 25.0,
"HR": 2.0,
"BF": 142.0,
"Pitches": 578.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4848,
"R": 0.5455,
"H": 0.9394,
"BB": 0.6061,
"SO": 0.7576,
"HR": 0.0606,
"BF": 4.303,
"Pitches": 17.5152
},
"rates": {
"ERA": 4.4082,
"WHIP": 1.5612,
"ER_per_IP": 0.4898,
"H_per_IP": 0.94898,
"BB_per_IP": 0.61224,
"SO_per_IP": 0.76531,
"HR_per_IP": 0.06122
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.425,
"predicted_H": 0.852,
"predicted_BB": 0.368,
"predicted_SO": 0.693,
"predicted_HR": 0.138,
"predicted_ERA": 3.8219,
"predicted_WHIP": 1.22
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5341,
"form_weight": 0.4659,
"form_reliability": 0.5643,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.476,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5643,
"prior_weight": 0.4357
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.425,
"final": 1.2662,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.852,
"final": 1.4651,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.368,
"final": 0.1715,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.693,
"final": 0.3229,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.138,
"final": 0.5984,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8219,
"final": 3.8219,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.22,
"final": 1.22,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.350 | 3.000 | 4.000 | Hitting_AB | 3.996 | 4.000 | -0.996 | -1.000 |
| predicted_AVG | 0.257 | 0.333 | 0.250 | Hitting_AVG | 0.290 | 0.250 | 0.043 | 0.083 |
| predicted_BB | 0.438 | 1.000 | 0.000 | Hitting_BB | 0.448 | 0.000 | 0.552 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_H | 1.120 | 1.000 | 1.000 | Hitting_H | 1.160 | 1.000 | -0.160 | 0.000 |
| predicted_HR | 0.220 | 1.000 | 0.000 | Hitting_HR | 0.160 | 0.000 | 0.840 | 1.000 |
| predicted_OBP | 0.345 | 0.500 | 0.250 | Hitting_OBP | 0.359 | 0.250 | 0.141 | 0.250 |
| predicted_R | 0.550 | 1.000 | 1.000 | Hitting_R | 0.511 | 0.000 | 0.489 | 1.000 |
| predicted_RBI | 0.610 | 1.000 | 0.000 | Hitting_RBI | 0.455 | 0.000 | 0.545 | 1.000 |
| predicted_SLG | 0.570 | 1.333 | 0.250 | Hitting_SLG | 0.483 | 0.250 | 0.851 | 1.083 |
| predicted_SO | 0.750 | 0.000 | 1.000 | Hitting_SO | 0.836 | 0.000 | -0.836 | 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_HR: 0.2200 -> 1.0000 (boost 0.7800, 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 | 4 | 2 | 2 | 2 | 2 | predicted_AVG: 0.2570 -> 0.2758 (boost 0.0188, better) | predicted_AB: 4.3500 -> 4.1053 (deboost -0.2447, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 6 | 0 | 6 | 0 | 6 | - | predicted_SLG: 0.5573 -> 0.4764 (deboost -0.0809, 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.7259 -> 1.0000 (boost 0.2741, worse) | predicted_RBI: 0.5419 -> 0.0000 (deboost -0.5419, worse) | AB rounded to 4 (raw=4.35), rates preserved: AVG=0.245 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5425 -> 1.0000 (boost 0.4575, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4764 -> 0.2500 (deboost -0.2264, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_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.4764 (boost 0.2264, 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.25,
"predicted_3B": 0.013,
"predicted_AB": 4.35,
"predicted_AVG": 0.257,
"predicted_BB": 0.438,
"predicted_H": 1.12,
"predicted_HR": 0.22,
"predicted_OBP": 0.345,
"predicted_R": 0.55,
"predicted_RBI": 0.61,
"predicted_SLG": 0.57,
"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.2312,
"predicted_3B": 0.0109,
"predicted_AB": 4.1053,
"predicted_AVG": 0.2758,
"predicted_BB": 0.435,
"predicted_H": 1.1273,
"predicted_HBP": 0.009,
"predicted_HR": 0.223,
"predicted_OBP": 0.3543,
"predicted_R": 0.5995,
"predicted_RBI": 0.5989,
"predicted_SLG": 0.5573,
"predicted_SO": 0.712
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2312,
"delta": -0.0188,
"percent_delta": -0.0752,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0109,
"delta": -0.0021,
"percent_delta": -0.1615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 4.1053,
"delta": -0.2447,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2758,
"delta": 0.0188,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.438,
"after": 0.435,
"delta": -0.003,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1273,
"delta": 0.0073,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.223,
"delta": 0.003,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3543,
"delta": 0.0093,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.55,
"after": 0.5995,
"delta": 0.0495,
"percent_delta": 0.09,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.5989,
"delta": -0.0111,
"percent_delta": -0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.57,
"after": 0.5573,
"delta": -0.0127,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.712,
"delta": -0.038,
"percent_delta": -0.0507,
"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_AVG",
"before": 0.257,
"after": 0.2758,
"delta": 0.0188,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 4.1053,
"delta": -0.2447,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 80
}
},
{
"index": 3,
"step": "team_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.0109,
"predicted_AB": 4.1053,
"predicted_AVG": 0.2597,
"predicted_BB": 0.4265,
"predicted_H": 1.0661,
"predicted_HBP": 0.009,
"predicted_HR": 0.2122,
"predicted_OBP": 0.3294,
"predicted_R": 0.5425,
"predicted_RBI": 0.5419,
"predicted_SLG": 0.4764,
"predicted_SO": 0.7259
},
"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.0109,
"after": 0.0109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1053,
"after": 4.1053,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2758,
"after": 0.2597,
"delta": -0.0161,
"percent_delta": -0.0584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.435,
"after": 0.4265,
"delta": -0.0085,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1273,
"after": 1.0661,
"delta": -0.0612,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.223,
"after": 0.2122,
"delta": -0.0108,
"percent_delta": -0.0484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3543,
"after": 0.3294,
"delta": -0.0249,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5995,
"after": 0.5425,
"delta": -0.057,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5989,
"after": 0.5419,
"delta": -0.057,
"percent_delta": -0.0952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5573,
"after": 0.4764,
"delta": -0.0809,
"percent_delta": -0.1452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.712,
"after": 0.7259,
"delta": 0.0139,
"percent_delta": 0.0195,
"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_SLG",
"before": 0.5573,
"after": 0.4764,
"delta": -0.0809,
"percent_delta": -0.1452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.35), rates preserved: AVG=0.245 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.2312,
"after": 0.0,
"delta": -0.2312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0109,
"after": 0.0,
"delta": -0.0109,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1053,
"after": 4.0,
"delta": -0.1053,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4265,
"after": 0.0,
"delta": -0.4265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0661,
"after": 1.0,
"delta": -0.0661,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2122,
"after": 0.0,
"delta": -0.2122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5419,
"after": 0.0,
"delta": -0.5419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7259,
"after": 1.0,
"delta": 0.2741,
"percent_delta": 0.3776,
"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.7259,
"after": 1.0,
"delta": 0.2741,
"percent_delta": 0.3776,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5419,
"after": 0.0,
"delta": -0.5419,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.5425,
"after": 1.0,
"delta": 0.4575,
"percent_delta": 0.8433,
"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.5425,
"after": 1.0,
"delta": 0.4575,
"percent_delta": 0.8433,
"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.2597,
"after": 0.25,
"delta": -0.0097,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3294,
"after": 0.25,
"delta": -0.0794,
"percent_delta": -0.241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4764,
"after": 0.25,
"delta": -0.2264,
"percent_delta": -0.4752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.4764,
"after": 0.25,
"delta": -0.2264,
"percent_delta": -0.4752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2597,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3294,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4764,
"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.2597,
"delta": 0.0097,
"percent_delta": 0.0387,
"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.3294,
"delta": 0.0794,
"percent_delta": 0.3174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4764,
"delta": 0.2264,
"percent_delta": 0.9055,
"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.4764,
"delta": 0.2264,
"percent_delta": 0.9055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.257,
"after": 0.2597,
"delta": 0.0027,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.438,
"after": 1.0,
"delta": 0.562,
"percent_delta": 1.2831,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.0,
"delta": -0.12,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3294,
"delta": -0.0156,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"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.57,
"after": 0.4764,
"delta": -0.0936,
"percent_delta": -0.1642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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_HR",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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": "deboosted"
}
}
}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.013 | - |
| predicted_AB | 4.350 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.438 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.550 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.570 | - |
| 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.231 | -0.019 |
| predicted_3B | 0.011 | -0.002 |
| predicted_AB | 4.105 | -0.245 |
| predicted_AVG | 0.276 | 0.019 |
| predicted_BB | 0.435 | -0.003 |
| predicted_H | 1.127 | 0.007 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.223 | 0.003 |
| predicted_OBP | 0.354 | 0.009 |
| predicted_R | 0.600 | 0.049 |
| predicted_RBI | 0.599 | -0.011 |
| predicted_SLG | 0.557 | -0.013 |
| predicted_SO | 0.712 | -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.231 | 0.000 |
| predicted_3B | 0.011 | 0.000 |
| predicted_AB | 4.105 | 0.000 |
| predicted_AVG | 0.260 | -0.016 |
| predicted_BB | 0.426 | -0.009 |
| predicted_H | 1.066 | -0.061 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.212 | -0.011 |
| predicted_OBP | 0.329 | -0.025 |
| predicted_R | 0.542 | -0.057 |
| predicted_RBI | 0.542 | -0.057 |
| predicted_SLG | 0.476 | -0.081 |
| predicted_SO | 0.726 | 0.014 |
AB rounded to 4 (raw=4.35), rates preserved: AVG=0.245 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.231 |
| predicted_3B | 0.000 | -0.011 |
| predicted_AB | 4.000 | -0.105 |
| predicted_AVG | 0.250 | -0.010 |
| predicted_BB | 0.000 | -0.426 |
| predicted_H | 1.000 | -0.066 |
| predicted_HR | 0.000 | -0.212 |
| predicted_OBP | 0.250 | -0.079 |
| predicted_R | 1.000 | 0.458 |
| predicted_RBI | 0.000 | -0.542 |
| predicted_SLG | 0.250 | -0.226 |
| predicted_SO | 1.000 | 0.274 |
Attached 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 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 2.000 | 3.000 | 0.2778 | 0.3333 | 0.6667 | 0.2778 | 0.1111 | 0.2222 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 10 | - | 35.000 | 13.000 | 1.000 | 0.000 | 3.000 | 8.000 | 9.000 | 5.000 | 4.000 | 0.3714 | 0.4390 | 0.6571 | 0.3714 | 0.0857 | 0.2286 | 0.1429 | 0.1143 |
| season | 0.60 | 80 | - | 314.000 | 92.000 | 20.000 | 1.000 | 12.000 | 35.000 | 44.000 | 35.000 | 60.000 | 0.2930 | 0.3626 | 0.4777 | 0.2930 | 0.0382 | 0.1115 | 0.1115 | 0.1911 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.7770 |
| predicted_AVG | 0.3011 |
| predicted_BB | 0.4310 |
| predicted_H | 1.1370 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2270 |
| predicted_OBP | 0.3668 |
| predicted_R | 0.6660 |
| predicted_RBI | 0.5840 |
| predicted_SLG | 0.5402 |
| predicted_SO | 0.6610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2060 | 0.2312 | model_form_blend |
| predicted_3B | 0.0130 | 0.0080 | 0.0109 | model_form_blend |
| predicted_AB | 4.3500 | 3.7770 | 4.1053 | model_form_blend |
| predicted_AVG | 0.2570 | 0.3011 | 0.2758 | model_form_blend |
| predicted_BB | 0.4380 | 0.4310 | 0.4350 | model_form_blend |
| predicted_H | 1.1200 | 1.1370 | 1.1273 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.2200 | 0.2270 | 0.2230 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3668 | 0.3543 | model_form_blend |
| predicted_R | 0.5500 | 0.6660 | 0.5995 | model_form_blend |
| predicted_RBI | 0.6100 | 0.5840 | 0.5989 | model_form_blend |
| predicted_SLG | 0.5700 | 0.5402 | 0.5573 | model_form_blend |
| predicted_SO | 0.7500 | 0.6610 | 0.7120 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 80 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.293 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260701_TB@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-07-01 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.365 |
| sl_xwoba | 0.395 |
| sl_xba | 0.312 |
| sl_xslg | 0.53 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 12.9 |
| sl_hard_hit_percent | 52.7 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 47.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.218 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.870 | 5.000 | 4.000 | Hitting_AB | 3.488 | 4.000 | 1.512 | 1.000 |
| predicted_AVG | 0.243 | 0.200 | 0.250 | Hitting_AVG | 0.240 | 0.000 | -0.040 | 0.200 |
| predicted_BB | 0.346 | 0.000 | 0.000 | Hitting_BB | 0.419 | 0.000 | -0.419 | 0.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.837 | 0.000 | 0.163 | 1.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | 0.865 | 1.000 |
| predicted_OBP | 0.309 | 0.200 | 0.250 | Hitting_OBP | 0.320 | 0.000 | -0.120 | 0.200 |
| predicted_R | 0.513 | 1.000 | 0.000 | Hitting_R | 0.456 | 0.000 | 0.544 | 1.000 |
| predicted_RBI | 0.580 | 1.000 | 1.000 | Hitting_RBI | 0.563 | 0.000 | 0.437 | 1.000 |
| predicted_SLG | 0.508 | 0.800 | 0.250 | Hitting_SLG | 0.408 | 0.000 | 0.392 | 0.800 |
| predicted_SO | 1.051 | 0.000 | 1.000 | Hitting_SO | 1.084 | 2.000 | -1.084 | -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: 3.8700 -> 5.0000 (boost 1.1300, better) |
| Biggest Deboost | predicted_SO: 1.0510 -> 0.0000 (deboost -1.0510, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2430 -> 0.2521 (boost 0.0091, better) | predicted_AB: 3.8700 -> 3.8200 (deboost -0.0500, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 5 | 0 | 5 | 0 | 5 | - | predicted_SLG: 0.4896 -> 0.4245 (deboost -0.0651, 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.5533 -> 1.0000 (boost 0.4467, better) | predicted_BB: 0.3177 -> 0.0000 (deboost -0.3177, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.235 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4577 -> 0.0000 (deboost -0.4577, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2382 -> 0.2500 (boost 0.0118, better) | predicted_SLG: 0.4245 -> 0.2500 (deboost -0.1745, 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: 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4245 (boost 0.1745, better) | predicted_AVG: 0.2500 -> 0.2382 (deboost -0.0118, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.218,
"predicted_3B": 0.0,
"predicted_AB": 3.87,
"predicted_AVG": 0.243,
"predicted_BB": 0.346,
"predicted_H": 0.94,
"predicted_HR": 0.17,
"predicted_OBP": 0.309,
"predicted_R": 0.513,
"predicted_RBI": 0.58,
"predicted_SLG": 0.508,
"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.2074,
"predicted_3B": 0.0004,
"predicted_AB": 3.82,
"predicted_AVG": 0.2521,
"predicted_BB": 0.324,
"predicted_H": 0.962,
"predicted_HBP": 0.01,
"predicted_HR": 0.1764,
"predicted_OBP": 0.3121,
"predicted_R": 0.5058,
"predicted_RBI": 0.6114,
"predicted_SLG": 0.4896,
"predicted_SO": 1.0735
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.218,
"after": 0.2074,
"delta": -0.0106,
"percent_delta": -0.0486,
"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.87,
"after": 3.82,
"delta": -0.05,
"percent_delta": -0.0129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2521,
"delta": 0.0091,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.346,
"after": 0.324,
"delta": -0.022,
"percent_delta": -0.0636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.962,
"delta": 0.022,
"percent_delta": 0.0234,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1764,
"delta": 0.0064,
"percent_delta": 0.0376,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.3121,
"delta": 0.0031,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.513,
"after": 0.5058,
"delta": -0.0072,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.6114,
"delta": 0.0314,
"percent_delta": 0.0541,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.508,
"after": 0.4896,
"delta": -0.0184,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 1.0735,
"delta": 0.0225,
"percent_delta": 0.0214,
"direction": "no_change",
"projection_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.243,
"after": 0.2521,
"delta": 0.0091,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.87,
"after": 3.82,
"delta": -0.05,
"percent_delta": -0.0129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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": 78
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2074,
"predicted_3B": 0.0004,
"predicted_AB": 3.82,
"predicted_AVG": 0.2382,
"predicted_BB": 0.3177,
"predicted_H": 0.9098,
"predicted_HBP": 0.01,
"predicted_HR": 0.1678,
"predicted_OBP": 0.2967,
"predicted_R": 0.4577,
"predicted_RBI": 0.5533,
"predicted_SLG": 0.4245,
"predicted_SO": 1.0944
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2074,
"after": 0.2074,
"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.82,
"after": 3.82,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2521,
"after": 0.2382,
"delta": -0.0139,
"percent_delta": -0.0551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.3177,
"delta": -0.0063,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.962,
"after": 0.9098,
"delta": -0.0522,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.1764,
"after": 0.1678,
"delta": -0.0086,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3121,
"after": 0.2967,
"delta": -0.0154,
"percent_delta": -0.0493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5058,
"after": 0.4577,
"delta": -0.0481,
"percent_delta": -0.0951,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6114,
"after": 0.5533,
"delta": -0.0581,
"percent_delta": -0.095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4896,
"after": 0.4245,
"delta": -0.0651,
"percent_delta": -0.133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0735,
"after": 1.0944,
"delta": 0.0209,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4896,
"after": 0.4245,
"delta": -0.0651,
"percent_delta": -0.133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.235 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.2074,
"after": 0.0,
"delta": -0.2074,
"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.82,
"after": 4.0,
"delta": 0.18,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3177,
"after": 0.0,
"delta": -0.3177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9098,
"after": 1.0,
"delta": 0.0902,
"percent_delta": 0.0991,
"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.1678,
"after": 0.0,
"delta": -0.1678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5533,
"after": 1.0,
"delta": 0.4467,
"percent_delta": 0.8073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0944,
"after": 1.0,
"delta": -0.0944,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5533,
"after": 1.0,
"delta": 0.4467,
"percent_delta": 0.8073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3177,
"after": 0.0,
"delta": -0.3177,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4577,
"after": 0.0,
"delta": -0.4577,
"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.4577,
"after": 0.0,
"delta": -0.4577,
"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.2382,
"after": 0.25,
"delta": 0.0118,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2967,
"after": 0.25,
"delta": -0.0467,
"percent_delta": -0.1574,
"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.4245,
"after": 0.25,
"delta": -0.1745,
"percent_delta": -0.4111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2382,
"after": 0.25,
"delta": 0.0118,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4245,
"after": 0.25,
"delta": -0.1745,
"percent_delta": -0.4111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 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": 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.2382,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2967,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4245,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2382,
"delta": -0.0118,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2967,
"delta": 0.0467,
"percent_delta": 0.1866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4245,
"delta": 0.1745,
"percent_delta": 0.6979,
"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.4245,
"delta": 0.1745,
"percent_delta": 0.6979,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2382,
"delta": -0.0118,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.218,
"after": 0.0,
"delta": -0.218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 5.0,
"delta": 1.13,
"percent_delta": 0.292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2382,
"delta": -0.0048,
"percent_delta": -0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.309,
"after": 0.2967,
"delta": -0.0123,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.513,
"after": 1.0,
"delta": 0.487,
"percent_delta": 0.9493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.508,
"after": 0.4245,
"delta": -0.0835,
"percent_delta": -0.1644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 0.0,
"delta": -1.051,
"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": 3.87,
"after": 5.0,
"delta": 1.13,
"percent_delta": 0.292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.051,
"after": 0.0,
"delta": -1.051,
"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.218 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.870 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.346 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.309 | - |
| predicted_R | 0.513 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.508 | - |
| 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.207 | -0.011 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.820 | -0.050 |
| predicted_AVG | 0.252 | 0.009 |
| predicted_BB | 0.324 | -0.022 |
| predicted_H | 0.962 | 0.022 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.176 | 0.006 |
| predicted_OBP | 0.312 | 0.003 |
| predicted_R | 0.506 | -0.007 |
| predicted_RBI | 0.611 | 0.031 |
| predicted_SLG | 0.490 | -0.018 |
| predicted_SO | 1.073 | 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.207 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.820 | 0.000 |
| predicted_AVG | 0.238 | -0.014 |
| predicted_BB | 0.318 | -0.006 |
| predicted_H | 0.910 | -0.052 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.168 | -0.009 |
| predicted_OBP | 0.297 | -0.015 |
| predicted_R | 0.458 | -0.048 |
| predicted_RBI | 0.553 | -0.058 |
| predicted_SLG | 0.424 | -0.065 |
| predicted_SO | 1.094 | 0.021 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.235 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 | - |
Enforced H<=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.207 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.180 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 0.000 | -0.318 |
| predicted_H | 1.000 | 0.090 |
| predicted_HR | 0.000 | -0.168 |
| predicted_OBP | 0.250 | -0.047 |
| predicted_R | 0.000 | -0.458 |
| predicted_RBI | 1.000 | 0.447 |
| predicted_SLG | 0.250 | -0.174 |
| predicted_SO | 1.000 | -0.094 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 7.000 | 0.2857 | 0.2857 | 0.4762 | 0.2857 | 0.0476 | 0.1905 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 1.000 | 0.000 | 3.000 | 8.000 | 7.000 | 4.000 | 11.000 | 0.3000 | 0.3636 | 0.5500 | 0.3000 | 0.0750 | 0.2000 | 0.1000 | 0.2750 |
| season | 0.60 | 78 | - | 274.000 | 68.000 | 17.000 | 0.000 | 12.000 | 46.000 | 40.000 | 27.000 | 82.000 | 0.2482 | 0.3127 | 0.4416 | 0.2482 | 0.0438 | 0.1679 | 0.0985 | 0.2993 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1930 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7520 |
| predicted_AVG | 0.2644 |
| predicted_BB | 0.2940 |
| predicted_H | 0.9920 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1850 |
| predicted_OBP | 0.3164 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.6540 |
| predicted_SLG | 0.4647 |
| predicted_SO | 1.1040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2180 | 0.1930 | 0.2074 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8700 | 3.7520 | 3.8200 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2644 | 0.2521 | model_form_blend |
| predicted_BB | 0.3460 | 0.2940 | 0.3240 | model_form_blend |
| predicted_H | 0.9400 | 0.9920 | 0.9620 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1700 | 0.1850 | 0.1764 | model_form_blend |
| predicted_OBP | 0.3090 | 0.3164 | 0.3121 | model_form_blend |
| predicted_R | 0.5130 | 0.4960 | 0.5058 | model_form_blend |
| predicted_RBI | 0.5800 | 0.6540 | 0.6114 | model_form_blend |
| predicted_SLG | 0.5080 | 0.4647 | 0.4896 | model_form_blend |
| predicted_SO | 1.0510 | 1.1040 | 1.0735 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 78 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.248 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 20260701_TB@KC |
| game_type | full |
| mlbID | 695600 |
| playerID | 695600 |
| playerName | Carter Jensen |
| pos | C |
| started | True |
| startingPosition | C |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-01 |
| sl_k_percent | 26.9 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.325 |
| sl_xwoba | 0.295 |
| sl_xba | 0.222 |
| sl_xslg | 0.379 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 43.7 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 20.1 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 44.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.119 | 0.000 | 0.000 | Hitting_2B | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.881 | 4.000 | 3.000 | Hitting_AB | 2.893 | 4.000 | 1.107 | 0.000 |
| predicted_AVG | 0.234 | 0.000 | 0.333 | Hitting_AVG | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_BB | 0.418 | 0.000 | 0.000 | Hitting_BB | 0.513 | 0.000 | -0.513 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_H | 0.660 | 0.000 | 1.000 | Hitting_H | 0.640 | 0.000 | -0.640 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_OBP | 0.273 | 0.000 | 0.333 | Hitting_OBP | 0.342 | 0.000 | -0.342 | 0.000 |
| predicted_R | 0.269 | 0.000 | 0.000 | Hitting_R | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_SLG | 0.402 | 0.000 | 0.333 | Hitting_SLG | 0.325 | 0.000 | -0.325 | 0.000 |
| predicted_SO | 0.761 | 2.000 | 1.000 | Hitting_SO | 0.780 | 2.000 | 1.220 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.7610 -> 2.0000 (boost 1.2390, worse) |
| Biggest Deboost | predicted_H: 0.6600 -> 0.0000 (deboost -0.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 1 | 3 | predicted_AB: 2.8810 -> 3.0754 (boost 0.1944, better) | predicted_SLG: 0.4020 -> 0.3561 (deboost -0.0459, worse) | Final model input calibrated with local form: 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.2695 -> 0.2872 (boost 0.0177, better) | predicted_SLG: 0.3561 -> 0.3109 (deboost -0.0452, 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.6167 -> 1.0000 (boost 0.3833, better) | predicted_BB: 0.3740 -> 0.0000 (deboost -0.3740, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.201 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2412 -> 0.0000 (deboost -0.2412, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2005 -> 0.3330 (boost 0.1325, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2005 (deboost -0.1325, 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.119,
"predicted_3B": 0.0,
"predicted_AB": 2.881,
"predicted_AVG": 0.234,
"predicted_BB": 0.418,
"predicted_H": 0.66,
"predicted_HR": 0.08,
"predicted_OBP": 0.273,
"predicted_R": 0.269,
"predicted_RBI": 0.33,
"predicted_SLG": 0.402,
"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.1331,
"predicted_3B": 0.0008,
"predicted_AB": 3.0754,
"predicted_AVG": 0.2163,
"predicted_BB": 0.3814,
"predicted_H": 0.6521,
"predicted_HBP": 0.022,
"predicted_HR": 0.0717,
"predicted_OBP": 0.2695,
"predicted_R": 0.2665,
"predicted_RBI": 0.3296,
"predicted_SLG": 0.3561,
"predicted_SO": 0.8582
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.1331,
"delta": 0.0141,
"percent_delta": 0.1185,
"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.881,
"after": 3.0754,
"delta": 0.1944,
"percent_delta": 0.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2163,
"delta": -0.0177,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.418,
"after": 0.3814,
"delta": -0.0366,
"percent_delta": -0.0876,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.6521,
"delta": -0.0079,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0717,
"delta": -0.0083,
"percent_delta": -0.1038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2695,
"delta": -0.0035,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.269,
"after": 0.2665,
"delta": -0.0025,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3296,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3561,
"delta": -0.0459,
"percent_delta": -0.1142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.761,
"after": 0.8582,
"delta": 0.0972,
"percent_delta": 0.1277,
"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": 2.881,
"after": 3.0754,
"delta": 0.1944,
"percent_delta": 0.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3561,
"delta": -0.0459,
"percent_delta": -0.1142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1331,
"predicted_3B": 0.0008,
"predicted_AB": 3.0754,
"predicted_AVG": 0.2005,
"predicted_BB": 0.374,
"predicted_H": 0.6167,
"predicted_HBP": 0.022,
"predicted_HR": 0.0682,
"predicted_OBP": 0.2872,
"predicted_R": 0.2412,
"predicted_RBI": 0.2983,
"predicted_SLG": 0.3109,
"predicted_SO": 0.8749
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1331,
"after": 0.1331,
"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.0754,
"after": 3.0754,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2163,
"after": 0.2005,
"delta": -0.0158,
"percent_delta": -0.073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3814,
"after": 0.374,
"delta": -0.0074,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6521,
"after": 0.6167,
"delta": -0.0354,
"percent_delta": -0.0543,
"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.0717,
"after": 0.0682,
"delta": -0.0035,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2695,
"after": 0.2872,
"delta": 0.0177,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2665,
"after": 0.2412,
"delta": -0.0253,
"percent_delta": -0.0949,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3296,
"after": 0.2983,
"delta": -0.0313,
"percent_delta": -0.095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3561,
"after": 0.3109,
"delta": -0.0452,
"percent_delta": -0.1269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8582,
"after": 0.8749,
"delta": 0.0167,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_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.2695,
"after": 0.2872,
"delta": 0.0177,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3561,
"after": 0.3109,
"delta": -0.0452,
"percent_delta": -0.1269,
"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.201 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.1331,
"after": 0.0,
"delta": -0.1331,
"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.0754,
"after": 3.0,
"delta": -0.0754,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"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.6167,
"after": 1.0,
"delta": 0.3833,
"percent_delta": 0.6215,
"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.0682,
"after": 0.0,
"delta": -0.0682,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2983,
"after": 0.0,
"delta": -0.2983,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8749,
"after": 1.0,
"delta": 0.1251,
"percent_delta": 0.143,
"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.6167,
"after": 1.0,
"delta": 0.3833,
"percent_delta": 0.6215,
"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.2412,
"after": 0.0,
"delta": -0.2412,
"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.2412,
"after": 0.0,
"delta": -0.2412,
"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.2005,
"after": 0.333,
"delta": 0.1325,
"percent_delta": 0.6608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2872,
"after": 0.333,
"delta": 0.0458,
"percent_delta": 0.1595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3109,
"after": 0.333,
"delta": 0.0221,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2005,
"after": 0.333,
"delta": 0.1325,
"percent_delta": 0.6608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2005,
"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.2872,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3109,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2005,
"delta": -0.1325,
"percent_delta": -0.3978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2872,
"delta": -0.0458,
"percent_delta": -0.1375,
"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.3109,
"delta": -0.0221,
"percent_delta": -0.0664,
"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.2005,
"delta": -0.1325,
"percent_delta": -0.3978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.881,
"after": 4.0,
"delta": 1.119,
"percent_delta": 0.3884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2005,
"delta": -0.0335,
"percent_delta": -0.1432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.418,
"after": 0.0,
"delta": -0.418,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2872,
"delta": 0.0142,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"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.402,
"after": 0.3109,
"delta": -0.0911,
"percent_delta": -0.2266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.761,
"after": 2.0,
"delta": 1.239,
"percent_delta": 1.6281,
"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.761,
"after": 2.0,
"delta": 1.239,
"percent_delta": 1.6281,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.881 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.418 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.269 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.402 | - |
| 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.133 | 0.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.075 | 0.194 |
| predicted_AVG | 0.216 | -0.018 |
| predicted_BB | 0.381 | -0.037 |
| predicted_H | 0.652 | -0.008 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.072 | -0.008 |
| predicted_OBP | 0.270 | -0.004 |
| predicted_R | 0.267 | -0.003 |
| predicted_RBI | 0.330 | -0.000 |
| predicted_SLG | 0.356 | -0.046 |
| predicted_SO | 0.858 | 0.097 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.075 | 0.000 |
| predicted_AVG | 0.201 | -0.016 |
| predicted_BB | 0.374 | -0.007 |
| predicted_H | 0.617 | -0.035 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.068 | -0.004 |
| predicted_OBP | 0.287 | 0.018 |
| predicted_R | 0.241 | -0.025 |
| predicted_RBI | 0.298 | -0.031 |
| predicted_SLG | 0.311 | -0.045 |
| predicted_SO | 0.875 | 0.017 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.201 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.133 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.075 |
| predicted_AVG | 0.333 | 0.133 |
| predicted_BB | 0.000 | -0.374 |
| predicted_H | 1.000 | 0.383 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.333 | 0.046 |
| predicted_R | 0.000 | -0.241 |
| predicted_RBI | 0.000 | -0.298 |
| predicted_SLG | 0.333 | 0.022 |
| predicted_SO | 1.000 | 0.125 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 8.000 | 0.1500 | 0.1905 | 0.2000 | 0.1500 | 0.0000 | 0.0500 | 0.0500 | 0.4000 |
| last_10 | 0.20 | 10 | - | 38.000 | 5.000 | 2.000 | 0.000 | 0.000 | 3.000 | 1.000 | 1.000 | 13.000 | 0.1316 | 0.1538 | 0.1842 | 0.1316 | 0.0000 | 0.0790 | 0.0263 | 0.3421 |
| season | 0.60 | 67 | - | 193.000 | 41.000 | 8.000 | 0.000 | 5.000 | 22.000 | 18.000 | 28.000 | 51.000 | 0.2124 | 0.3170 | 0.3316 | 0.2124 | 0.0259 | 0.1140 | 0.1451 | 0.2642 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1530 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3490 |
| predicted_AVG | 0.1913 |
| predicted_BB | 0.3300 |
| predicted_H | 0.6410 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.2646 |
| predicted_R | 0.2630 |
| predicted_RBI | 0.3290 |
| predicted_SLG | 0.2915 |
| predicted_SO | 0.9950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1190 | 0.1530 | 0.1331 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8810 | 3.3490 | 3.0754 | model_form_blend |
| predicted_AVG | 0.2340 | 0.1913 | 0.2163 | model_form_blend |
| predicted_BB | 0.4180 | 0.3300 | 0.3814 | model_form_blend |
| predicted_H | 0.6600 | 0.6410 | 0.6521 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0800 | 0.0600 | 0.0717 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2646 | 0.2695 | model_form_blend |
| predicted_R | 0.2690 | 0.2630 | 0.2665 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3290 | 0.3296 | model_form_blend |
| predicted_SLG | 0.4020 | 0.2915 | 0.3561 | model_form_blend |
| predicted_SO | 0.7610 | 0.9950 | 0.8582 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 150 |
| Season rows before report date | 150 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.212 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 657041 |
| playerID | 657041 |
| playerName | Lane Thomas |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-01 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.298 |
| sl_xwoba | 0.314 |
| sl_xba | 0.239 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 4.2 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 19.7 |
| sl_whiff_percent | 20.5 |
| 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.152 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 3.456 | 3.000 | 4.000 | Hitting_AB | 3.529 | 4.000 | -0.529 | -1.000 |
| predicted_AVG | 0.232 | 0.000 | 0.250 | Hitting_AVG | 0.233 | 0.500 | -0.233 | -0.500 |
| predicted_BB | 0.304 | 1.000 | 0.000 | Hitting_BB | 0.327 | 0.000 | 0.673 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.360 | 0.000 | 1.000 | Hitting_H | 0.822 | 2.000 | -0.822 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.272 | 0.250 | 0.250 | Hitting_OBP | 0.308 | 0.500 | -0.058 | -0.250 |
| predicted_R | 0.494 | 0.000 | 0.000 | Hitting_R | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_SLG | 0.523 | 0.000 | 0.250 | Hitting_SLG | 0.410 | 0.500 | -0.410 | -0.500 |
| predicted_SO | 1.152 | 1.000 | 1.000 | Hitting_SO | 1.159 | 0.000 | -0.159 | 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.3040 -> 1.0000 (boost 0.6960, better) |
| Biggest Deboost | predicted_R: 0.4940 -> 0.0000 (deboost -0.4940, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3600 -> 0.5760 (boost 0.2160, better) | predicted_SLG: 0.5230 -> 0.5000 (deboost -0.0230, worse) | Final model input calibrated with local form: 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.5000 -> 0.3211 (deboost -0.1789, 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.5297 -> 4.0000 (boost 0.4703, better) | predicted_BB: 0.2893 -> 0.0000 (deboost -0.2893, worse) | AB rounded to 4 (raw=3.53), rates preserved: AVG=0.154 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4412 -> 0.0000 (deboost -0.4412, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1543 -> 0.2500 (boost 0.0957, better) | predicted_SLG: 0.3211 -> 0.2500 (deboost -0.0711, 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.3211 (boost 0.0711, better) | predicted_AVG: 0.2500 -> 0.1543 (deboost -0.0957, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695506",
"player_name": "Jac Caglianone",
"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.152,
"predicted_3B": 0.025,
"predicted_AB": 3.456,
"predicted_AVG": 0.232,
"predicted_BB": 0.304,
"predicted_H": 0.36,
"predicted_HR": 0.08,
"predicted_OBP": 0.272,
"predicted_R": 0.494,
"predicted_RBI": 0.22,
"predicted_SLG": 0.523,
"predicted_SO": 1.152
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1312,
"predicted_3B": 0.0432,
"predicted_AB": 3.5297,
"predicted_AVG": 0.2353,
"predicted_BB": 0.2951,
"predicted_H": 0.576,
"predicted_HBP": 0.032,
"predicted_HR": 0.13,
"predicted_OBP": 0.2838,
"predicted_R": 0.4876,
"predicted_RBI": 0.2941,
"predicted_SLG": 0.5,
"predicted_SO": 1.1711
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.1312,
"delta": -0.0208,
"percent_delta": -0.1368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0432,
"delta": 0.0182,
"percent_delta": 0.728,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.456,
"after": 3.5297,
"delta": 0.0737,
"percent_delta": 0.0213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2353,
"delta": 0.0033,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 0.2951,
"delta": -0.0089,
"percent_delta": -0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.576,
"delta": 0.216,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.13,
"delta": 0.05,
"percent_delta": 0.625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2838,
"delta": 0.0118,
"percent_delta": 0.0434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.4876,
"delta": -0.0064,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.2941,
"delta": 0.0741,
"percent_delta": 0.3368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.523,
"after": 0.5,
"delta": -0.023,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.152,
"after": 1.1711,
"delta": 0.0191,
"percent_delta": 0.0166,
"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.36,
"after": 0.576,
"delta": 0.216,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.523,
"after": 0.5,
"delta": -0.023,
"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": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1312,
"predicted_3B": 0.0432,
"predicted_AB": 3.5297,
"predicted_AVG": 0.1543,
"predicted_BB": 0.2893,
"predicted_H": 0.5447,
"predicted_HBP": 0.032,
"predicted_HR": 0.1237,
"predicted_OBP": 0.2184,
"predicted_R": 0.4412,
"predicted_RBI": 0.2661,
"predicted_SLG": 0.3211,
"predicted_SO": 1.1939
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1312,
"after": 0.1312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0432,
"after": 0.0432,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5297,
"after": 3.5297,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2353,
"after": 0.1543,
"delta": -0.081,
"percent_delta": -0.3442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2951,
"after": 0.2893,
"delta": -0.0058,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.576,
"after": 0.5447,
"delta": -0.0313,
"percent_delta": -0.0543,
"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.13,
"after": 0.1237,
"delta": -0.0063,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2838,
"after": 0.2184,
"delta": -0.0654,
"percent_delta": -0.2304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4876,
"after": 0.4412,
"delta": -0.0464,
"percent_delta": -0.0952,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2941,
"after": 0.2661,
"delta": -0.028,
"percent_delta": -0.0952,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.3211,
"delta": -0.1789,
"percent_delta": -0.3578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1711,
"after": 1.1939,
"delta": 0.0228,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.3211,
"delta": -0.1789,
"percent_delta": -0.3578,
"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.154 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1312,
"after": 0.0,
"delta": -0.1312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0432,
"after": 0.0,
"delta": -0.0432,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5297,
"after": 4.0,
"delta": 0.4703,
"percent_delta": 0.1332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2893,
"after": 0.0,
"delta": -0.2893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5447,
"after": 1.0,
"delta": 0.4553,
"percent_delta": 0.8359,
"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.1237,
"after": 0.0,
"delta": -0.1237,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2661,
"after": 0.0,
"delta": -0.2661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1939,
"after": 1.0,
"delta": -0.1939,
"percent_delta": -0.1624,
"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.5297,
"after": 4.0,
"delta": 0.4703,
"percent_delta": 0.1332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2893,
"after": 0.0,
"delta": -0.2893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4412,
"after": 0.0,
"delta": -0.4412,
"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.4412,
"after": 0.0,
"delta": -0.4412,
"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.1543,
"after": 0.25,
"delta": 0.0957,
"percent_delta": 0.6202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2184,
"after": 0.25,
"delta": 0.0316,
"percent_delta": 0.1447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3211,
"after": 0.25,
"delta": -0.0711,
"percent_delta": -0.2214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1543,
"after": 0.25,
"delta": 0.0957,
"percent_delta": 0.6202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3211,
"after": 0.25,
"delta": -0.0711,
"percent_delta": -0.2214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.1543,
"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.2184,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3211,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1543,
"delta": -0.0957,
"percent_delta": -0.3827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2184,
"delta": -0.0316,
"percent_delta": -0.1264,
"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.3211,
"delta": 0.0711,
"percent_delta": 0.2844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3211,
"delta": 0.0711,
"percent_delta": 0.2844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1543,
"delta": -0.0957,
"percent_delta": -0.3827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.152,
"after": 0.0,
"delta": -0.152,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.456,
"after": 3.0,
"delta": -0.456,
"percent_delta": -0.1319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.1543,
"delta": -0.0777,
"percent_delta": -0.3349,
"direction": "deboost",
"projection_effect": "worse",
"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.36,
"after": 0.0,
"delta": -0.36,
"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.272,
"after": 0.2184,
"delta": -0.0536,
"percent_delta": -0.1971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 0.0,
"delta": -0.494,
"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.523,
"after": 0.3211,
"delta": -0.2019,
"percent_delta": -0.386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.152,
"after": 1.0,
"delta": -0.152,
"percent_delta": -0.1319,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"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_R",
"before": 0.494,
"after": 0.0,
"delta": -0.494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 3.456 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.304 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.494 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.523 | - |
| predicted_SO | 1.152 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | -0.021 |
| predicted_3B | 0.043 | 0.018 |
| predicted_AB | 3.530 | 0.074 |
| predicted_AVG | 0.235 | 0.003 |
| predicted_BB | 0.295 | -0.009 |
| predicted_H | 0.576 | 0.216 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.130 | 0.050 |
| predicted_OBP | 0.284 | 0.012 |
| predicted_R | 0.488 | -0.006 |
| predicted_RBI | 0.294 | 0.074 |
| predicted_SLG | 0.500 | -0.023 |
| predicted_SO | 1.171 | 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.131 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 3.530 | 0.000 |
| predicted_AVG | 0.154 | -0.081 |
| predicted_BB | 0.289 | -0.006 |
| predicted_H | 0.545 | -0.031 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.124 | -0.006 |
| predicted_OBP | 0.218 | -0.065 |
| predicted_R | 0.441 | -0.046 |
| predicted_RBI | 0.266 | -0.028 |
| predicted_SLG | 0.321 | -0.179 |
| predicted_SO | 1.194 | 0.023 |
AB rounded to 4 (raw=3.53), rates preserved: AVG=0.154 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 | 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.131 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 4.000 | 0.470 |
| predicted_AVG | 0.250 | 0.096 |
| predicted_BB | 0.000 | -0.289 |
| predicted_H | 1.000 | 0.455 |
| predicted_HR | 0.000 | -0.124 |
| predicted_OBP | 0.250 | 0.032 |
| predicted_R | 0.000 | -0.441 |
| predicted_RBI | 0.000 | -0.266 |
| predicted_SLG | 0.250 | -0.071 |
| 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 | 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 | - | 19.000 | 3.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 7.000 | 0.1579 | 0.2000 | 0.2632 | 0.1579 | 0.0000 | 0.0000 | 0.0526 | 0.3684 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 0.000 | 1.000 | 5.000 | 8.000 | 9.000 | 3.000 | 13.000 | 0.2564 | 0.3095 | 0.6923 | 0.2564 | 0.1282 | 0.2051 | 0.0769 | 0.3333 |
| season | 0.60 | 79 | - | 273.000 | 71.000 | 12.000 | 2.000 | 14.000 | 30.000 | 39.000 | 24.000 | 91.000 | 0.2601 | 0.3289 | 0.4725 | 0.2601 | 0.0513 | 0.1099 | 0.0879 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1030 |
| predicted_3B | 0.0680 |
| predicted_AB | 3.6300 |
| predicted_AVG | 0.2397 |
| predicted_BB | 0.2830 |
| predicted_H | 0.8700 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1980 |
| predicted_OBP | 0.2998 |
| predicted_R | 0.4790 |
| predicted_RBI | 0.3950 |
| predicted_SLG | 0.4686 |
| predicted_SO | 1.1970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1520 | 0.1030 | 0.1312 | model_form_blend |
| predicted_3B | 0.0250 | 0.0680 | 0.0432 | model_form_blend |
| predicted_AB | 3.4560 | 3.6300 | 3.5297 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2397 | 0.2353 | model_form_blend |
| predicted_BB | 0.3040 | 0.2830 | 0.2951 | model_form_blend |
| predicted_H | 0.3600 | 0.8700 | 0.5760 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.0800 | 0.1980 | 0.1300 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2998 | 0.2838 | model_form_blend |
| predicted_R | 0.4940 | 0.4790 | 0.4876 | model_form_blend |
| predicted_RBI | 0.2200 | 0.3950 | 0.2941 | model_form_blend |
| predicted_SLG | 0.5230 | 0.4686 | 0.5000 | model_form_blend |
| predicted_SO | 1.1520 | 1.1970 | 1.1711 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.26 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.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 | 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 | 20260701_TB@KC |
| game_type | full |
| mlbID | 695506 |
| playerID | 695506 |
| playerName | Jac Caglianone |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-01 |
| sl_k_percent | 29.8 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.353 |
| sl_xwoba | 0.376 |
| sl_xba | 0.281 |
| sl_xslg | 0.526 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 16.2 |
| sl_hard_hit_percent | 58.9 |
| sl_exit_velocity_avg | 93.9 |
| sl_launch_angle_avg | 8.1 |
| sl_whiff_percent | 30.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.111 | 1.000 | 0.000 | Hitting_2B | 0.149 | 0.000 | 0.851 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.694 | 4.000 | 3.000 | Hitting_AB | 2.905 | 3.000 | 1.095 | 1.000 |
| predicted_AVG | 0.269 | 0.500 | 0.333 | Hitting_AVG | 0.302 | 0.333 | 0.198 | 0.167 |
| predicted_BB | 0.222 | 0.000 | 0.000 | Hitting_BB | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_H | 0.690 | 2.000 | 1.000 | Hitting_H | 0.878 | 1.000 | 1.122 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_OBP | 0.319 | 0.500 | 0.333 | Hitting_OBP | 0.357 | 0.333 | 0.143 | 0.167 |
| predicted_R | 0.306 | 0.000 | 0.000 | Hitting_R | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_SLG | 0.429 | 0.750 | 0.333 | Hitting_SLG | 0.367 | 0.333 | 0.383 | 0.417 |
| predicted_SO | 0.778 | 0.000 | 1.000 | Hitting_SO | 0.838 | 0.000 | -0.838 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.6900 -> 2.0000 (boost 1.3100, better) |
| Biggest Deboost | predicted_SO: 0.7780 -> 0.0000 (deboost -0.7780, 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: 2.6940 -> 2.8174 (boost 0.1234, better) | predicted_SLG: 0.4290 -> 0.3916 (deboost -0.0374, worse) | Final model input calibrated with local form: 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.3916 -> 0.3407 (deboost -0.0509, 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.6854 -> 1.0000 (boost 0.3146, better) | predicted_BB: 0.2567 -> 0.0000 (deboost -0.2567, worse) | AB rounded to 3 (raw=2.82), rates preserved: AVG=0.243 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3235 -> 0.0000 (deboost -0.3235, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2433 -> 0.3330 (boost 0.0897, better) | predicted_SLG: 0.3407 -> 0.3330 (deboost -0.0077, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3407 (boost 0.0077, better) | predicted_AVG: 0.3330 -> 0.2433 (deboost -0.0897, 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.111,
"predicted_3B": 0.0,
"predicted_AB": 2.694,
"predicted_AVG": 0.269,
"predicted_BB": 0.222,
"predicted_H": 0.69,
"predicted_HR": 0.07,
"predicted_OBP": 0.319,
"predicted_R": 0.306,
"predicted_RBI": 0.29,
"predicted_SLG": 0.429,
"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.1087,
"predicted_3B": 0.0012,
"predicted_AB": 2.8174,
"predicted_AVG": 0.265,
"predicted_BB": 0.2618,
"predicted_H": 0.7248,
"predicted_HBP": 0.035,
"predicted_HR": 0.0572,
"predicted_OBP": 0.3234,
"predicted_R": 0.3575,
"predicted_RBI": 0.2745,
"predicted_SLG": 0.3916,
"predicted_SO": 0.7664
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1087,
"delta": -0.0023,
"percent_delta": -0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0012,
"delta": 0.0012,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.694,
"after": 2.8174,
"delta": 0.1234,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.265,
"delta": -0.004,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.2618,
"delta": 0.0398,
"percent_delta": 0.1793,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.7248,
"delta": 0.0348,
"percent_delta": 0.0504,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0572,
"delta": -0.0128,
"percent_delta": -0.1829,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3234,
"delta": 0.0044,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.306,
"after": 0.3575,
"delta": 0.0515,
"percent_delta": 0.1683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2745,
"delta": -0.0155,
"percent_delta": -0.0534,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.3916,
"delta": -0.0374,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.7664,
"delta": -0.0116,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_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.694,
"after": 2.8174,
"delta": 0.1234,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.3916,
"delta": -0.0374,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1087,
"predicted_3B": 0.0012,
"predicted_AB": 2.8174,
"predicted_AVG": 0.2433,
"predicted_BB": 0.2567,
"predicted_H": 0.6854,
"predicted_HBP": 0.035,
"predicted_HR": 0.0544,
"predicted_OBP": 0.3065,
"predicted_R": 0.3235,
"predicted_RBI": 0.2484,
"predicted_SLG": 0.3407,
"predicted_SO": 0.7813
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1087,
"after": 0.1087,
"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": 2.8174,
"after": 2.8174,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2433,
"delta": -0.0217,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2618,
"after": 0.2567,
"delta": -0.0051,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7248,
"after": 0.6854,
"delta": -0.0394,
"percent_delta": -0.0544,
"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.0572,
"after": 0.0544,
"delta": -0.0028,
"percent_delta": -0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3234,
"after": 0.3065,
"delta": -0.0169,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3575,
"after": 0.3235,
"delta": -0.034,
"percent_delta": -0.0951,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2745,
"after": 0.2484,
"delta": -0.0261,
"percent_delta": -0.0951,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3916,
"after": 0.3407,
"delta": -0.0509,
"percent_delta": -0.13,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7664,
"after": 0.7813,
"delta": 0.0149,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3916,
"after": 0.3407,
"delta": -0.0509,
"percent_delta": -0.13,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.82), rates preserved: AVG=0.243 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.1087,
"after": 0.0,
"delta": -0.1087,
"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": 2.8174,
"after": 3.0,
"delta": 0.1826,
"percent_delta": 0.0648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2567,
"after": 0.0,
"delta": -0.2567,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6854,
"after": 1.0,
"delta": 0.3146,
"percent_delta": 0.459,
"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.0544,
"after": 0.0,
"delta": -0.0544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2484,
"after": 0.0,
"delta": -0.2484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7813,
"after": 1.0,
"delta": 0.2187,
"percent_delta": 0.2799,
"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.6854,
"after": 1.0,
"delta": 0.3146,
"percent_delta": 0.459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2567,
"after": 0.0,
"delta": -0.2567,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3235,
"after": 0.0,
"delta": -0.3235,
"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.3235,
"after": 0.0,
"delta": -0.3235,
"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.2433,
"after": 0.333,
"delta": 0.0897,
"percent_delta": 0.3687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3065,
"after": 0.333,
"delta": 0.0265,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3407,
"after": 0.333,
"delta": -0.0077,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2433,
"after": 0.333,
"delta": 0.0897,
"percent_delta": 0.3687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3407,
"after": 0.333,
"delta": -0.0077,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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.2433,
"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.3065,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3407,
"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.2433,
"delta": -0.0897,
"percent_delta": -0.2694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3065,
"delta": -0.0265,
"percent_delta": -0.0796,
"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.3407,
"delta": 0.0077,
"percent_delta": 0.0231,
"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.3407,
"delta": 0.0077,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2433,
"delta": -0.0897,
"percent_delta": -0.2694,
"direction": "deboost",
"projection_effect": "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": 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": 2.694,
"after": 4.0,
"delta": 1.306,
"percent_delta": 0.4848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2433,
"delta": -0.0257,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3065,
"delta": -0.0125,
"percent_delta": -0.0392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.306,
"after": 0.0,
"delta": -0.306,
"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.429,
"after": 0.3407,
"delta": -0.0883,
"percent_delta": -0.2058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.0,
"delta": -0.778,
"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.69,
"after": 2.0,
"delta": 1.31,
"percent_delta": 1.8986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.778,
"after": 0.0,
"delta": -0.778,
"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 | 2.694 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.222 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.306 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.429 | - |
| 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.109 | -0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.817 | 0.123 |
| predicted_AVG | 0.265 | -0.004 |
| predicted_BB | 0.262 | 0.040 |
| predicted_H | 0.725 | 0.035 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.057 | -0.013 |
| predicted_OBP | 0.323 | 0.004 |
| predicted_R | 0.357 | 0.051 |
| predicted_RBI | 0.275 | -0.015 |
| predicted_SLG | 0.392 | -0.037 |
| predicted_SO | 0.766 | -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.109 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.817 | 0.000 |
| predicted_AVG | 0.243 | -0.022 |
| predicted_BB | 0.257 | -0.005 |
| predicted_H | 0.685 | -0.039 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.054 | -0.003 |
| predicted_OBP | 0.306 | -0.017 |
| predicted_R | 0.324 | -0.034 |
| predicted_RBI | 0.248 | -0.026 |
| predicted_SLG | 0.341 | -0.051 |
| predicted_SO | 0.781 | 0.015 |
AB rounded to 3 (raw=2.82), rates preserved: AVG=0.243 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.109 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.183 |
| predicted_AVG | 0.333 | 0.090 |
| predicted_BB | 0.000 | -0.257 |
| predicted_H | 1.000 | 0.315 |
| predicted_HR | 0.000 | -0.054 |
| predicted_OBP | 0.333 | 0.027 |
| predicted_R | 0.000 | -0.324 |
| predicted_RBI | 0.000 | -0.248 |
| predicted_SLG | 0.333 | -0.008 |
| predicted_SO | 1.000 | 0.219 |
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 | 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 | - | 14.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 3.000 | 0.2143 | 0.3333 | 0.2143 | 0.2143 | 0.0000 | 0.0714 | 0.2143 | 0.2143 |
| last_10 | 0.20 | 10 | - | 31.000 | 9.000 | 1.000 | 0.000 | 0.000 | 2.000 | 6.000 | 4.000 | 6.000 | 0.2903 | 0.3611 | 0.3226 | 0.2903 | 0.0000 | 0.0645 | 0.1290 | 0.1935 |
| season | 0.60 | 36 | - | 97.000 | 26.000 | 4.000 | 0.000 | 1.000 | 7.000 | 11.000 | 8.000 | 28.000 | 0.2680 | 0.3303 | 0.3402 | 0.2680 | 0.0103 | 0.0722 | 0.0825 | 0.2887 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.0130 |
| predicted_AVG | 0.2587 |
| predicted_BB | 0.3250 |
| predicted_H | 0.7800 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.0370 |
| predicted_OBP | 0.3303 |
| predicted_R | 0.4390 |
| predicted_RBI | 0.2500 |
| predicted_SLG | 0.3324 |
| predicted_SO | 0.7480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1050 | 0.1087 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.6940 | 3.0130 | 2.8174 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2587 | 0.2650 | model_form_blend |
| predicted_BB | 0.2220 | 0.3250 | 0.2618 | model_form_blend |
| predicted_H | 0.6900 | 0.7800 | 0.7248 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.0700 | 0.0370 | 0.0572 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3303 | 0.3234 | model_form_blend |
| predicted_R | 0.3060 | 0.4390 | 0.3575 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2500 | 0.2745 | model_form_blend |
| predicted_SLG | 0.4290 | 0.3324 | 0.3916 | model_form_blend |
| predicted_SO | 0.7780 | 0.7480 | 0.7664 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 74 |
| Season rows before report date | 74 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.268 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 516782 |
| playerID | 516782 |
| playerName | Starling Marte |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-01 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.302 |
| sl_xwoba | 0.317 |
| sl_xba | 0.252 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 12.7 |
| sl_hard_hit_percent | 36.6 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 7.3 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 50.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.250 | 0.000 | 0.000 | Hitting_2B | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_AB | 3.000 | 3.000 | 3.000 | Hitting_AB | 2.969 | 2.000 | 0.031 | 1.000 |
| predicted_AVG | 0.227 | 0.333 | 0.333 | Hitting_AVG | 0.219 | 0.000 | 0.115 | 0.333 |
| predicted_BB | 0.354 | 1.000 | 0.000 | Hitting_BB | 0.392 | 1.000 | 0.608 | 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.649 | 0.000 | 0.351 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_OBP | 0.270 | 0.500 | 0.333 | Hitting_OBP | 0.324 | 0.333 | 0.176 | 0.167 |
| predicted_R | 0.438 | 0.000 | 0.000 | Hitting_R | 0.495 | 0.000 | -0.495 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.598 | 0.000 | -0.598 | 0.000 |
| predicted_SLG | 0.420 | 0.333 | 0.333 | Hitting_SLG | 0.340 | 0.000 | -0.007 | 0.333 |
| predicted_SO | 0.458 | 1.000 | 0.000 | Hitting_SO | 0.381 | 0.000 | 0.619 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3540 -> 1.0000 (boost 0.6460, better) |
| Biggest Deboost | predicted_R: 0.4380 -> 0.0000 (deboost -0.4380, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.0000 -> 3.0770 (boost 0.0770, better) | predicted_SLG: 0.4200 -> 0.3794 (deboost -0.0406, worse) | Final model input calibrated with local form: 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.2659 -> 0.2722 (boost 0.0063, better) | predicted_SLG: 0.3794 -> 0.3573 (deboost -0.0221, 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.6022 -> 1.0000 (boost 0.3978, better) | predicted_SO: 0.4876 -> 0.0000 (deboost -0.4876, better) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.196 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3868 -> 0.0000 (deboost -0.3868, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1957 -> 0.3330 (boost 0.1373, better) | predicted_SLG: 0.3573 -> 0.3330 (deboost -0.0243, 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_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.3573 (boost 0.0243, better) | predicted_AVG: 0.3330 -> 0.1957 (deboost -0.1373, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679845",
"player_name": "Nick Loftin",
"position": "3B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.021,
"predicted_AB": 3.0,
"predicted_AVG": 0.227,
"predicted_BB": 0.354,
"predicted_H": 0.67,
"predicted_HR": 0.09,
"predicted_OBP": 0.27,
"predicted_R": 0.438,
"predicted_RBI": 0.39,
"predicted_SLG": 0.42,
"predicted_SO": 0.458
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2127,
"predicted_3B": 0.0178,
"predicted_AB": 3.077,
"predicted_AVG": 0.2096,
"predicted_BB": 0.3297,
"predicted_H": 0.6368,
"predicted_HBP": 0.054,
"predicted_HR": 0.0872,
"predicted_OBP": 0.2659,
"predicted_R": 0.4275,
"predicted_RBI": 0.3924,
"predicted_SLG": 0.3794,
"predicted_SO": 0.4783
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2127,
"delta": -0.0373,
"percent_delta": -0.1492,
"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.0,
"after": 3.077,
"delta": 0.077,
"percent_delta": 0.0257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2096,
"delta": -0.0174,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.3297,
"delta": -0.0243,
"percent_delta": -0.0686,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.6368,
"delta": -0.0332,
"percent_delta": -0.0496,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0872,
"delta": -0.0028,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2659,
"delta": -0.0041,
"percent_delta": -0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.4275,
"delta": -0.0105,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3924,
"delta": 0.0024,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.3794,
"delta": -0.0406,
"percent_delta": -0.0967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.458,
"after": 0.4783,
"delta": 0.0203,
"percent_delta": 0.0443,
"direction": "no_change",
"projection_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": 3.077,
"delta": 0.077,
"percent_delta": 0.0257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.3794,
"delta": -0.0406,
"percent_delta": -0.0967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.2127,
"predicted_3B": 0.0178,
"predicted_AB": 3.077,
"predicted_AVG": 0.1957,
"predicted_BB": 0.3233,
"predicted_H": 0.6022,
"predicted_HBP": 0.054,
"predicted_HR": 0.083,
"predicted_OBP": 0.2722,
"predicted_R": 0.3868,
"predicted_RBI": 0.3551,
"predicted_SLG": 0.3573,
"predicted_SO": 0.4876
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2127,
"after": 0.2127,
"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.077,
"after": 3.077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2096,
"after": 0.1957,
"delta": -0.0139,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3297,
"after": 0.3233,
"delta": -0.0064,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6368,
"after": 0.6022,
"delta": -0.0346,
"percent_delta": -0.0543,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0872,
"after": 0.083,
"delta": -0.0042,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2659,
"after": 0.2722,
"delta": 0.0063,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4275,
"after": 0.3868,
"delta": -0.0407,
"percent_delta": -0.0952,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3924,
"after": 0.3551,
"delta": -0.0373,
"percent_delta": -0.0951,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3794,
"after": 0.3573,
"delta": -0.0221,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4783,
"after": 0.4876,
"delta": 0.0093,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_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.2659,
"after": 0.2722,
"delta": 0.0063,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3794,
"after": 0.3573,
"delta": -0.0221,
"percent_delta": -0.0582,
"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.196 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2127,
"after": 0.0,
"delta": -0.2127,
"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.077,
"after": 3.0,
"delta": -0.077,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3233,
"after": 0.0,
"delta": -0.3233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6022,
"after": 1.0,
"delta": 0.3978,
"percent_delta": 0.6606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.083,
"after": 0.0,
"delta": -0.083,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3551,
"after": 0.0,
"delta": -0.3551,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4876,
"after": 0.0,
"delta": -0.4876,
"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_H",
"before": 0.6022,
"after": 1.0,
"delta": 0.3978,
"percent_delta": 0.6606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4876,
"after": 0.0,
"delta": -0.4876,
"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.3868,
"after": 0.0,
"delta": -0.3868,
"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.3868,
"after": 0.0,
"delta": -0.3868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.1957,
"after": 0.333,
"delta": 0.1373,
"percent_delta": 0.7016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2722,
"after": 0.333,
"delta": 0.0608,
"percent_delta": 0.2234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3573,
"after": 0.333,
"delta": -0.0243,
"percent_delta": -0.068,
"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.1957,
"after": 0.333,
"delta": 0.1373,
"percent_delta": 0.7016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3573,
"after": 0.333,
"delta": -0.0243,
"percent_delta": -0.068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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_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.1957,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2722,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3573,
"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.1957,
"delta": -0.1373,
"percent_delta": -0.4123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2722,
"delta": -0.0608,
"percent_delta": -0.1826,
"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.3573,
"delta": 0.0243,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.3573,
"delta": 0.0243,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1957,
"delta": -0.1373,
"percent_delta": -0.4123,
"direction": "deboost",
"projection_effect": "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.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.1957,
"delta": -0.0313,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 1.0,
"delta": 0.646,
"percent_delta": 1.8249,
"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.27,
"after": 0.2722,
"delta": 0.0022,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.3573,
"delta": -0.0627,
"percent_delta": -0.1493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.458,
"after": 1.0,
"delta": 0.542,
"percent_delta": 1.1834,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.354,
"after": 1.0,
"delta": 0.646,
"percent_delta": 1.8249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.021 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.354 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.270 | - |
| predicted_R | 0.438 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.458 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.037 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 3.077 | 0.077 |
| predicted_AVG | 0.210 | -0.017 |
| predicted_BB | 0.330 | -0.024 |
| predicted_H | 0.637 | -0.033 |
| predicted_HBP | 0.054 | - |
| predicted_HR | 0.087 | -0.003 |
| predicted_OBP | 0.266 | -0.004 |
| predicted_R | 0.427 | -0.011 |
| predicted_RBI | 0.392 | 0.002 |
| predicted_SLG | 0.379 | -0.041 |
| predicted_SO | 0.478 | 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.213 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.077 | 0.000 |
| predicted_AVG | 0.196 | -0.014 |
| predicted_BB | 0.323 | -0.006 |
| predicted_H | 0.602 | -0.035 |
| predicted_HBP | 0.054 | 0.000 |
| predicted_HR | 0.083 | -0.004 |
| predicted_OBP | 0.272 | 0.006 |
| predicted_R | 0.387 | -0.041 |
| predicted_RBI | 0.355 | -0.037 |
| predicted_SLG | 0.357 | -0.022 |
| predicted_SO | 0.488 | 0.009 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.196 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 | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.213 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | -0.077 |
| predicted_AVG | 0.333 | 0.137 |
| predicted_BB | 0.000 | -0.323 |
| predicted_H | 1.000 | 0.398 |
| predicted_HR | 0.000 | -0.083 |
| predicted_OBP | 0.333 | 0.061 |
| predicted_R | 0.000 | -0.387 |
| predicted_RBI | 0.000 | -0.355 |
| predicted_SLG | 0.333 | -0.024 |
| predicted_SO | 0.000 | -0.488 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total 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 | 0.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 | - | 34.000 | 6.000 | 0.000 | 0.000 | 2.000 | 4.000 | 7.000 | 2.000 | 5.000 | 0.1765 | 0.2432 | 0.3529 | 0.1765 | 0.0588 | 0.1177 | 0.0588 | 0.1471 |
| season | 0.60 | 48 | - | 144.000 | 33.000 | 12.000 | 1.000 | 3.000 | 24.000 | 21.000 | 17.000 | 22.000 | 0.2292 | 0.3174 | 0.3889 | 0.2292 | 0.0208 | 0.1667 | 0.1181 | 0.1528 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1580 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.1900 |
| predicted_AVG | 0.1842 |
| predicted_BB | 0.2940 |
| predicted_H | 0.5880 |
| predicted_HBP | 0.0540 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.2598 |
| predicted_R | 0.4120 |
| predicted_RBI | 0.3960 |
| predicted_SLG | 0.3198 |
| predicted_SO | 0.5080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.1580 | 0.2127 | model_form_blend |
| predicted_3B | 0.0210 | 0.0130 | 0.0178 | model_form_blend |
| predicted_AB | 3.0000 | 3.1900 | 3.0770 | model_form_blend |
| predicted_AVG | 0.2270 | 0.1842 | 0.2096 | model_form_blend |
| predicted_BB | 0.3540 | 0.2940 | 0.3297 | model_form_blend |
| predicted_H | 0.6700 | 0.5880 | 0.6368 | model_form_blend |
| predicted_HBP | - | 0.0540 | 0.0540 | form_only |
| predicted_HR | 0.0900 | 0.0830 | 0.0872 | model_form_blend |
| predicted_OBP | 0.2700 | 0.2598 | 0.2659 | model_form_blend |
| predicted_R | 0.4380 | 0.4120 | 0.4275 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3960 | 0.3924 | model_form_blend |
| predicted_SLG | 0.4200 | 0.3198 | 0.3794 | model_form_blend |
| predicted_SO | 0.4580 | 0.5080 | 0.4783 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 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 | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 679845 |
| playerID | 679845 |
| playerName | Nick Loftin |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-01 |
| sl_k_percent | 12.9 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.317 |
| sl_xwoba | 0.319 |
| sl_xba | 0.244 |
| sl_xslg | 0.369 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 32.5 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 14.6 |
| 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.192 | 0.000 | 0.000 | Hitting_2B | 0.154 | 1.000 | -0.154 | -1.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.250 | 3.000 | -0.250 | 0.000 |
| predicted_AVG | 0.254 | 0.000 | 0.333 | Hitting_AVG | 0.228 | 0.333 | -0.228 | -0.333 |
| predicted_BB | 0.466 | 1.000 | 0.000 | Hitting_BB | 0.543 | 0.000 | 0.457 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 0.740 | 1.000 | -0.740 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.330 | 0.250 | 0.333 | Hitting_OBP | 0.351 | 0.333 | -0.101 | -0.083 |
| predicted_R | 0.411 | 0.000 | 0.000 | Hitting_R | 0.438 | 1.000 | -0.438 | -1.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.380 | 0.000 | -0.380 | 0.000 |
| predicted_SLG | 0.457 | 0.000 | 0.333 | Hitting_SLG | 0.324 | 0.667 | -0.324 | -0.667 |
| predicted_SO | 0.877 | 2.000 | 1.000 | Hitting_SO | 1.000 | 0.000 | 1.000 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.8770 -> 2.0000 (boost 1.1230, worse) |
| Biggest Deboost | predicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_2B: 0.1920 -> 0.2573 (boost 0.0653, better) | predicted_SO: 0.8770 -> 0.7847 (deboost -0.0923, better) | Final model input calibrated with local form: 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.4301 -> 0.3562 (deboost -0.0739, 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.7313 -> 1.0000 (boost 0.2687, better) | predicted_BB: 0.4098 -> 0.0000 (deboost -0.4098, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.228 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3807 -> 0.0000 (deboost -0.3807, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2276 -> 0.3330 (boost 0.1054, better) | predicted_SLG: 0.3562 -> 0.3330 (deboost -0.0232, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 1 | 2 | predicted_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.3562 (boost 0.0232, better) | predicted_AVG: 0.3330 -> 0.2276 (deboost -0.1054, 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.192,
"predicted_3B": 0.0,
"predicted_AB": 3.205,
"predicted_AVG": 0.254,
"predicted_BB": 0.466,
"predicted_H": 0.74,
"predicted_HR": 0.07,
"predicted_OBP": 0.33,
"predicted_R": 0.411,
"predicted_RBI": 0.34,
"predicted_SLG": 0.457,
"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.2573,
"predicted_3B": 0.0004,
"predicted_AB": 3.2138,
"predicted_AVG": 0.2539,
"predicted_BB": 0.418,
"predicted_H": 0.7733,
"predicted_HBP": 0.106,
"predicted_HR": 0.0544,
"predicted_OBP": 0.3364,
"predicted_R": 0.4207,
"predicted_RBI": 0.3354,
"predicted_SLG": 0.4301,
"predicted_SO": 0.7847
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.192,
"after": 0.2573,
"delta": 0.0653,
"percent_delta": 0.3401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.205,
"after": 3.2138,
"delta": 0.0088,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2539,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.466,
"after": 0.418,
"delta": -0.048,
"percent_delta": -0.103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7733,
"delta": 0.0333,
"percent_delta": 0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0544,
"delta": -0.0156,
"percent_delta": -0.2229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3364,
"delta": 0.0064,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.411,
"after": 0.4207,
"delta": 0.0097,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.457,
"after": 0.4301,
"delta": -0.0269,
"percent_delta": -0.0589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.877,
"after": 0.7847,
"delta": -0.0923,
"percent_delta": -0.1052,
"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.192,
"after": 0.2573,
"delta": 0.0653,
"percent_delta": 0.3401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.877,
"after": 0.7847,
"delta": -0.0923,
"percent_delta": -0.1052,
"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": 73
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2573,
"predicted_3B": 0.0004,
"predicted_AB": 3.2138,
"predicted_AVG": 0.2276,
"predicted_BB": 0.4098,
"predicted_H": 0.7313,
"predicted_HBP": 0.106,
"predicted_HR": 0.0518,
"predicted_OBP": 0.3149,
"predicted_R": 0.3807,
"predicted_RBI": 0.3035,
"predicted_SLG": 0.3562,
"predicted_SO": 0.8
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2573,
"after": 0.2573,
"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.2138,
"after": 3.2138,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2539,
"after": 0.2276,
"delta": -0.0263,
"percent_delta": -0.1036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.418,
"after": 0.4098,
"delta": -0.0082,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7733,
"after": 0.7313,
"delta": -0.042,
"percent_delta": -0.0543,
"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.0544,
"after": 0.0518,
"delta": -0.0026,
"percent_delta": -0.0478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3364,
"after": 0.3149,
"delta": -0.0215,
"percent_delta": -0.0639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4207,
"after": 0.3807,
"delta": -0.04,
"percent_delta": -0.0951,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3354,
"after": 0.3035,
"delta": -0.0319,
"percent_delta": -0.0951,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4301,
"after": 0.3562,
"delta": -0.0739,
"percent_delta": -0.1718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7847,
"after": 0.8,
"delta": 0.0153,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4301,
"after": 0.3562,
"delta": -0.0739,
"percent_delta": -0.1718,
"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.228 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.2573,
"after": 0.0,
"delta": -0.2573,
"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.2138,
"after": 3.0,
"delta": -0.2138,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4098,
"after": 0.0,
"delta": -0.4098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7313,
"after": 1.0,
"delta": 0.2687,
"percent_delta": 0.3674,
"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.0518,
"after": 0.0,
"delta": -0.0518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3035,
"after": 0.0,
"delta": -0.3035,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 1.0,
"delta": 0.2,
"percent_delta": 0.25,
"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.7313,
"after": 1.0,
"delta": 0.2687,
"percent_delta": 0.3674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4098,
"after": 0.0,
"delta": -0.4098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3807,
"after": 0.0,
"delta": -0.3807,
"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.3807,
"after": 0.0,
"delta": -0.3807,
"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.2276,
"after": 0.333,
"delta": 0.1054,
"percent_delta": 0.4631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3149,
"after": 0.333,
"delta": 0.0181,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3562,
"after": 0.333,
"delta": -0.0232,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2276,
"after": 0.333,
"delta": 0.1054,
"percent_delta": 0.4631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3562,
"after": 0.333,
"delta": -0.0232,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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.2276,
"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.3149,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3562,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.2276,
"delta": -0.1054,
"percent_delta": -0.3167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3149,
"delta": -0.0181,
"percent_delta": -0.0543,
"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.3562,
"delta": 0.0232,
"percent_delta": 0.0696,
"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.3562,
"delta": 0.0232,
"percent_delta": 0.0696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2276,
"delta": -0.1054,
"percent_delta": -0.3167,
"direction": "deboost",
"projection_effect": "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": 0.0,
"delta": -0.192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 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.254,
"after": 0.2276,
"delta": -0.0264,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.466,
"after": 1.0,
"delta": 0.534,
"percent_delta": 1.1459,
"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.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3149,
"delta": -0.0151,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.411,
"after": 0.0,
"delta": -0.411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.3562,
"delta": -0.1008,
"percent_delta": -0.2206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.877,
"after": 2.0,
"delta": 1.123,
"percent_delta": 1.2805,
"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.877,
"after": 2.0,
"delta": 1.123,
"percent_delta": 1.2805,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.205 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.466 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.411 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.457 | - |
| 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.257 | 0.065 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.214 | 0.009 |
| predicted_AVG | 0.254 | -0.000 |
| predicted_BB | 0.418 | -0.048 |
| predicted_H | 0.773 | 0.033 |
| predicted_HBP | 0.106 | - |
| predicted_HR | 0.054 | -0.016 |
| predicted_OBP | 0.336 | 0.006 |
| predicted_R | 0.421 | 0.010 |
| predicted_RBI | 0.335 | -0.005 |
| predicted_SLG | 0.430 | -0.027 |
| predicted_SO | 0.785 | -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.257 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.214 | 0.000 |
| predicted_AVG | 0.228 | -0.026 |
| predicted_BB | 0.410 | -0.008 |
| predicted_H | 0.731 | -0.042 |
| predicted_HBP | 0.106 | 0.000 |
| predicted_HR | 0.052 | -0.003 |
| predicted_OBP | 0.315 | -0.021 |
| predicted_R | 0.381 | -0.040 |
| predicted_RBI | 0.303 | -0.032 |
| predicted_SLG | 0.356 | -0.074 |
| predicted_SO | 0.800 | 0.015 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.228 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.257 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.214 |
| predicted_AVG | 0.333 | 0.105 |
| predicted_BB | 0.000 | -0.410 |
| predicted_H | 1.000 | 0.269 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.333 | 0.018 |
| predicted_R | 0.000 | -0.381 |
| predicted_RBI | 0.000 | -0.303 |
| predicted_SLG | 0.333 | -0.023 |
| predicted_SO | 1.000 | 0.200 |
Attached 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 | 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 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.2857 | 0.3750 | 0.5000 | 0.2857 | 0.0000 | 0.0714 | 0.0714 | 0.0714 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 6.000 | 0.000 | 0.000 | 4.000 | 5.000 | 2.000 | 4.000 | 0.2941 | 0.3514 | 0.4706 | 0.2941 | 0.0000 | 0.1177 | 0.0588 | 0.1177 |
| season | 0.60 | 73 | - | 234.000 | 54.000 | 14.000 | 0.000 | 3.000 | 24.000 | 30.000 | 34.000 | 64.000 | 0.2308 | 0.3406 | 0.3291 | 0.2308 | 0.0128 | 0.1026 | 0.1453 | 0.2735 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3470 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2260 |
| predicted_AVG | 0.2538 |
| predicted_BB | 0.3520 |
| predicted_H | 0.8190 |
| predicted_HBP | 0.1060 |
| predicted_HR | 0.0330 |
| predicted_OBP | 0.3453 |
| predicted_R | 0.4340 |
| predicted_RBI | 0.3290 |
| predicted_SLG | 0.3932 |
| predicted_SO | 0.6580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1920 | 0.3470 | 0.2573 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2050 | 3.2260 | 3.2138 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2538 | 0.2539 | model_form_blend |
| predicted_BB | 0.4660 | 0.3520 | 0.4180 | model_form_blend |
| predicted_H | 0.7400 | 0.8190 | 0.7733 | model_form_blend |
| predicted_HBP | - | 0.1060 | 0.1060 | form_only |
| predicted_HR | 0.0700 | 0.0330 | 0.0544 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3453 | 0.3364 | model_form_blend |
| predicted_R | 0.4110 | 0.4340 | 0.4207 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3290 | 0.3354 | model_form_blend |
| predicted_SLG | 0.4570 | 0.3932 | 0.4301 | model_form_blend |
| predicted_SO | 0.8770 | 0.6580 | 0.7847 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 73 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.231 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | LF |
| gameID | 20260630_TB@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-30 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.307 |
| sl_xwoba | 0.31 |
| sl_xba | 0.237 |
| sl_xslg | 0.325 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 41.2 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 16.9 |
| sl_whiff_percent | 22.4 |
| 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.215 | 0.000 | 0.000 | Hitting_2B | 0.243 | 0.000 | -0.243 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.062 | 4.000 | 3.000 | Hitting_AB | 3.139 | 3.000 | 0.861 | 1.000 |
| predicted_AVG | 0.253 | 0.000 | 0.333 | Hitting_AVG | 0.246 | 0.333 | -0.246 | -0.333 |
| predicted_BB | 0.154 | 0.000 | 0.000 | Hitting_BB | 0.118 | 0.000 | -0.118 | 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.771 | 1.000 | -0.771 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.333 | Hitting_OBP | 0.267 | 0.333 | -0.267 | -0.333 |
| predicted_R | 0.369 | 0.000 | 0.000 | Hitting_R | 0.347 | 0.000 | -0.347 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.417 | 0.000 | -0.417 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_SLG | 0.473 | 0.000 | 0.333 | Hitting_SLG | 0.416 | 0.333 | -0.416 | -0.333 |
| predicted_SO | 0.538 | 0.000 | 1.000 | Hitting_SO | 0.576 | 2.000 | -0.576 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 10 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.0620 -> 4.0000 (boost 0.9380, better) |
| Biggest Deboost | predicted_H: 0.7300 -> 0.0000 (deboost -0.7300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AB: 3.0620 -> 3.1270 (boost 0.0650, better) | predicted_SLG: 0.4730 -> 0.4327 (deboost -0.0403, worse) | Final model input calibrated with local form: 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.4327 -> 0.3705 (deboost -0.0622, 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.5662 -> 1.0000 (boost 0.4338, worse) | predicted_RBI: 0.3142 -> 0.0000 (deboost -0.3142, worse) | AB rounded to 3 (raw=3.13), rates preserved: AVG=0.231 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3099 -> 0.0000 (deboost -0.3099, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2314 -> 0.3330 (boost 0.1016, better) | predicted_SLG: 0.3705 -> 0.3330 (deboost -0.0375, 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.3705 (boost 0.0375, better) | predicted_AVG: 0.3330 -> 0.2314 (deboost -0.1016, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686681",
"player_name": "Michael Massey",
"position": "2B",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.215,
"predicted_3B": 0.0,
"predicted_AB": 3.062,
"predicted_AVG": 0.253,
"predicted_BB": 0.154,
"predicted_H": 0.73,
"predicted_HR": 0.09,
"predicted_OBP": 0.301,
"predicted_R": 0.369,
"predicted_RBI": 0.36,
"predicted_SLG": 0.473,
"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.1964,
"predicted_3B": 0.0008,
"predicted_AB": 3.127,
"predicted_AVG": 0.2531,
"predicted_BB": 0.2103,
"predicted_H": 0.7652,
"predicted_HBP": 0.003,
"predicted_HR": 0.083,
"predicted_OBP": 0.306,
"predicted_R": 0.3425,
"predicted_RBI": 0.3472,
"predicted_SLG": 0.4327,
"predicted_SO": 0.5554
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.1964,
"delta": -0.0186,
"percent_delta": -0.0865,
"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.062,
"after": 3.127,
"delta": 0.065,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2531,
"delta": 0.0001,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.2103,
"delta": 0.0563,
"percent_delta": 0.3656,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7652,
"delta": 0.0352,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.083,
"delta": -0.007,
"percent_delta": -0.0778,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.306,
"delta": 0.005,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.369,
"after": 0.3425,
"delta": -0.0265,
"percent_delta": -0.0718,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3472,
"delta": -0.0128,
"percent_delta": -0.0356,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4327,
"delta": -0.0403,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 0.5554,
"delta": 0.0174,
"percent_delta": 0.0323,
"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": 3.062,
"after": 3.127,
"delta": 0.065,
"percent_delta": 0.0212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.4327,
"delta": -0.0403,
"percent_delta": -0.0852,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"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.1964,
"predicted_3B": 0.0008,
"predicted_AB": 3.127,
"predicted_AVG": 0.2314,
"predicted_BB": 0.2062,
"predicted_H": 0.7236,
"predicted_HBP": 0.003,
"predicted_HR": 0.079,
"predicted_OBP": 0.279,
"predicted_R": 0.3099,
"predicted_RBI": 0.3142,
"predicted_SLG": 0.3705,
"predicted_SO": 0.5662
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.127,
"after": 3.127,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2531,
"after": 0.2314,
"delta": -0.0217,
"percent_delta": -0.0857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2103,
"after": 0.2062,
"delta": -0.0041,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7652,
"after": 0.7236,
"delta": -0.0416,
"percent_delta": -0.0544,
"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.083,
"after": 0.079,
"delta": -0.004,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.279,
"delta": -0.027,
"percent_delta": -0.0882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3425,
"after": 0.3099,
"delta": -0.0326,
"percent_delta": -0.0952,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3472,
"after": 0.3142,
"delta": -0.033,
"percent_delta": -0.095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4327,
"after": 0.3705,
"delta": -0.0622,
"percent_delta": -0.1437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5554,
"after": 0.5662,
"delta": 0.0108,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4327,
"after": 0.3705,
"delta": -0.0622,
"percent_delta": -0.1437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.13), rates preserved: AVG=0.231 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.1964,
"after": 0.0,
"delta": -0.1964,
"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.127,
"after": 3.0,
"delta": -0.127,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2062,
"after": 0.0,
"delta": -0.2062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7236,
"after": 1.0,
"delta": 0.2764,
"percent_delta": 0.382,
"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.079,
"after": 0.0,
"delta": -0.079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3142,
"after": 0.0,
"delta": -0.3142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5662,
"after": 1.0,
"delta": 0.4338,
"percent_delta": 0.7662,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5662,
"after": 1.0,
"delta": 0.4338,
"percent_delta": 0.7662,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3142,
"after": 0.0,
"delta": -0.3142,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3099,
"after": 0.0,
"delta": -0.3099,
"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.3099,
"after": 0.0,
"delta": -0.3099,
"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.2314,
"after": 0.333,
"delta": 0.1016,
"percent_delta": 0.4391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.333,
"delta": 0.054,
"percent_delta": 0.1935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3705,
"after": 0.333,
"delta": -0.0375,
"percent_delta": -0.1012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2314,
"after": 0.333,
"delta": 0.1016,
"percent_delta": 0.4391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3705,
"after": 0.333,
"delta": -0.0375,
"percent_delta": -0.1012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"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.2314,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.279,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3705,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2314,
"delta": -0.1016,
"percent_delta": -0.305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.279,
"delta": -0.054,
"percent_delta": -0.1623,
"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.3705,
"delta": 0.0375,
"percent_delta": 0.1126,
"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.3705,
"delta": 0.0375,
"percent_delta": 0.1126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2314,
"delta": -0.1016,
"percent_delta": -0.305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.215,
"after": 0.0,
"delta": -0.215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.062,
"after": 4.0,
"delta": 0.938,
"percent_delta": 0.3063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2314,
"delta": -0.0216,
"percent_delta": -0.0854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.279,
"delta": -0.022,
"percent_delta": -0.0731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.369,
"after": 0.0,
"delta": -0.369,
"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.473,
"after": 0.3705,
"delta": -0.1025,
"percent_delta": -0.2167,
"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": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.062,
"after": 4.0,
"delta": 0.938,
"percent_delta": 0.3063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.215 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.062 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.154 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.369 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.473 | - |
| 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.196 | -0.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.127 | 0.065 |
| predicted_AVG | 0.253 | 0.000 |
| predicted_BB | 0.210 | 0.056 |
| predicted_H | 0.765 | 0.035 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.083 | -0.007 |
| predicted_OBP | 0.306 | 0.005 |
| predicted_R | 0.343 | -0.026 |
| predicted_RBI | 0.347 | -0.013 |
| predicted_SLG | 0.433 | -0.040 |
| predicted_SO | 0.555 | 0.017 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.196 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.127 | 0.000 |
| predicted_AVG | 0.231 | -0.022 |
| predicted_BB | 0.206 | -0.004 |
| predicted_H | 0.724 | -0.042 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.079 | -0.004 |
| predicted_OBP | 0.279 | -0.027 |
| predicted_R | 0.310 | -0.033 |
| predicted_RBI | 0.314 | -0.033 |
| predicted_SLG | 0.370 | -0.062 |
| predicted_SO | 0.566 | 0.011 |
AB rounded to 3 (raw=3.13), rates preserved: AVG=0.231 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.196 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.127 |
| predicted_AVG | 0.333 | 0.102 |
| predicted_BB | 0.000 | -0.206 |
| predicted_H | 1.000 | 0.276 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.333 | 0.054 |
| predicted_R | 0.000 | -0.310 |
| predicted_RBI | 0.000 | -0.314 |
| predicted_SLG | 0.333 | -0.037 |
| predicted_SO | 1.000 | 0.434 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 0.2000 | 0.3333 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 2.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 5.000 | 0.2857 | 0.3590 | 0.3429 | 0.2857 | 0.0000 | 0.0857 | 0.1143 | 0.1429 |
| season | 0.60 | 65 | - | 199.000 | 52.000 | 14.000 | 0.000 | 7.000 | 27.000 | 24.000 | 10.000 | 35.000 | 0.2613 | 0.2925 | 0.4372 | 0.2613 | 0.0352 | 0.1357 | 0.0503 | 0.1759 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1700 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2190 |
| predicted_AVG | 0.2532 |
| predicted_BB | 0.2900 |
| predicted_H | 0.8150 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.3130 |
| predicted_R | 0.3050 |
| predicted_RBI | 0.3290 |
| predicted_SLG | 0.3755 |
| predicted_SO | 0.5800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2150 | 0.1700 | 0.1964 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0620 | 3.2190 | 3.1270 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2532 | 0.2531 | model_form_blend |
| predicted_BB | 0.1540 | 0.2900 | 0.2103 | model_form_blend |
| predicted_H | 0.7300 | 0.8150 | 0.7652 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0900 | 0.0730 | 0.0830 | model_form_blend |
| predicted_OBP | 0.3010 | 0.3130 | 0.3060 | model_form_blend |
| predicted_R | 0.3690 | 0.3050 | 0.3425 | model_form_blend |
| predicted_RBI | 0.3600 | 0.3290 | 0.3472 | model_form_blend |
| predicted_SLG | 0.4730 | 0.3755 | 0.4327 | model_form_blend |
| predicted_SO | 0.5380 | 0.5800 | 0.5554 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.261 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 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 | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260701_TB@KC |
| game_type | full |
| mlbID | 686681 |
| playerID | 686681 |
| playerName | Michael Massey |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-01 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 4.7 |
| sl_woba | 0.314 |
| sl_xwoba | 0.299 |
| sl_xba | 0.239 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 40.2 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 52.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.100 | 0.000 | 0.000 | Hitting_2B | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.300 | 3.000 | 3.000 | Hitting_AB | 2.357 | 1.000 | 0.643 | 2.000 |
| predicted_AVG | 0.263 | 0.000 | 0.333 | Hitting_AVG | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_BB | 0.100 | 0.000 | 0.000 | Hitting_BB | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_H | 0.240 | 0.000 | 1.000 | Hitting_H | 0.643 | 0.000 | -0.643 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.263 | 0.250 | 0.333 | Hitting_OBP | 0.294 | 0.000 | -0.044 | 0.250 |
| predicted_R | 0.100 | 0.000 | 0.000 | Hitting_R | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_SLG | 0.416 | 0.000 | 0.333 | Hitting_SLG | 0.303 | 0.000 | -0.303 | 0.000 |
| predicted_SO | 1.300 | 1.000 | 1.000 | Hitting_SO | 0.929 | 0.000 | 0.071 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_AB: 3.3000 -> 3.0000 (deboost -0.3000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 4 | 3 | 5 | 2 | predicted_H: 0.2400 -> 0.4271 (boost 0.1871, better) | predicted_SO: 1.3000 -> 1.2487 (deboost -0.0513, better) | Final model input calibrated with local form: 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.3905 -> 0.1890 (deboost -0.2015, 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.4039 -> 0.0000 (deboost -0.4039, worse) | AB rounded to 3 (raw=3.38), rates preserved: AVG=0.119 HR/AB=0.011 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.1485 -> 0.0000 (deboost -0.1485, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1194 -> 0.3330 (boost 0.2136, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1194 (deboost -0.2136, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670224",
"player_name": "Kameron Misner",
"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.1,
"predicted_3B": 0.0,
"predicted_AB": 3.3,
"predicted_AVG": 0.263,
"predicted_BB": 0.1,
"predicted_H": 0.24,
"predicted_HR": 0.03,
"predicted_OBP": 0.263,
"predicted_R": 0.1,
"predicted_RBI": 0.16,
"predicted_SLG": 0.416,
"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.12,
"predicted_3B": 0.0022,
"predicted_AB": 3.3817,
"predicted_AVG": 0.2544,
"predicted_BB": 0.1144,
"predicted_H": 0.4271,
"predicted_HBP": 0.014,
"predicted_HR": 0.0388,
"predicted_OBP": 0.2647,
"predicted_R": 0.1641,
"predicted_RBI": 0.2298,
"predicted_SLG": 0.3905,
"predicted_SO": 1.2487
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1,
"after": 0.12,
"delta": 0.02,
"percent_delta": 0.2,
"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.3,
"after": 3.3817,
"delta": 0.0817,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2544,
"delta": -0.0086,
"percent_delta": -0.0327,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1,
"after": 0.1144,
"delta": 0.0144,
"percent_delta": 0.144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.4271,
"delta": 0.1871,
"percent_delta": 0.7796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0388,
"delta": 0.0088,
"percent_delta": 0.2933,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.2647,
"delta": 0.0017,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.1,
"after": 0.1641,
"delta": 0.0641,
"percent_delta": 0.641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.2298,
"delta": 0.0698,
"percent_delta": 0.4362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.3905,
"delta": -0.0255,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3,
"after": 1.2487,
"delta": -0.0513,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.24,
"after": 0.4271,
"delta": 0.1871,
"percent_delta": 0.7796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3,
"after": 1.2487,
"delta": -0.0513,
"percent_delta": -0.0395,
"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.12,
"predicted_3B": 0.0022,
"predicted_AB": 3.3817,
"predicted_AVG": 0.1194,
"predicted_BB": 0.1122,
"predicted_H": 0.4039,
"predicted_HBP": 0.014,
"predicted_HR": 0.0369,
"predicted_OBP": 0.1477,
"predicted_R": 0.1485,
"predicted_RBI": 0.2079,
"predicted_SLG": 0.189,
"predicted_SO": 1.273
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.12,
"after": 0.12,
"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.3817,
"after": 3.3817,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2544,
"after": 0.1194,
"delta": -0.135,
"percent_delta": -0.5307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1144,
"after": 0.1122,
"delta": -0.0022,
"percent_delta": -0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4271,
"after": 0.4039,
"delta": -0.0232,
"percent_delta": -0.0543,
"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.0388,
"after": 0.0369,
"delta": -0.0019,
"percent_delta": -0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2647,
"after": 0.1477,
"delta": -0.117,
"percent_delta": -0.442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1641,
"after": 0.1485,
"delta": -0.0156,
"percent_delta": -0.0951,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2298,
"after": 0.2079,
"delta": -0.0219,
"percent_delta": -0.0953,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3905,
"after": 0.189,
"delta": -0.2015,
"percent_delta": -0.516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2487,
"after": 1.273,
"delta": 0.0243,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3905,
"after": 0.189,
"delta": -0.2015,
"percent_delta": -0.516,
"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.119 HR/AB=0.011",
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0022,
"after": 0.0,
"delta": -0.0022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3817,
"after": 3.0,
"delta": -0.3817,
"percent_delta": -0.1129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1122,
"after": 0.0,
"delta": -0.1122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4039,
"after": 0.0,
"delta": -0.4039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0369,
"after": 0.0,
"delta": -0.0369,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2079,
"after": 0.0,
"delta": -0.2079,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.273,
"after": 1.0,
"delta": -0.273,
"percent_delta": -0.2145,
"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.4039,
"after": 0.0,
"delta": -0.4039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.1485,
"after": 0.0,
"delta": -0.1485,
"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.1485,
"after": 0.0,
"delta": -0.1485,
"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.1194,
"after": 0.333,
"delta": 0.2136,
"percent_delta": 1.7889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.1477,
"after": 0.333,
"delta": 0.1853,
"percent_delta": 1.2546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.189,
"after": 0.333,
"delta": 0.144,
"percent_delta": 0.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1194,
"after": 0.333,
"delta": 0.2136,
"percent_delta": 1.7889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1194,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1477,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.189,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.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.1194,
"delta": -0.2136,
"percent_delta": -0.6413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"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.1477,
"delta": -0.1853,
"percent_delta": -0.5564,
"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.189,
"delta": -0.144,
"percent_delta": -0.4325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.1194,
"delta": -0.2136,
"percent_delta": -0.6413,
"direction": "deboost",
"projection_effect": "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.3,
"after": 3.0,
"delta": -0.3,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.1194,
"delta": -0.1436,
"percent_delta": -0.546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.263,
"after": 0.1477,
"delta": -0.1153,
"percent_delta": -0.4384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"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.416,
"after": 0.189,
"delta": -0.227,
"percent_delta": -0.5457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3,
"after": 1.0,
"delta": -0.3,
"percent_delta": -0.2308,
"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_AB",
"before": 3.3,
"after": 3.0,
"delta": -0.3,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.300 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.100 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.263 | - |
| predicted_R | 0.100 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.416 | - |
| 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.120 | 0.020 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.382 | 0.082 |
| predicted_AVG | 0.254 | -0.009 |
| predicted_BB | 0.114 | 0.014 |
| predicted_H | 0.427 | 0.187 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.039 | 0.009 |
| predicted_OBP | 0.265 | 0.002 |
| predicted_R | 0.164 | 0.064 |
| predicted_RBI | 0.230 | 0.070 |
| predicted_SLG | 0.391 | -0.025 |
| predicted_SO | 1.249 | -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.120 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.382 | 0.000 |
| predicted_AVG | 0.119 | -0.135 |
| predicted_BB | 0.112 | -0.002 |
| predicted_H | 0.404 | -0.023 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.037 | -0.002 |
| predicted_OBP | 0.148 | -0.117 |
| predicted_R | 0.148 | -0.016 |
| predicted_RBI | 0.208 | -0.022 |
| predicted_SLG | 0.189 | -0.202 |
| predicted_SO | 1.273 | 0.024 |
AB rounded to 3 (raw=3.38), rates preserved: AVG=0.119 HR/AB=0.011
| 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.120 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.382 |
| predicted_AVG | 0.333 | 0.214 |
| predicted_BB | 0.000 | -0.112 |
| predicted_H | 1.000 | 0.596 |
| predicted_HR | 0.000 | -0.037 |
| predicted_OBP | 0.333 | 0.185 |
| predicted_R | 0.000 | -0.148 |
| predicted_RBI | 0.000 | -0.208 |
| predicted_SLG | 0.333 | 0.144 |
| 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 | 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 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 7.000 | 0.1765 | 0.1765 | 0.2353 | 0.1765 | 0.0000 | 0.0588 | 0.0000 | 0.4118 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 1.000 | 0.000 | 0.000 | 4.000 | 1.000 | 1.000 | 13.000 | 0.2727 | 0.2941 | 0.3030 | 0.2727 | 0.0000 | 0.1212 | 0.0303 | 0.3939 |
| season | 0.60 | 10 | - | 33.000 | 9.000 | 1.000 | 0.000 | 0.000 | 4.000 | 1.000 | 1.000 | 13.000 | 0.2727 | 0.2941 | 0.3030 | 0.2727 | 0.0000 | 0.1212 | 0.0303 | 0.3939 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.5610 |
| predicted_AVG | 0.2354 |
| predicted_BB | 0.1460 |
| predicted_H | 0.8380 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0580 |
| predicted_OBP | 0.2684 |
| predicted_R | 0.3050 |
| predicted_RBI | 0.3830 |
| predicted_SLG | 0.3344 |
| predicted_SO | 1.1360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1000 | 0.1640 | 0.1200 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0022 | model_form_blend |
| predicted_AB | 3.3000 | 3.5610 | 3.3817 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2354 | 0.2544 | model_form_blend |
| predicted_BB | 0.1000 | 0.1460 | 0.1144 | model_form_blend |
| predicted_H | 0.2400 | 0.8380 | 0.4271 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.0300 | 0.0580 | 0.0388 | model_form_blend |
| predicted_OBP | 0.2630 | 0.2684 | 0.2647 | model_form_blend |
| predicted_R | 0.1000 | 0.3050 | 0.1641 | model_form_blend |
| predicted_RBI | 0.1600 | 0.3830 | 0.2298 | model_form_blend |
| predicted_SLG | 0.4160 | 0.3344 | 0.3905 | model_form_blend |
| predicted_SO | 1.3000 | 1.1360 | 1.2487 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| 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 | 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 | 4 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260701_TB@KC |
| game_type | ph |
| mlbID | 670224 |
| note | Reached on a fielder's choice for Marte, S in the 9th. |
| playerID | 670224 |
| playerName | Kameron Misner |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | KC |
| teamID | 12 |
| game_date | 2026-07-01 |
| sl_k_percent | 37.1 |
| sl_bb_percent | 2.9 |
| sl_woba | 0.267 |
| sl_xwoba | 0.225 |
| sl_xba | 0.211 |
| sl_xslg | 0.275 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 19.0 |
| sl_exit_velocity_avg | 80.5 |
| sl_launch_angle_avg | 18.0 |
| sl_whiff_percent | 32.5 |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.222 | 1.000 | -0.222 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.667 | 9.000 | -0.667 | -7.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.667 | 9.000 | 1.333 | -2.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.622 | 1.200 | -0.522 | 3.900 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 3.778 | 0.000 | 3.222 | 7.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663568",
"player_name": "Stephen Kolek",
"position": "Starter",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 2.0,
"predicted_SO": 7.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": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 7.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 26.000 | 16.000 | 34.000 | 6.000 | 20.000 | 5.000 | 5.5385 | 1.5385 | 0.6154 | 1.3077 | 0.2308 | 0.7692 | 0.1923 |
| last_10 | 0.35 | 9 | 52.000 | 24.000 | 51.000 | 11.000 | 34.000 | 8.000 | 4.1538 | 1.1923 | 0.4615 | 0.9808 | 0.2115 | 0.6539 | 0.1538 |
| season | 0.20 | 9 | 52.000 | 24.000 | 51.000 | 11.000 | 34.000 | 8.000 | 4.1538 | 1.1923 | 0.4615 | 0.9808 | 0.2115 | 0.6539 | 0.1538 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4690 |
| predicted_ER | 2.8990 |
| predicted_ERA | 4.8186 |
| predicted_H | 5.9830 |
| predicted_HR | 0.9020 |
| predicted_IP | 5.1000 |
| predicted_SO | 4.3680 |
| predicted_WHIP | 1.3761 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4690 | 1.2341 | model_form_blend |
| predicted_ER | 2.0000 | 2.8990 | 2.4487 | model_form_blend |
| predicted_ERA | - | 4.8186 | 4.8186 | form_only |
| predicted_H | 7.0000 | 5.9830 | 6.4924 | model_form_blend |
| predicted_HR | 0.0000 | 0.9020 | 0.4502 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 7.0000 | 4.3680 | 5.6863 | model_form_blend |
| predicted_WHIP | - | 1.3761 | 1.3761 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 9 |
| Season rows before report date | 9 |
| Report year | 2026 |
| Profile rows used | 9 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 7 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 7 |
| HR | 0 |
| 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 | 15 |
| Pitching_ER | 9 |
| Pitching_ERA | 4.15 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 9 |
| Pitching_HBP | 1 |
| Pitching_HR | 3 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 49 |
| Pitching_R | 9 |
| Pitching_SO | 0 |
| Pitching_Strikes | 30 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260621_STL@KC |
| game_type | full |
| mlbID | 663568 |
| playerID | 663568 |
| playerName | Stephen Kolek |
| pos | P |
| started | True |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-21 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.321 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 38.6 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 48.3 |
| sl_avg_best_speed | 77.812441829 |
| sl_avg_hyper_speed | 94.035643988 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.571 | 0.000 | -0.571 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.943 | 0.000 | 0.057 | 1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.951 | 1.000 | 0.249 | 0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.057 | 0.000 | 0.943 | 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": "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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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 | 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 | 3.200 | 5.000 | 5.000 | 2.000 | 2.000 | 0.000 | 12.2727 | 1.9091 | 1.3636 | 1.3636 | 0.5454 | 0.5454 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 10.000 | 7.000 | 9.000 | 0.000 | 6.7500 | 1.8214 | 0.7500 | 1.0714 | 0.7500 | 0.9643 | 0.0000 |
| season | 0.20 | 35 | 36.100 | 20.000 | 33.000 | 21.000 | 37.000 | 2.000 | 4.9541 | 1.4862 | 0.5505 | 0.9083 | 0.5780 | 1.0184 | 0.0551 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4690 |
| predicted_ER | 0.7160 |
| predicted_ERA | 7.0740 |
| predicted_H | 0.9900 |
| predicted_HR | 0.0610 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7790 |
| predicted_WHIP | 1.6008 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4690 | 0.2236 | model_form_blend |
| predicted_ER | 0.0000 | 0.7160 | 0.3414 | model_form_blend |
| predicted_ERA | - | 7.0740 | 7.0740 | form_only |
| predicted_H | 1.0000 | 0.9900 | 0.9952 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0291 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7790 | 1.4178 | model_form_blend |
| predicted_WHIP | - | 1.6008 | 1.6008 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.95 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260628_KC@CHW |
| game_type | full |
| mlbID | 656638 |
| playerID | 656638 |
| playerName | Alex Lange |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-28 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.332 |
| sl_xwoba | 0.335 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 42.4 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 45.5 |
| sl_avg_best_speed | 79.991999796 |
| sl_avg_hyper_speed | 94.884686633 |
| 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.314 | 0.000 | 0.686 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.686 | 3.000 | -0.686 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.851 | 0.100 | 0.149 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.857 | 0.000 | -0.857 | 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": "663738",
"player_name": "Daniel Lynch IV",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 4.000 | 4.000 | 6.000 | 2.000 | 1.000 | 1.000 | 9.0000 | 2.0000 | 1.0000 | 1.5000 | 0.5000 | 0.2500 | 0.2500 |
| last_10 | 0.35 | 10 | 8.200 | 5.000 | 7.000 | 3.000 | 1.000 | 1.000 | 5.1923 | 1.1538 | 0.5769 | 0.8077 | 0.3462 | 0.1154 | 0.1154 |
| season | 0.20 | 35 | 34.000 | 10.000 | 24.000 | 11.000 | 30.000 | 2.000 | 2.6471 | 1.0294 | 0.2941 | 0.7059 | 0.3235 | 0.8823 | 0.0588 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3550 |
| predicted_ER | 0.5670 |
| predicted_ERA | 5.5798 |
| predicted_H | 0.9520 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.5440 |
| predicted_WHIP | 1.4301 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3550 | 0.6968 | model_form_blend |
| predicted_ER | 0.0000 | 0.5670 | 0.2665 | model_form_blend |
| predicted_ERA | - | 5.5798 | 5.5798 | form_only |
| predicted_H | 0.0000 | 0.9520 | 0.4475 | model_form_blend |
| predicted_HR | 0.0000 | 0.1440 | 0.0677 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.5440 | 0.2557 | model_form_blend |
| predicted_WHIP | - | 1.4301 | 1.4301 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 35 |
| Season rows before report date | 35 |
| Report year | 2026 |
| Profile rows used | 35 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.65 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 12 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260627_KC@CHW |
| 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-27 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.258 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 34.0 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 75.02903625 |
| sl_avg_hyper_speed | 93.6082 |
| 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.588 | 0.000 | -0.588 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.559 | 0.000 | 1.441 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.059 | 0.000 | 0.941 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.906 | 1.000 | 0.094 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.735 | 0.000 | -0.735 | 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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.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 | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 2.000 | 4.000 | 1.000 | 2.000 | 1.000 | 3.3750 | 0.9375 | 0.3750 | 0.7500 | 0.1875 | 0.3750 | 0.1875 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 7.000 | 5.000 | 5.000 | 1.000 | 2.6129 | 1.1613 | 0.2903 | 0.6774 | 0.4839 | 0.4839 | 0.0968 |
| season | 0.20 | 33 | 32.200 | 16.000 | 31.000 | 20.000 | 25.000 | 2.000 | 4.4082 | 1.5612 | 0.4898 | 0.9490 | 0.6122 | 0.7653 | 0.0612 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3680 |
| predicted_ER | 0.4250 |
| predicted_ERA | 3.8219 |
| predicted_H | 0.8520 |
| predicted_HR | 0.1380 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6930 |
| predicted_WHIP | 1.2200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3680 | 0.1715 | model_form_blend |
| predicted_ER | 2.0000 | 0.4250 | 1.2662 | model_form_blend |
| predicted_ERA | - | 3.8219 | 3.8219 | form_only |
| predicted_H | 2.0000 | 0.8520 | 1.4651 | model_form_blend |
| predicted_HR | 1.0000 | 0.1380 | 0.5984 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6930 | 0.3229 | model_form_blend |
| predicted_WHIP | - | 1.2200 | 1.2200 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% 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 | 1.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.23 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260630_TB@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-30 |
| sl_k_percent | 17.0 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.37 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 42.0 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 46.1 |
| sl_avg_best_speed | 73.6973092 |
| sl_avg_hyper_speed | 94.360419596 |